# Teamwork MCP server

Source: https://glimind.com/server/mcp-registry%2Fcom.teamwork%2Fmcp
Registry id: `mcp-registry/com.teamwork/mcp`
Status: live (checked 2026-10-27T00:37:25.978Z)

## Measurements (30 days)

- Uptime: 99.77%
- Checks: 4941
- Outages (90 days): 14

## Install

```json
{
  "mcpServers": {
    "teamwork-mcp-server": {
      "type": "http",
      "url": "https://mcp.ai.teamwork.com"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http teamwork-mcp-server https://mcp.ai.teamwork.com
```

## Tools (214)

- `twchat-get_conversation`: Get a single Teamwork Chat conversation by ID.
- `twchat-get_current_user`: Get the current authenticated Teamwork Chat user, including identity, counts (unread conversations/messages, mentions), and settings.
- `twchat-get_or_create_dm`: Get the 1:1 direct-message conversation with a person, creating it if it does not exist yet. Returns the conversation (use its id with send_message). Use list_p
- `twchat-list_conversations`: List Teamwork Chat conversations the current user is a member of.
- `twchat-list_messages`: List messages within a Teamwork Chat conversation. Requires conversation_id.
- `twchat-list_people`: List people in the Teamwork Chat installation. Useful for resolving names to user IDs.
- `twchat-send_dm`: Send a direct message to a person, resolving (or creating) the 1:1 conversation automatically. Requires user_id and body. Use list_people to find user_id. The a
- `twchat-send_message`: Send a message to a Teamwork Chat conversation. Requires conversation_id and body.
- `twdesk-create_company`: Create Desk company.
- `twdesk-create_customer`: Create customer.
- `twdesk-create_file`: Upload file. Attach the returned ID to tickets or messages.
- `twdesk-create_helpdoc_article`: Create a new help doc article, with an HTML body. An article always belongs to at least one category of its site, so a category ID is required: list them with t
- `twdesk-create_priority`: Create ticket priority.
- `twdesk-create_status`: Create ticket status.
- `twdesk-create_tag`: Create Desk tag.
- `twdesk-create_ticket`: Create ticket.
- `twdesk-create_ticket_type`: Create ticket type.
- `twdesk-get_company`: Get Desk company (customer organization).
- `twdesk-get_customer`: Get customer.
- `twdesk-get_helpdoc_article`: Get a help doc article by ID. The article is addressed through its site, so both IDs are needed; twdesk-search_helpdoc_articles reports each article's site.
- `twdesk-get_helpdoc_site`: Get a help doc site (knowledge base) by ID, including its subdomain, branding and article counts.
- `twdesk-get_inbox`: Get inbox.
- `twdesk-get_priority`: Get ticket priority.
- `twdesk-get_status`: Get ticket status.
- `twdesk-get_tag`: Get Desk tag.
- `twdesk-get_ticket`: Get ticket.
- `twdesk-get_ticket_type`: Get ticket type.
- `twdesk-get_user`: Get support agent.
- `twdesk-link_task_to_ticket`: Link a Teamwork Projects task to a Desk ticket, so the ticket shows the work tracked by that task.
- `twdesk-list_companies`: List Desk companies. Filter by name, domains, or kind.
- `twdesk-list_customers`: List customers. Filter by company or email.
- `twdesk-list_helpdoc_categories`: List help doc categories. Every article is filed under at least one, so twdesk-create_helpdoc_article needs an ID from here.
- `twdesk-list_helpdoc_sites`: List help doc sites (knowledge bases). Filter by name or subdomain. Use this to discover the site ID required by the help doc article tools.
- `twdesk-list_inboxes`: List inboxes. Filter by name or email.
- `twdesk-list_priorities`: List ticket priorities. Filter by name or color.
- `twdesk-list_statuses`: List ticket statuses. Filter by name, color, or code.
- `twdesk-list_tags`: List Desk tags. Filter by name, color, or inbox.
- `twdesk-list_ticket_types`: List ticket types. Filter by name or inbox.
- `twdesk-list_users`: List support agents. For customers, use twdesk-list_customers.
- `twdesk-reply_ticket`: Reply to a ticket. Use threadType=note for internal agent notes.
- `twdesk-search_helpdoc_articles`: Search help doc articles. Filter by search term, status, site, or category.
- `twdesk-search_tickets`: Search tickets. Filter by inbox, customer, company, tag, status, priority, user, or creation date range. Name the attributes you need in fields: a ticket return
- `twdesk-unlink_task_from_ticket`: Unlink a Teamwork Projects task from a Desk ticket. The task and the ticket themselves are kept.
- `twdesk-update_company`: Update Desk company.
- `twdesk-update_customer`: Update customer.
- `twdesk-update_helpdoc_article`: Update an existing help doc article. Only the properties supplied change; the article is addressed through its site, so both IDs are needed. An article stored a
- `twdesk-update_priority`: Update ticket priority.
- `twdesk-update_status`: Update ticket status.
- `twdesk-update_tag`: Update Desk tag.
- `twdesk-update_ticket`: Update ticket.
- `twdesk-update_ticket_type`: Update ticket type.
- `twprojects-add_project_file`: Store an uploaded file in a project's files area, where people find it outside any one task or comment. Upload it first with twprojects-create_upload_url, then 
- `twprojects-add_project_member`: Add a user to a project.
- `twprojects-clone_project`: Clone/copy an existing project or instantiate one from a template.
- `twprojects-complete_task`: Mark task complete.
- `twprojects-complete_timer`: Stop a timer permanently and convert it to a timelog. Use pause_timer to pause without converting.
- `twprojects-count_milestones`: Exact milestone count for any filter set: one call, one number, no rows. Use for "how many milestones" questions (per project, per tag, matching a term) instead
- `twprojects-count_projects`: Exact project count for any filter set: one call, one number, no rows. Use for "how many projects" questions (mine, late, per category, per tag, per company, pe
- `twprojects-count_tasks`: Exact task count for any filter set: one call, one number, no rows. Use for "how many" questions (totals, late, per person, per project, per tag, completed in a
- `twprojects-count_timelogs`: Exact count of time entries for any filter set: one call, one number, no rows. This counts entries, not hours — for logged, billable or billed time totals use t
- `twprojects-create_allocation`: Commit a user's time to a project over a date range (a scheduler allocation). This is planned time, a separate plane from task estimates and logged time.
- `twprojects-create_comment`: Create comment on a task, milestone, notebook, file, or link.
- `twprojects-create_company`: Create company (aka client).
- `twprojects-create_custom_field`: Create custom field.
- `twprojects-create_custom_field_value`: Set a custom field value on a task, project or company. The custom field must already exist and be applicable to the target entity.
- `twprojects-create_custom_item`: Create a new custom item type (e.g. Contracts, Leads, Deals) on a project. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything els
- `twprojects-create_custom_item_field`: Add a field (column) to a custom item type. Field types include text, number, dropdown, multiselect, checkbox, url, user, date, time and datetime. Custom items 
- `twprojects-create_custom_item_record`: Create a record (row) on a custom item type. For example, add a Contract on the Contracts type. Pass field values by name; the tool resolves names to the API's 
- `twprojects-create_file`: Upload short text you are generating yourself, such as a plan, a spec or a CSV, so it can be attached to a task, comment or message. Returns a single-use refere
- `twprojects-create_jobrole`: Create job role.
- `twprojects-create_link`: Create link.
- `twprojects-create_message`: Create message in a project.
- `twprojects-create_message_reply`: Create message reply.
- `twprojects-create_milestone`: Create milestone in a project.
- `twprojects-create_notebook`: Create notebook in a project.
- `twprojects-create_project`: Create project.
- `twprojects-create_project_category`: Create project category.
- `twprojects-create_project_template`: Create project template.
- `twprojects-create_skill`: Create skill.
- `twprojects-create_tag`: Create tag.
- `twprojects-create_task`: Create task in a tasklist.
- `twprojects-create_tasklist`: Create tasklist in a project.
- `twprojects-create_team`: Create team.
- `twprojects-create_timelog`: Create timelog entry against a project or task.
- `twprojects-create_timer`: Create and start a timer.
- `twprojects-create_upload_url`: Reserve an upload for a file and get back a short-lived URL to send its bytes to, plus a single-use reference. Use this for any file that already exists — a PDF
- `twprojects-create_user`: Create user.
- `twprojects-create_workflow`: Create workflow.
- `twprojects-create_workflow_stage`: Create workflow stage.
- `twprojects-download_file`: Read the content of a file stored in Teamwork.com: text files come back as text, images as an image, and anything else as a base64 resource with its media type.
- `twprojects-get_allocation`: Get an allocation. linkedTaskEstimatedTime counts each linked task whole, and a task can sit behind more than one allocation, so it must not be summed across al
- `twprojects-get_comment`: Get comment.
- `twprojects-get_company`: Get company (aka client).
- `twprojects-get_custom_field`: Get custom field.
- `twprojects-get_custom_field_value`: Get a single custom field value from a task, project or company.
- `twprojects-get_custom_item`: Get a custom item type with its fields and sections inline, so you can see its schema before creating or updating records. Custom items are user-defined entity 
- `twprojects-get_custom_item_field`: Get a single field on a custom item type. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a proj
- `twprojects-get_custom_item_record`: Get a single record. Field values come back keyed by display name with dropdown values translated to their human-readable labels. Custom items are user-defined 
- `twprojects-get_file`: Get a file's details: name, size, uploader, version history, the tasks, messages and comments it is attached to, and its downloadURL. The downloadURL needs the 
- `twprojects-get_jobrole`: Get job role. The people assigned to the role come back under users, and those holding it as their primary role under primaryUsers; both are references, resolve

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
