---
title: "Wrike MCP server for AI agents - actionlake"
description: "Give Claude 205 Wrike actions through one MCP server: folders, tasks, spaces, workschedules. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/wrike
updated: 2026-09-24
---

Connectors · Work & projects

# Wrike MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Wrike and the rest of your systems. It gives your agent 205 Wrike actions (102 reads, 78 writes and 25 that wait for a confirmation) and holds the Wrike credential itself, so the agent never does. It paces Wrike's limits and records every call.

[Connect Wrike free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "wrike.tasks.get_tasks_account",
  intent: "check which Wrike account is connected"
}
# Get Tasks (Account) · read · 1 upstream call
```

- 205 actions in one signed file
- 102 read look, never change
- 78 write create and update
- 25 wait for a yes destructive, confirmed first

Set up

## Connect Wrike in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Wrike.
   Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `access_token` Wrike OAuth 2.0 access token or permanent access token
   - `host` Where your Wrike lives: your host
   ```
   account { op: "connections.requirements", service: "wrike" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "wrike.tasks.get_tasks_account" }
   # get tasks (account) · read · 1 upstream call
   check { action: "wrike.folders.create_task_folder", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Wrike at a glance

**Sign-in**

Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`access_token`

**Setup fields**

`host`

**Limits we pace to**

100 calls a minute, per connection

**API covered**

Wrike API 4, at your Wrike instance's API base URL, which you enter when connecting (path /api/v4)

**Built from**

Wrike's documentation, read 19 September 2026[developers.wrike.com](https://developers.wrike.com/llms.txt)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

102 of 102 reads, for up to an hour; a write clears what it affects

**Ready-made plans**

9 in the store

**Shared entities**

7, so ask can line Wrike up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Wrike.

205 actions in 50 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **102** read look, never change
- **78** write create and update
- **25** destructive wait for a confirmation

1. ### Folders
   30
   13 read · 13 write · 4 destructive
   Create Task (Folder) · Get Tasks (Folder) · Get Timelogs (Folder) · Get Folders (Account)
2. ### Tasks
   21
   10 read · 9 write · 2 destructive
   Get Tasks (Account) · Get Timelogs (Task) · Create Timelog · Get Tasks By IDs
3. ### Spaces
   17
   11 read · 4 write · 2 destructive
   Get Tasks (Space) · Get Folders (Space) · Get Spaces (Account) · Create Space
4. ### Workschedules
   12
   5 read · 6 write · 1 destructive
   Get Timesheet Submission Rules (Work Schedule) · Get Work Schedule Exceptions (Work Schedule) · Query Work Schedules · Query Work Schedules
5. ### Contacts
   7
   5 read · 2 write · 0 destructive
   Query Contacts · Get Timelogs (User) · Query Contacts · Modify Contact
6. ### Attachments
   5
   3 read · 1 write · 1 destructive
   Get Attachments (Account) · Get Attachments By ID · Delete Attachment · Update Attachment
7. ### Groups
   5
   2 read · 2 write · 1 destructive
   Query Groups · Query Groups · Create Groups · Modify Groups
8. ### Jobroles
   5
   2 read · 2 write · 1 destructive
   Get Job Roles (Account) · Create Job Role · Get Job Roles By ID · Update Job Role

**42 more areas · 103 actions**

- User schedule exclusions **5**
- User schedule partial exclusion **5**
- Webhooks **5**
- Approvals **4**
- Bookings **4**
- Comments **4**
- Customfields **4**
- Invitations **4**
- Request forms **4**
- Timelogs **4**
- User schedule capacity change **4**
- Users **4**
- Assets **3**
- Custom item types **3**
- Data export **3**
- Dependencies **3**
- Placeholders **3**
- Timesheets **3**
- Workflows **3**
- Workschedule capacity change **3**
- Workschedule exclusions **3**
- Account **2**
- Folder blueprints **2**
- Task blueprints **2**
- Timelog categories **2**
- Access roles **1**
- Async job **1**
- Audit log **1**
- Batch **1**
- Colors **1**
- Copy folder **1**
- Copy folder async **1**
- Data export schema **1**
- Ediscovery search **1**
- Groups bulk **1**
- Hourly rates **1**
- Ids **1**
- Timesheet rows **1**
- Timesheet submission rules **1**
- User types **1**
- Version **1**
- Whiteboard ids **1**

Top actions

## The Wrike API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 122 of Wrike's 123 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `wrike.tasks.get_tasks_account` Get Tasks (Account) | Get Tasks (Account) | read | `work.task.list` 122 connectors |
| `wrike.timelogs.get_timelogs_account` Get Timelogs (Account) | Get Timelogs (Account) | read | `work.time_entry.list` 59 connectors |
| `wrike.contacts.query_contacts` Query Contacts | Query Contacts | read | `identity.user.list` 474 connectors |
| `wrike.comments.get_comments_account` Get Comments (Account) | Get Comments (Account) | read | `work.task_comment.list` 27 connectors |
| `wrike.folders.create_task_folder` Create Task (Folder) | Create Task (Folder) | write | `work.task.create` 127 connectors |
| `wrike.groups.query_groups` Query Groups | Query Groups | read | `identity.group.list` 262 connectors |
| `wrike.tasks.get_timelogs_task` Get Timelogs (Task) | Get Timelogs (Task) | read | `work.time_entry.list` 59 connectors |
| `wrike.folders.get_folders_account` Get Folders (Account) | Get Folders (Account) | read | `work.folder.list` 9 connectors |
| `wrike.contacts.query_contacts_2` Query Contacts | Query Contacts | read | `identity.user.list` 474 connectors |
| `wrike.tasks.create_comment_task` Create Comment (Task) | Create Comment (Task) | write | `work.task_comment.create` 28 connectors |
| `wrike.tasks.delete_tasks_by_id` Delete Tasks By ID | Delete Tasks By ID | destructive | `work.task.delete` 107 connectors |
| `wrike.folders.create_folder` Create Folder | Create Folder | write | `work.folder.create` 9 connectors |

Try it

## Prompts to paste into Claude.

Each one names the Wrike actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Wrike tasks are overdue, and who owns each one?
   calls `wrike.tasks.get_tasks_account`
2. Plan write
   Check a person's capacity, then assign the task in Wrike.
   calls `wrike.bookings.get_bookings_account` `wrike.user_schedule_exclusions.query_user_schedule_exception` `wrike.user_schedule_capacity_change.get_work_schedule_capacity_changes_user` `wrike.tasks.update_task` `wrike.folders.create_booking` +1 more
3. Plan destructive
   Wind down a departing user's Wrike access in Wrike. Ask me before anything is sent or changed.
   calls `wrike.contacts.query_contacts_2` `wrike.contacts.get_timelogs_user` `wrike.approvals.get_approvals_account` `wrike.users.modify_user` `wrike.approvals.cancel_approval`
4. Write write
   Create Task (Folder) in Wrike. Show me exactly what you will send before you save it.
   calls `wrike.folders.create_task_folder`

The plan store

## Ready-made plans for Wrike.

9 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.

1. ### Digest a folder's open tasks and recent comments
   Use it when Someone asks for a status read on one Wrike project or folder.
   **Effect**
   read
   **Steps**
   4 · loops
   **Needs**
   folder id
   **Install**
   `wrike-project-status-digest`
2. ### Nudge approvers on approvals still pending
   Use it when Approvals have been sitting unanswered and someone wants the approvers chased.
   **Effect**
   write
   **Steps**
   2 · loops
   **Needs**
   nudge text
   **Install**
   `wrike-chase-stale-approvals`
3. ### Spin up a project from a folder blueprint
   Use it when A new project should be created from an existing Wrike folder blueprint.
   **Effect**
   write
   **Steps**
   4
   **Needs**
   folder blueprint id, parent and title
   **Install**
   `wrike-clone-project-from-blueprint`
4. ### Submit a request form and track what it created
   Use it when An intake request should be filed through a Wrike request form and confirmed.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   folder id, form fields and request form id
   **Install**
   `wrike-intake-request-to-task`
5. ### Log hours against a task and confirm it stuck
   Use it when Someone wants hours booked against a specific Wrike task.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   comment, hours, task id and tracked date
   **Install**
   `wrike-log-time-on-task`
6. ### Invite a contractor and set up their space access
   Use it when A new contractor or external collaborator needs Wrike access to one space.
   A person decides Invite _email_ to Wrike as an external collaborator and add them to space _space id_.
   **Effect**
   write
   **Steps**
   5
   **Needs**
   email, first name, last name and space id
   **Install**
   `wrike-onboard-contractor`
7. ### Check a person's capacity, then assign the task
   Use it when A task needs an owner and you want their existing load checked first.
   **Effect**
   write
   **Steps**
   6
   **Needs**
   booking dates, date range, folder id, note, task id and user id
   **Install**
   `wrike-capacity-check-before-assignment`
8. ### Retire a finished project folder after sign-off
   Use it when A project has wrapped and someone wants its Wrike folder closed out and removed.
   A person decides Delete Wrike folder _folder id_ and everything under it. _number of items_ tasks are still active.
   **Effect**
   destructive
   **Steps**
   5
   **Needs**
   closing note and folder id
   **Install**
   `wrike-archive-finished-project`
9. ### Wind down a departing user's Wrike access
   Use it when Someone is leaving and their Wrike account must be deactivated cleanly.
   A person decides Deactivate Wrike user _user id_ and cancel their _number of items_ pending approvals.
   **Effect**
   destructive
   **Steps**
   6 · loops
   **Needs**
   user id
   **Install**
   `wrike-deactivate-departing-user`

install a plan

```
account { op: "plans.install", slug: "wrike-project-status-digest" }
# then ask for it by name; a schedule can run it on a timetable
```

Governance for Wrike

## Destructive actions wait for a yes.

25 Wrike actions are destructive. These are all of them:

- Delete Tasks By ID `wrike.tasks.delete_tasks_by_id`
- Delete Timelog `wrike.timelogs.delete_timelog`
- Delete Comment `wrike.comments.delete_comment`
- Delete Groups `wrike.groups.delete_groups`
- Delete Folder `wrike.folders.delete_folder`
- Delete Space `wrike.spaces.delete_space`
- Delete Attachment `wrike.attachments.delete_attachment`
- Delete Dependency `wrike.dependencies.delete_dependency`
- Exclude team members `wrike.folders.exclude_team_members`
- Delete Webhook `wrike.webhooks.delete_webhook`
- Delete Booking `wrike.bookings.delete_booking`
- Delete Equipment `wrike.assets.delete_equipment`
- Delete Invitation `wrike.invitations.delete_invitation`
- Delete Work Schedule `wrike.workschedules.delete_work_schedule`
- Delete Work Schedule exception `wrike.workschedule_exclusions.delete_work_schedule_exception`
- Delete User Schedule exception `wrike.user_schedule_exclusions.delete_user_schedule_exception`
- Delete User Schedule partial exception `wrike.user_schedule_partial_exclusion.delete_user_schedule_partial_exception`
- Delete Work Schedule capacity change `wrike.workschedule_capacity_change.delete_work_schedule_capacity_change`
- Delete User Schedule Capacity change `wrike.user_schedule_capacity_change.delete_user_schedule_capacity_change`
- Delete Job Role `wrike.jobroles.delete_job_role`
- Delete active cascading field settings `wrike.tasks.delete_active_cascading_field_settings`
- Delete active cascading field settings `wrike.folders.delete_active_cascading_field_settings`
- Cancel approval `wrike.approvals.cancel_approval`
- Delete Timelog Lock (Space) `wrike.spaces.delete_timelog_lock_space`
- Delete Timelog Lock (Folder) `wrike.folders.delete_timelog_lock_folder`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do wrike.tasks.delete_tasks_by_id confirm_policy: **human**

Delete Tasks By ID?

**intent:** the user asked me to delete Tasks By ID

run suspended · waiting for a named person · key _wrike-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "wrike-agent",
  allowed_actions: ["wrike.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "wrike.tasks.delete_tasks_by_id", approver: "lead@example.com" },
    { match: "wrike.timelogs.delete_timelog", approver: "lead@example.com" },
    { match: "wrike.comments.delete_comment", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Wrike only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Wrike costs on actionlake.

Every Wrike action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Wrike refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 205 Wrike actions
- 205 actions page each page of a long list is one call
- 102 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Wrike action.

205 actions by area: the id your agent calls, what it does, and its effect.

**Folders 30**

- `wrike.folders.create_approvals_folder` Create Approvals (Folder) write
- `wrike.folders.create_attachment_folder` Create Attachment (Folder) write
- `wrike.folders.create_booking` Create Booking write
- `wrike.folders.create_comment_folder` Create Comment (Folder) write
- `wrike.folders.create_folder` Create Folder write
- `wrike.folders.create_task_folder` Create Task (Folder) write
- `wrike.folders.create_timelog_lock_folder` Create Timelog Lock (Folder) write
- `wrike.folders.create_webhook_folder` Create Webhook (Folder) write
- `wrike.folders.delete_active_cascading_field_settings` Delete active cascading field settings destructive
- `wrike.folders.delete_folder` Delete Folder destructive
- `wrike.folders.delete_timelog_lock_folder` Delete Timelog Lock (Folder) destructive
- `wrike.folders.exclude_team_members` Exclude team members destructive
- `wrike.folders.get_approvals_folder` Get Approvals (Folder) read
- `wrike.folders.get_attachments_folder` Get Attachments (Folder) read
- `wrike.folders.get_bookings_folder` Get Bookings (Folder) read
- `wrike.folders.get_budget_rates_folder` Get Budget Rates (Folder) read
- `wrike.folders.get_comments_folder` Get Comments (Folder) read
- `wrike.folders.get_folder_by_id` Get Folder By ID read
- `wrike.folders.get_folders_account` Get Folders (Account) read
- `wrike.folders.get_folders_folder` Get Folders (Folder) read
- `wrike.folders.get_rollup_settings_folder` Get Rollup Settings (Folder) read
- `wrike.folders.get_tasks_folder` Get Tasks (Folder) read
- `wrike.folders.get_timelog_locks_folder` Get Timelog Locks (Folder) read
- `wrike.folders.get_timelogs_folder` Get Timelogs (Folder) read
- `wrike.folders.query_folders_fields_history` Query Folders fields history read
- `wrike.folders.trigger_field_cascading` Trigger field cascading write
- `wrike.folders.update_budget_rates_folder` Update Budget Rates (Folder) write
- `wrike.folders.update_folder` Update Folder write
- `wrike.folders.update_folders_bulk` Update Folders (Bulk) write
- `wrike.folders.update_rollup_settings_folder` Update Rollup Settings (Folder) write

**Tasks 21**

- `wrike.tasks.create_approvals_task` Create Approvals (Task) write
- `wrike.tasks.create_attachment_task` Create Attachment (Task) write
- `wrike.tasks.create_comment_task` Create Comment (Task) write
- `wrike.tasks.create_dependency` Create Dependency write
- `wrike.tasks.create_timelog` Create Timelog write
- `wrike.tasks.delete_active_cascading_field_settings` Delete active cascading field settings destructive
- `wrike.tasks.delete_tasks_by_id` Delete Tasks By ID destructive
- `wrike.tasks.get_approvals_task` Get Approvals (Task) read
- `wrike.tasks.get_attachments_task` Get Attachments (Task) read
- `wrike.tasks.get_comments_task` Get Comments (Task) read
- `wrike.tasks.get_dependencies_task` Get Dependencies (Task) read
- `wrike.tasks.get_rollup_settings_task` Get Rollup Settings (Task) read
- `wrike.tasks.get_tasks_account` Get Tasks (Account) read
- `wrike.tasks.get_tasks_by_ids` Get Tasks By IDs read
- `wrike.tasks.get_timelog_locks_task` Get Timelog Locks (Task) read
- `wrike.tasks.get_timelogs_task` Get Timelogs (Task) read
- `wrike.tasks.query_tasks_fields_history` Query Tasks fields history read
- `wrike.tasks.trigger_field_cascading` Trigger field cascading write
- `wrike.tasks.update_rollup_settings_task` Update Rollup Settings (Task) write
- `wrike.tasks.update_task` Update Task write
- `wrike.tasks.update_tasks_bulk` Update Tasks (Bulk) write

**Spaces 17**

- `wrike.spaces.create_space` Create Space write
- `wrike.spaces.create_timelog_lock_space` Create Timelog Lock (Space) write
- `wrike.spaces.create_webhook_space` Create Webhook (Space) write
- `wrike.spaces.delete_space` Delete Space destructive
- `wrike.spaces.delete_timelog_lock_space` Delete Timelog Lock (Space) destructive
- `wrike.spaces.get_custom_fields_space` Get Custom Fields (Space) read
- `wrike.spaces.get_folder_blueprints_space` Get Folder Blueprints (Space) read
- `wrike.spaces.get_folders_space` Get Folders (Space) read
- `wrike.spaces.get_space_by_id` Get Space By ID read
- `wrike.spaces.get_spaces_account` Get Spaces (Account) read
- `wrike.spaces.get_task_blueprints_space` Get Task Blueprints (Space) read
- `wrike.spaces.get_tasks_space` Get Tasks (Space) read
- `wrike.spaces.get_timelog_locks_space` Get Timelog Locks (Space) read
- `wrike.spaces.query_all_custom_item_types` Query All Custom Item Types read
- `wrike.spaces.query_request_forms` Query Request Forms read
- `wrike.spaces.query_workflows` Query Workflows read
- `wrike.spaces.update_space` Update Space write

**Workschedules 12**

- `wrike.workschedules.copy_work_schedule` Copy Work Schedule write
- `wrike.workschedules.create_work_schedule` Create Work Schedule write
- `wrike.workschedules.create_work_schedule_capacity_change` Create Work Schedule capacity change write
- `wrike.workschedules.create_work_schedule_exception` Create Work Schedule exception write
- `wrike.workschedules.delete_work_schedule` Delete Work Schedule destructive
- `wrike.workschedules.get_timesheet_submission_rules_work_schedule` Get Timesheet Submission Rules (Work Schedule) read
- `wrike.workschedules.get_work_schedule_capacity_changes_work_schedule` Get Work Schedule Capacity Changes (Work Schedule) read
- `wrike.workschedules.get_work_schedule_exceptions_work_schedule` Get Work Schedule Exceptions (Work Schedule) read
- `wrike.workschedules.query_work_schedules` Query Work Schedules read
- `wrike.workschedules.query_work_schedules_2` Query Work Schedules read
- `wrike.workschedules.update_timesheet_submission_rules` Update Timesheet Submission Rules write
- `wrike.workschedules.update_work_schedule` Update Work Schedule write

**Contacts 7**

- `wrike.contacts.get_budget_rates_contacts` Get Budget Rates (Contacts) read
- `wrike.contacts.get_timelogs_user` Get Timelogs (User) read
- `wrike.contacts.modify_contact` Modify Contact write
- `wrike.contacts.provision` Provision write
- `wrike.contacts.query_contacts` Query Contacts read
- `wrike.contacts.query_contacts_2` Query Contacts read
- `wrike.contacts.query_contacts_fields_history` Query Contacts fields history read

**Attachments 5**

- `wrike.attachments.delete_attachment` Delete Attachment destructive
- `wrike.attachments.get_attachment_url` Get Attachment URL read
- `wrike.attachments.get_attachments_account` Get Attachments (Account) read
- `wrike.attachments.get_attachments_by_id` Get Attachments By ID read
- `wrike.attachments.update_attachment` Update Attachment write

**Groups 5**

- `wrike.groups.create_groups` Create Groups write
- `wrike.groups.delete_groups` Delete Groups destructive
- `wrike.groups.modify_groups` Modify Groups write
- `wrike.groups.query_groups` Query Groups read
- `wrike.groups.query_groups_2` Query Groups read

**Jobroles 5**

- `wrike.jobroles.create_job_role` Create Job Role write
- `wrike.jobroles.delete_job_role` Delete Job Role destructive
- `wrike.jobroles.get_job_roles_account` Get Job Roles (Account) read
- `wrike.jobroles.get_job_roles_by_id` Get Job Roles By ID read
- `wrike.jobroles.update_job_role` Update Job Role write

**User schedule exclusions 5**

- `wrike.user_schedule_exclusions.create_user_schedule_exception` Create User Schedule exception write
- `wrike.user_schedule_exclusions.delete_user_schedule_exception` Delete User Schedule exception destructive
- `wrike.user_schedule_exclusions.query_user_schedule_exception` Query User Schedule exception read
- `wrike.user_schedule_exclusions.query_user_schedule_exception_2` Query User Schedule exception read
- `wrike.user_schedule_exclusions.update_user_schedule_exception` Update User Schedule exception write

**User schedule partial exclusion 5**

- `wrike.user_schedule_partial_exclusion.create_user_schedule_partial_exception` Create User Schedule partial exception write
- `wrike.user_schedule_partial_exclusion.delete_user_schedule_partial_exception` Delete User Schedule partial exception destructive
- `wrike.user_schedule_partial_exclusion.query_user_schedule_partial_exceptions` Query User Schedule partial exceptions read
- `wrike.user_schedule_partial_exclusion.query_user_schedule_partial_exceptions_2` Query User Schedule partial exceptions read
- `wrike.user_schedule_partial_exclusion.update_user_schedule_partial_exception` Update User Schedule partial exception write

**Webhooks 5**

- `wrike.webhooks.create_webhook_account` Create Webhook (Account) write
- `wrike.webhooks.delete_webhook` Delete Webhook destructive
- `wrike.webhooks.get_webhooks` Get Webhooks read
- `wrike.webhooks.get_webhooks_by_id` Get Webhooks By ID read
- `wrike.webhooks.update_webhook` Update Webhook write

**Approvals 4**

- `wrike.approvals.cancel_approval` Cancel approval destructive
- `wrike.approvals.get_approvals_account` Get Approvals (Account) read
- `wrike.approvals.get_approvals_by_id` Get Approvals By ID read
- `wrike.approvals.update_approval` Update approval write

**Bookings 4**

- `wrike.bookings.delete_booking` Delete Booking destructive
- `wrike.bookings.get_bookings_account` Get Bookings (Account) read
- `wrike.bookings.get_bookings_by_id` Get Bookings By ID read
- `wrike.bookings.update_booking` Update Booking write

**Comments 4**

- `wrike.comments.delete_comment` Delete Comment destructive
- `wrike.comments.get_comments_account` Get Comments (Account) read
- `wrike.comments.get_comments_by_id` Get Comments By ID read
- `wrike.comments.update_comment` Update Comment write

**Customfields 4**

- `wrike.customfields.create_custom_field_account` Create Custom Field (Account) write
- `wrike.customfields.get_custom_fields_account` Get Custom Fields (Account) read
- `wrike.customfields.get_custom_fields_by_id` Get Custom Fields By ID read
- `wrike.customfields.modify_custom_field` Modify Custom Field write

**Invitations 4**

- `wrike.invitations.create_invitation` Create Invitation write
- `wrike.invitations.delete_invitation` Delete Invitation destructive
- `wrike.invitations.query_invitations` Query Invitations read
- `wrike.invitations.update_invitation` Update Invitation write

**Request forms 4**

- `wrike.request_forms.generate_prefilled_request_form_url` Generate prefilled Request Form URL read
- `wrike.request_forms.get_request_form_by_id` Get Request Form by ID read
- `wrike.request_forms.query_request_forms` Query Request Forms read
- `wrike.request_forms.submit_request_form` Submit Request Form write

**Timelogs 4**

- `wrike.timelogs.delete_timelog` Delete Timelog destructive
- `wrike.timelogs.get_timelogs_account` Get Timelogs (Account) read
- `wrike.timelogs.get_timelogs_by_id` Get Timelogs By ID read
- `wrike.timelogs.modify_timelog` Modify Timelog write

**User schedule capacity change 4**

- `wrike.user_schedule_capacity_change.delete_user_schedule_capacity_change` Delete User Schedule Capacity change destructive
- `wrike.user_schedule_capacity_change.get_user_work_schedule_capacity_change_by_id` Get User Work Schedule Capacity Change by ID read
- `wrike.user_schedule_capacity_change.get_work_schedule_capacity_changes_user` Get Work Schedule Capacity Changes (User) read
- `wrike.user_schedule_capacity_change.update_user_schedule_capacity_change` Update User Schedule Capacity change write

**Users 4**

- `wrike.users.create_user_schedule_capacity_change` Create User Schedule Capacity change write
- `wrike.users.modify_user` Modify User write
- `wrike.users.modify_user_2` Modify User write
- `wrike.users.query_user` Query User read

**Assets 3**

- `wrike.assets.create_equipment` Create Equipment write
- `wrike.assets.delete_equipment` Delete Equipment destructive
- `wrike.assets.update_equipment` Update Equipment write

**Custom item types 3**

- `wrike.custom_item_types.create_work_from_custom_item_type` Create Work from Custom Item Type write
- `wrike.custom_item_types.query_all_custom_item_types` Query All Custom Item Types read
- `wrike.custom_item_types.query_specific_custom_item_type_by_id` Query Specific Custom Item Type by ID read

**Data export 3**

- `wrike.data_export.get_data_export` Get Data Export read
- `wrike.data_export.get_data_export_2` Get Data Export read
- `wrike.data_export.refresh_data_export` Refresh Data Export write

**Dependencies 3**

- `wrike.dependencies.delete_dependency` Delete Dependency destructive
- `wrike.dependencies.get_dependencies_by_id` Get Dependencies By ID read
- `wrike.dependencies.modify_dependency` Modify Dependency write

**Placeholders 3**

- `wrike.placeholders.get_budget_rates_placeholders` Get Budget Rates (Placeholders) read
- `wrike.placeholders.get_placeholders_account` Get Placeholders (Account) read
- `wrike.placeholders.get_placeholders_by_id` Get Placeholders By ID read

**Timesheets 3**

- `wrike.timesheets.create_timesheet` Create Timesheet write
- `wrike.timesheets.query_timesheets` Query Timesheets read
- `wrike.timesheets.update_timesheet` Update Timesheet write

**Workflows 3**

- `wrike.workflows.create_workflow` Create Workflow write
- `wrike.workflows.modify_workflow` Modify Workflow write
- `wrike.workflows.query_workflows` Query Workflows read

**Workschedule capacity change 3**

- `wrike.workschedule_capacity_change.delete_work_schedule_capacity_change` Delete Work Schedule capacity change destructive
- `wrike.workschedule_capacity_change.get_work_schedule_capacity_changes_by_change_id` Get Work Schedule Capacity Changes by Change ID read
- `wrike.workschedule_capacity_change.update_work_schedule_capacity_change` Update Work Schedule capacity change write

**Workschedule exclusions 3**

- `wrike.workschedule_exclusions.delete_work_schedule_exception` Delete Work Schedule exception destructive
- `wrike.workschedule_exclusions.get_work_schedule_exception_by_id` Get Work Schedule Exception by ID read
- `wrike.workschedule_exclusions.update_work_schedule_exception` Update Work Schedule exception write

**Account 2**

- `wrike.account.modify_account` Modify Account write
- `wrike.account.query_accounts` Query Accounts read

**Folder blueprints 2**

- `wrike.folder_blueprints.async_work_creation` Async Work Creation write
- `wrike.folder_blueprints.get_folder_blueprints_account` Get Folder Blueprints (Account) read

**Task blueprints 2**

- `wrike.task_blueprints.async_work_creation` Async Work Creation write
- `wrike.task_blueprints.get_task_blueprints_account` Get Task Blueprints (Account) read

**Timelog categories 2**

- `wrike.timelog_categories.get_timelogs_category` Get Timelogs (Category) read
- `wrike.timelog_categories.query_timelog_categories` Query Timelog categories read

**Access roles 1**

- `wrike.access_roles.get_access_roles` Get Access Roles read

**Async job 1**

- `wrike.async_job.get_async_job` Get async job read

**Audit log 1**

- `wrike.audit_log.get_audit_log` Get Audit Log read

**Batch 1**

- `wrike.batch.create_batch_operation` Create Batch Operation write

**Colors 1**

- `wrike.colors.query_colors` Query Colors read

**Copy folder 1**

- `wrike.copy_folder.copy_folder` Copy Folder write

**Copy folder async 1**

- `wrike.copy_folder_async.copy_folder_async` Copy Folder async write

**Data export schema 1**

- `wrike.data_export_schema.get_data_export_schema` Get Data Export Schema read

**Ediscovery search 1**

- `wrike.ediscovery_search.e_discovery_search` eDiscovery Search read

**Groups bulk 1**

- `wrike.groups_bulk.bulk_modify_groups` Bulk modify groups write

**Hourly rates 1**

- `wrike.hourly_rates.update_budget_rates_account` Update Budget Rates (Account) write

**Ids 1**

- `wrike.ids.legacy_api_v2_ids_converter` Legacy API v2 IDs converter read

**Timesheet rows 1**

- `wrike.timesheet_rows.update_timesheet_row` Update Timesheet Row write

**Timesheet submission rules 1**

- `wrike.timesheet_submission_rules.get_timesheet_submission_rules_account` Get Timesheet Submission Rules (Account) read

**User types 1**

- `wrike.user_types.get_user_types` Get User Types read

**Version 1**

- `wrike.version.api_version` API Version read

**Whiteboard ids 1**

- `wrike.whiteboard_ids.convert_whiteboard_id_formats` Convert whiteboard ID formats read

Questions

## The Wrike MCP server, answered.

**Is there a Wrike MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 205 Wrike actions across folders, tasks, spaces and workschedules, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Wrike.

**What do I need to connect Wrike?**

Wrike OAuth 2.0 access token or permanent access token. Plus your host. The free call account { op: "connections.requirements", service: "wrike" } lists exactly what to paste.

**Can an AI agent delete or change things in Wrike?**

Only if its key allows it, and only with an explicit confirmation. 25 Wrike actions are destructive, including delete Tasks By ID, delete Timelog and delete Comment. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Wrike API limit?**

actionlake paces every call to the limits in the Wrike service file: 100 calls a minute per connection. Repeated reads are answered from cache (102 Wrike actions can be), which never reaches Wrike.

**What does a Wrike action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (205 Wrike actions page). Cache hits, searches, dry runs and calls Wrike refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Wrike API does it cover?**

The Wrike API 4 at your Wrike instance's API base URL, which you enter when connecting (path /api/v4). It is built from Wrike's documentation as read on 19 September 2026. 205 actions in 50 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Wrike data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Wrike credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Wrike

Shares the most action names with

- [Asana 66](https://actionlake.com/connectors/asana)
- [Jira 50](https://actionlake.com/connectors/jira)
- [Trello 36](https://actionlake.com/connectors/trello)
- [Shortcut 31](https://actionlake.com/connectors/shortcut)
- [JetBrains YouTrack 27](https://actionlake.com/connectors/jetbrains-youtrack)
- [OpenProject 26](https://actionlake.com/connectors/openproject)

Joins with, on shared entities

- [GitLab 4](https://actionlake.com/connectors/gitlab)
- [Odoo 4](https://actionlake.com/connectors/odoo)
- [GitHub 4](https://actionlake.com/connectors/github)
- [Hubstaff 4](https://actionlake.com/connectors/hubstaff)
- [HaloPSA 3](https://actionlake.com/connectors/halopsa)
- [Slack 3](https://actionlake.com/connectors/slack)

Browse

- [All Work & projects connectors](https://actionlake.com/connectors/category/work-and-projects)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Wrike; the name is the vendor's own. Counts are from the Wrike service file, version 1.0.0.

## Give your agent Wrike today.

[Connect Wrike free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/wrike
More: https://actionlake.com/llms.txt
