# Wrike — MCP server on mcp.ai > Wrike is a project management and collaboration tool offering customizable workflows, Gantt charts, reporting, and resource management to boost team productivity By: mcp.ai · official Page: https://mcp.ai/wrike ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_wrike?ms=1781542440000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/wrike/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/wrike/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/wrike/skill.md Postman collection (v2.1): https://mcp.ai/wrike/postman.json ## Tools - wrike_bulk_modify_groups(members: object[]) — Adds or removes members for multiple wrike groups in a single request; all specified user ids must correspond to existing wrike users. - wrike_create_folder(title: string, fields?: string[], shareds?: string[], folderId: string, metadata?: object[], description?: string, customFields?: object[], customColumns?: string[], userAccessRoles?: object, withInvitations?: boolean, customItemTypeId?: string, plainTextCustomFields?: boolean) — Creates a new wrike subfolder within the specified `folderid`, optionally as a project if `customitemtypeid` is given; the folder is auto-shared with its creator. - wrike_create_group(title: string, parent?: string, members?: string[], metadata?: object[], avatar__color?: string, avatar__letters?: string) — Creates a new user group in wrike with a specified title, optionally setting members, parent group, avatar, and custom metadata. - wrike_create_invitation(role?: string, email: string, message?: string, subject?: string, external?: boolean, lastName?: string, firstName?: string, userTypeId?: string) — Invites a user to a wrike workspace by email, optionally with name, specifying either `usertypeid` or a combination of `role`/`external`; custom email subject/message available for paid accounts. - wrike_create_task(title: string, fields?: string[], follow?: boolean, status?: string, parents?: string[], shareds?: string[], folderId: string, metadata?: object[], followers?: string[], importance?: string, superTasks?: string[], billingType?: string, description?: string, customFields?: object[], customStatus?: string, responsibles?: string[], priorityAfter?: string, priorityBefore?: string, withInvitations?: boolean, customItemTypeId?: string, plainTextCustomFields?: boolean, responsiblePlaceholders?: string[]) — Creates a new task in a specified wrike folder; if setting priority with `prioritybefore` or `priorityafter`, the referenced task must be in the same folder or project. - wrike_delete_custom_field(customFieldId: string) — Permanently deletes a custom field by its id; this action is irreversible and requires a valid, existing custom field id. - wrike_delete_folder(folderId: string) — Permanently deletes the folder specified by `folderid` and all its contents (e.g., tasks, documents, subfolders) from the wrike workspace; this irreversible action is for when the folder is no longer - wrike_delete_group(groupId: string) — Permanently deletes a group by its `groupid`; this action is irreversible and does not affect user accounts that were members of the group. - wrike_delete_inivtation(invitationId: string) — Permanently deletes an existing invitation, specified by its unique `invitationid`; this action cannot be undone. - wrike_delete_task(taskId: string) — Permanently deletes a wrike task and all its associated data by its id; this action is irreversible and the task must exist. - wrike_fetch_all_tasks(fields?: string[], status?: string, dueDate?: object, metadata?: object, page_size?: integer, descendants?: boolean, resolve_user_names?: boolean) — Fetches tasks from a wrike account, allowing filtering by status, due date, and subfolder inclusion, with customizable response fields and pagination. - wrike_get_account_information(fields?: string[]) — Retrieves detailed wrike account information, where the response content is influenced by selected fields, account subscription, and user permissions. - wrike_get_all_custom_fields() — Retrieves all custom field definitions (including id, name, type, and settings) from the wrike account; this returns the definitions themselves, not their specific values on wrike items, and is useful - wrike_get_contacts(fields?: string[], deleted?: boolean, metadata?: object) — Retrieves a list of wrike contacts (e.g., team members, clients, collaborators); response includes contact details but not their detailed task or project involvement. - wrike_get_folders(fields?: string[], deleted?: boolean, project?: boolean, metadata?: object, pageSize?: integer, permalink?: string, descendants?: boolean, updatedDate?: object, customFields?: object[], contractTypes?: string[], nextPageToken?: string, customItemTypes?: string[], withInvitations?: boolean, plainTextCustomFields?: boolean) — Retrieves folders and/or projects from wrike, with filters; when using `nextpagetoken`, all other filter parameters must match the initial request. - wrike_get_information_about_specific_contact(fields?: string[], contactId: string) — Retrieves detailed information for a specific wrike contact using their unique `contactid`, optionally including `metadata` and `customfields` if specified in the `fields` parameter. - wrike_get_specific_user(userId: string) — Retrieves detailed information about a specific user in wrike using their unique user id. - wrike_get_task_by_id(fields?: string, taskId: string) — Retrieves read-only detailed information for a specific wrike task by its unique id, optionally allowing specification of fields to include in the response. - wrike_launch_folder_blueprint_async(title: string, parent: string, entry_limit?: integer, title_prefix?: string, reschedule_date?: string, reschedule_mode?: string, copy_attachments?: boolean, copy_descriptions?: boolean, copy_responsibles?: boolean, copy_custom_fields?: boolean, folder_blueprint_id: string, notify_responsibles?: boolean) — Asynchronously launches a new project or folder structure in wrike from a specified folder blueprint, typically returning a task id to track progress. - wrike_launch_task_blueprint_async(title: string, parent_id?: string, entry_limit?: integer, title_prefix?: string, super_task_id?: string, reschedule_date?: string, reschedule_mode?: string, copy_attachments?: boolean, copy_descriptions?: boolean, copy_responsibles?: boolean, task_blueprint_id: string, copy_custom_fields?: boolean, notify_responsibles?: boolean) — Asynchronously launches a wrike task blueprint to create tasks/projects, requiring either `super task id` (parent task) or `parent id` (parent folder/project) for placement. - wrike_list_folder_blueprints() — Retrieves all account-level folder blueprints, which are templates for standardizing folder/project creation with predefined structures, custom fields, and workflows. - wrike_list_space_folder_blueprints(space_id: string) — Lists all folder blueprints (templates for new folders/projects) within a specified wrike space, requiring a valid and accessible space id. - wrike_list_space_task_blueprints(limit?: integer, space_id: string, page_size?: integer, next_page_token?: string) — Lists task blueprints (templates for creating tasks with consistent structures) available in a specific, accessible wrike space. - wrike_list_subfolders_by_folder_id(fields?: string[], project?: boolean, folderId: string, metadata?: object, pageSize?: integer, permalink?: string, descendants?: boolean, updatedDate?: object, customFields?: object[], contractTypes?: string[], nextPageToken?: string, customItemTypes?: string[], withInvitations?: boolean, plainTextCustomFields?: boolean) — Lists subfolders (metadata only, not their contents) for an existing wrike folder specified by `folderid`, supporting recursive descent, filtering, and pagination. - wrike_list_task_blueprints(limit?: integer, page_size?: integer, next_page_token?: string) — Retrieves a list of defined task blueprints (predefined task templates) from the wrike account, supporting pagination. - wrike_modify_account(metadata?: object[]) — Updates or adds custom key-value metadata to the wrike account, useful for integrations, storing app-specific data, or mapping external system identifiers. - wrike_modify_folder(title?: string, fields?: string[], restore?: boolean, folderId: string, metadata?: object[], addParents?: string[], addShareds?: string[], description?: string, customFields?: object[], customColumns?: string[], removeParents?: string[], removeShareds?: string[], addAccessRoles?: object, withInvitations?: boolean, removeAccessRoles?: string[], clearCustomColumns?: boolean, plainTextCustomFields?: boolean, convertToCustomItemType?: string) — Modifies an existing wrike folder: updates title, description, parents (not root/recycle bin), sharing, metadata, custom fields/columns; restores, converts to project, or manages access roles. - wrike_modify_group(title?: string, parent?: string, groupId: string, metadata?: object[], addMembers?: string[], avatar__color?: string, removeMembers?: string[], addInvitations?: string[], avatar__letters?: string, removeInvitations?: string[]) — Updates an existing wrike user group's attributes like title, members, parent, avatar, or metadata, using its `groupid` and specifying only the fields to change. - wrike_modify_task(dates?: object, title?: string, fields?: string[], follow?: boolean, status?: string, taskId: string, restore?: boolean, metadata?: object[], addParents?: string[], addShareds?: string[], importance?: string, billingType?: string, description?: string, addFollowers?: string[], customFields?: object[], customStatus?: string, addSuperTasks?: string[], priorityAfter?: string, removeParents?: string[], removeShareds?: string[], priorityBefore?: string, addResponsibles?: string[], withInvitations?: boolean, removeSuperTasks?: string[], removeResponsibles?: string[], plainTextCustomFields?: boolean, convertToCustomItemType?: string, addResponsiblePlaceholders?: string[], removeResponsiblePlaceholders?: string[]) — Modifies an existing wrike task by its id, allowing updates to attributes such as title, status, dates, assignees, and custom fields; `prioritybefore` and `priorityafter` are mutually exclusive, and p - wrike_query_customfields(customFieldId: string) — Retrieves a wrike custom field's detailed information (e.g., type, possible values for dropdowns), properties, and metadata; the `customfieldid` must correspond to an existing custom field. - wrike_query_invitations() — Retrieves all active invitations in wrike, useful for viewing and auditing pending invitations or managing user onboarding. - wrike_query_specific_group(fields?: string[], groupId: string) — Retrieves detailed information for a specific wrike group using its `groupid`, optionally including 'metadata'. - wrike_query_workflows() — Fetches a list of all workflows with their detailed information from the wrike account; this is a read-only action and does not support pagination or filtering through its parameters. - wrike_retrieve_list_of_groups(fields?: string[], metadata?: object, pageSize?: integer, pageToken?: string) — Retrieves a list of user groups from the wrike account, supporting metadata filtering, pagination, and inclusion of specific fields; this is a read-only operation. - wrike_update_custom_field_by_id(type?: string, title?: string, sharing?: object, spaceId?: string, settings?: object, addMirrors?: string[], addShareds?: string[], changeScope?: string, customFieldId: string, removeMirrors?: string[], removeShareds?: string[]) — Updates properties of an existing wrike custom field by its id, such as its title, type, scope, or sharing settings. - wrike_update_invitation(role?: string, resend?: boolean, external?: boolean, userTypeId?: string, invitationId: string) — Updates a pending wrike invitation (`invitationid`) to resend it or change user's role/type (use `usertypeid` over deprecated `role`/`external`). - wrike_update_metadata_on_specific_contact(fields?: string[], metadata?: object[], contactId: string, jobRoleId?: string, customFields?: object[]) — Updates metadata, job role, or custom fields for an existing wrike contact specified by `contactid`; if `jobroleid` is provided, it must be a valid id. - wrike_update_specific_user(userId: string, profile__role?: string, profile__external?: boolean, profile__accountId?: string) — Updates specified profile attributes (e.g., account id, role, external status) for an existing wrike user; unspecified fields remain unchanged. ## Links Docs: https://mcp.ai/docs/mcps/wrike Website: https://mcp.ai/mcps/wrike