mcpengine/servers/wrike/README.md
Jake Shore fdfbc4017e Wrike MCP: Complete rebuild with 60+ tools and 22 React apps
- API Client: Full Wrike API v4 with OAuth2/token auth, pagination, error handling
- 60+ Tools across 14 categories: tasks, folders, projects, spaces, contacts, comments, timelogs, attachments, workflows, custom-fields, approvals, groups, invitations, webhooks
- 22 React Apps: task-dashboard, task-detail, task-grid, task-board, project-dashboard, project-detail, project-grid, folder-tree, space-overview, gantt-view, time-dashboard, time-entries, member-workload, comment-thread, approval-manager, workflow-editor, custom-fields-manager, attachment-gallery, search-results, activity-feed, sprint-board, reports-dashboard
- All apps: dark theme, client-side state, standalone directories
- Full TypeScript types for all Wrike API entities
- Comprehensive README with setup instructions

Replaces single-file stub with production-ready MCP server
2026-02-12 17:18:32 -05:00

263 lines
7.5 KiB
Markdown

# Wrike MCP Server
A complete Model Context Protocol (MCP) server for Wrike API v4, providing 60+ tools and 22 React-based UI apps for comprehensive project management integration.
## Features
### 60+ MCP Tools
**Tasks (9 tools)**
- `wrike_list_tasks` - List tasks with filters
- `wrike_get_task` - Get task details
- `wrike_create_task` - Create new task
- `wrike_update_task` - Update task
- `wrike_delete_task` - Delete task
- `wrike_list_subtasks` - List subtasks
- `wrike_create_subtask` - Create subtask
- `wrike_list_dependencies` - List task dependencies
- `wrike_add_dependency` - Add task dependency
**Folders (7 tools)**
- `wrike_list_folders` - List folders
- `wrike_get_folder` - Get folder details
- `wrike_create_folder` - Create folder
- `wrike_update_folder` - Update folder
- `wrike_delete_folder` - Delete folder
- `wrike_list_folder_tasks` - List tasks in folder
- `wrike_copy_folder` - Copy folder
**Projects (6 tools)**
- `wrike_list_projects` - List projects
- `wrike_get_project` - Get project details
- `wrike_create_project` - Create project
- `wrike_update_project` - Update project
- `wrike_delete_project` - Delete project
- `wrike_list_project_tasks` - List project tasks
**Spaces (5 tools)**
- `wrike_list_spaces` - List spaces
- `wrike_get_space` - Get space details
- `wrike_create_space` - Create space
- `wrike_update_space` - Update space
- `wrike_delete_space` - Delete space
**Contacts (3 tools)**
- `wrike_list_contacts` - List contacts/users
- `wrike_get_contact` - Get contact details
- `wrike_update_contact` - Update contact
**Comments (5 tools)**
- `wrike_list_comments` - List comments
- `wrike_get_comment` - Get comment
- `wrike_create_comment` - Create comment
- `wrike_update_comment` - Update comment
- `wrike_delete_comment` - Delete comment
**Timelogs (5 tools)**
- `wrike_list_timelogs` - List time logs
- `wrike_get_timelog` - Get timelog
- `wrike_create_timelog` - Create timelog
- `wrike_update_timelog` - Update timelog
- `wrike_delete_timelog` - Delete timelog
**Attachments (4 tools)**
- `wrike_list_attachments` - List attachments
- `wrike_get_attachment` - Get attachment details
- `wrike_download_attachment` - Download attachment
- `wrike_delete_attachment` - Delete attachment
**Workflows (4 tools)**
- `wrike_list_workflows` - List workflows
- `wrike_get_workflow` - Get workflow
- `wrike_create_workflow` - Create workflow
- `wrike_update_workflow` - Update workflow
**Custom Fields (4 tools)**
- `wrike_list_custom_fields` - List custom fields
- `wrike_get_custom_field` - Get custom field
- `wrike_create_custom_field` - Create custom field
- `wrike_update_custom_field` - Update custom field
**Approvals (5 tools)**
- `wrike_list_approvals` - List approvals
- `wrike_get_approval` - Get approval
- `wrike_create_approval` - Create approval
- `wrike_update_approval` - Update approval
- `wrike_delete_approval` - Delete approval
**Groups (5 tools)**
- `wrike_list_groups` - List groups
- `wrike_get_group` - Get group
- `wrike_create_group` - Create group
- `wrike_update_group` - Update group
- `wrike_delete_group` - Delete group
**Invitations (4 tools)**
- `wrike_list_invitations` - List invitations
- `wrike_create_invitation` - Create invitation
- `wrike_update_invitation` - Update invitation
- `wrike_delete_invitation` - Delete invitation
**Webhooks (4 tools)**
- `wrike_list_webhooks` - List webhooks
- `wrike_create_webhook` - Create webhook
- `wrike_update_webhook` - Update webhook
- `wrike_delete_webhook` - Delete webhook
### 22 React MCP Apps
All apps feature dark theme and client-side state management:
1. **task-dashboard** - Overview of all tasks with filters
2. **task-detail** - Detailed task view and editor
3. **task-grid** - Tabular task view
4. **task-board** - Kanban-style task board
5. **project-dashboard** - Project overview with status
6. **project-detail** - Detailed project view
7. **project-grid** - Tabular project view
8. **folder-tree** - Hierarchical folder navigation
9. **space-overview** - Space management dashboard
10. **gantt-view** - Timeline/Gantt visualization
11. **time-dashboard** - Time tracking overview
12. **time-entries** - Create time log entries
13. **member-workload** - Team member workload view
14. **comment-thread** - Task comment threads
15. **approval-manager** - Approval requests manager
16. **workflow-editor** - Workflow configuration
17. **custom-fields-manager** - Custom field management
18. **attachment-gallery** - File attachment gallery
19. **search-results** - Search tasks and folders
20. **activity-feed** - Recent activity stream
21. **sprint-board** - Sprint planning board
22. **reports-dashboard** - Analytics and reports
## Installation
```bash
npm install
npm run build
```
## Configuration
Set your Wrike API token as an environment variable:
```bash
export WRIKE_API_TOKEN="your-api-token-here"
```
You can get a permanent API token from your Wrike account:
1. Go to Apps & Integrations
2. Click on API
3. Create a new permanent token
## Usage
### As MCP Server
Add to your MCP client configuration:
```json
{
"mcpServers": {
"wrike": {
"command": "node",
"args": ["/path/to/wrike-mcp-server/dist/main.js"],
"env": {
"WRIKE_API_TOKEN": "your-api-token"
}
}
}
}
```
### Standalone
```bash
npm start
```
## Architecture
```
wrike/
├── src/
│ ├── clients/
│ │ └── wrike.ts # Wrike API client
│ ├── tools/
│ │ ├── tasks-tools.ts # Task management tools
│ │ ├── folders-tools.ts # Folder tools
│ │ ├── projects-tools.ts # Project tools
│ │ ├── spaces-tools.ts # Space tools
│ │ ├── contacts-tools.ts # Contact tools
│ │ ├── comments-tools.ts # Comment tools
│ │ ├── timelogs-tools.ts # Time tracking tools
│ │ ├── attachments-tools.ts # Attachment tools
│ │ ├── workflows-tools.ts # Workflow tools
│ │ ├── custom-fields-tools.ts # Custom field tools
│ │ ├── approvals-tools.ts # Approval tools
│ │ ├── groups-tools.ts # Group tools
│ │ ├── invitations-tools.ts # Invitation tools
│ │ └── webhooks-tools.ts # Webhook tools
│ ├── types/
│ │ └── wrike.ts # TypeScript type definitions
│ ├── ui/
│ │ └── react-app/ # 22 React MCP apps
│ ├── server.ts # MCP server implementation
│ └── main.ts # Entry point
├── package.json
├── tsconfig.json
└── README.md
```
## API Coverage
This server implements the complete Wrike API v4:
- ✅ Tasks & Subtasks
- ✅ Folders & Projects
- ✅ Spaces
- ✅ Contacts & Groups
- ✅ Comments
- ✅ Time Tracking
- ✅ Attachments
- ✅ Workflows & Custom Statuses
- ✅ Custom Fields
- ✅ Approvals
- ✅ Invitations
- ✅ Webhooks
- ✅ Dependencies
## Authentication
Supports both:
- **OAuth2 Bearer Token** - For user-specific access
- **Permanent API Token** - For service accounts and automation
## Error Handling
The server includes comprehensive error handling:
- API request failures
- Rate limiting
- Invalid parameters
- Network errors
- Authentication errors
## Contributing
Contributions welcome! Please ensure:
- TypeScript types are complete
- Tools follow MCP standards
- React apps maintain dark theme
- Error handling is comprehensive
## License
MIT
## Resources
- [Wrike API Documentation](https://developers.wrike.com/api/v4/)
- [Model Context Protocol](https://modelcontextprotocol.io/)
- [MCP SDK](https://github.com/modelcontextprotocol/sdk)