Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

com.teamwork/mcp

OCI · DOCKER.IO/TEAMWORK/MCP:V1.43.2 · 3 COMPONENTS · SCANNED SEP 20

The Teamwork.com official MCP server helps teams efficiently manage client projects with AI.

38 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency35
Schema Quality & AI Usability73
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 39357 tokens (~183/item across 214 items; 213 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage96
  • 93% of tools have a non-trivial description (not blank, and not just the tool's name).Partial
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (33% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 214 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
  • Supports UI / widget rendering.Pass

Unverified: 2 categories

Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the com.teamwork/mcp server?

com.teamwork/mcp runs locally as a container image, launched with docker run --rm -i docker.io/teamwork/mcp:v1.43.2. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · docker.io/teamwork/mcp:v1.43.2

# add to Claude Code
claude mcp add com-teamwork-mcp -- docker run --rm -i docker.io/teamwork/mcp:v1.43.2
// .cursor/mcp.json
{
  "mcpServers": {
    "com-teamwork-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/teamwork/mcp:v1.43.2"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-teamwork-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/teamwork/mcp:v1.43.2"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add com-teamwork-mcp -- docker run --rm -i docker.io/teamwork/mcp:v1.43.2
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-teamwork-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "docker.io/teamwork/mcp:v1.43.2"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  com-teamwork-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "docker.io/teamwork/mcp:v1.43.2"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-teamwork-mcp": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "docker.io/teamwork/mcp:v1.43.2"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "com-teamwork-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "docker.io/teamwork/mcp:v1.43.2"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 15 Sept 26 38

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed oci/docker.io/teamwork/mcp:v1.43.2

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason Verification failed
Discovered via OCI referrers API

Background: How many MCP packages publish verified provenance →

MCP tools · 213 exposed · ~39,338 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
twchat-get_conversation ~36

Get a single Teamwork Chat conversation by ID.

NameTypeReqDescription
conversation_idintegeryesThe ID of the conversation to retrieve.

No output schema declared.

No examples provided.

twchat-get_current_user ~35

Get the current authenticated Teamwork Chat user, including identity, counts (unread conversations/messages, mentions), and settings.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

twchat-get_or_create_dm ~103

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_people to find user_id. The authenticated user cannot be the target: naming your own user id is rejected.

NameTypeReqDescription
user_idintegeryesThe ID of the person to get the direct-message conversation with. Must be somebody other than the authenticated user; see get_current_user.

No output schema declared.

No examples provided.

twchat-list_conversations ~148

List Teamwork Chat conversations the current user is a member of.

NameTypeReqDescription
include_message_databooleanInclude the latest message in each conversation.
page_limitintegerNumber of conversations to return (max 10).
page_offsetintegerThe index position to start retrieving results from (not a page number).
search_termstringA search term to filter conversations by title.
sortstringSort order for the returned conversations.
statusstringFilter by conversation status.
typestringFilter by conversation type: "rooms" for group/channel conversations, "pair" for 1:1 direct messages.

No output schema declared.

No examples provided.

twchat-list_messages ~242

List messages within a Teamwork Chat conversation. Requires conversation_id.

NameTypeReqDescription
after_message_idintegerReturn messages newer than this message ID (cursor).
before_message_idintegerReturn messages older than this message ID (cursor).
conversation_idintegeryesThe ID of the conversation to read messages from.
created_afterReturn messages created after this time. Accepts an RFC 3339 timestamp (2026-08-03T14:30:00Z) or a plain YYYY-MM-DD date (2026-08-03), which covers that whole day in UTC.
created_beforeReturn messages created before this time. Accepts an RFC 3339 timestamp (2026-08-03T14:30:00Z) or a plain YYYY-MM-DD date (2026-08-03), which covers that whole day in UTC.
pageintegerPage number for pagination of results (1-based).
page_sizeintegerNumber of messages per page (1-200).
search_termstringA search term to filter messages by text content.

No output schema declared.

No examples provided.

twchat-list_people ~79

List people in the Teamwork Chat installation. Useful for resolving names to user IDs.

NameTypeReqDescription
page_limitintegerNumber of people to return.
page_offsetintegerThe index position to start retrieving results from (not a page number).
search_termstringA search term to filter people by name or email.

No output schema declared.

No examples provided.

twchat-send_dm ~125

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 authenticated user cannot be the recipient: naming your own user id is rejected and nothing is sent, so report a summary in the conversation instead of messaging yourself in chat.

NameTypeReqDescription
bodystringyesThe message text. Supports Markdown.
user_idintegeryesThe ID of the person to send the direct message to. Must be somebody other than the authenticated user; see get_current_user.

No output schema declared.

No examples provided.

twchat-send_message ~57

Send a message to a Teamwork Chat conversation. Requires conversation_id and body.

NameTypeReqDescription
bodystringyesThe message text. Supports Markdown.
conversation_idintegeryesThe ID of the conversation to post the message to.

No output schema declared.

No examples provided.

twdesk-create_company ~123

Create Desk company.

NameTypeReqDescription
descriptionstringThe description of the company.
detailsstringThe details of the company.
domainsarrayThe domains for the company.
industrystringThe industry of the company.
kindstringThe kind of the company.
namestringyesThe name of the company.
notestringThe note for the company.
permissionstringThe permission level of the company.
websitestringThe website of the company.

No output schema declared.

No examples provided.

twdesk-create_customer ~186

Create customer.

NameTypeReqDescription
addressstringThe address of the customer.
emailstringThe email of the customer.
extraDatastringThe extra data of the customer.
facebookURLstringThe Facebook URL of the customer.
firstNamestringThe first name of the customer.
jobTitlestringThe job title of the customer.
lastNamestringThe last name of the customer.
linkedinURLstringThe LinkedIn URL of the customer.
mobilestringThe mobile number of the customer.
notesstringThe notes of the customer.
organizationstringThe organization of the customer.
phonestringThe phone number of the customer.
twitterHandlestringThe Twitter handle of the customer.

No output schema declared.

No examples provided.

twdesk-create_file ~79

Upload file. Attach the returned ID to tickets or messages.

NameTypeReqDescription
datastringyesThe content of the file as a base64-encoded string.
dispositionstringThe disposition of the file.
mimeTypestringyesThe MIME type of the file.
namestringyesThe name of the file.

No output schema declared.

No examples provided.

twdesk-create_helpdoc_article ~126

Create a new help doc article.

NameTypeReqDescription
contentsstringThe body content of the article.
descriptionstringA short description / summary of the article.
isPrivatebooleanSet to true to make the article private.
siteIDintegeryesThe ID of the help doc site to create the article in. Use twdesk-list_helpdoc_sites to discover.
statusstringPublication status of the article (e.g. "published", "draft").
titlestringyesThe title of the article.

No output schema declared.

No examples provided.

twdesk-create_priority ~38

Create ticket priority.

NameTypeReqDescription
colorstringThe color of the priority.
namestringyesThe name of the priority.

No output schema declared.

No examples provided.

twdesk-create_status ~52

Create ticket status.

NameTypeReqDescription
colorstringThe color of the status.
displayOrderintegerThe display order of the status.
namestringyesThe name of the status.

No output schema declared.

No examples provided.

twdesk-create_tag ~38

Create Desk tag.

NameTypeReqDescription
colorstringThe color of the tag.
namestringyesThe name of the tag.

No output schema declared.

No examples provided.

twdesk-create_ticket ~278

Create ticket.

NameTypeReqDescription
agentIdintegerAgent the ticket is assigned to. Use twdesk-list_users to discover.
bccarrayEmail addresses to BCC.
bodystringyesThe body of the ticket.
ccarrayEmail addresses to CC.
customerEmailstringCustomer email; required when customerId is not given. Existing customers are matched, otherwise a new customer is created.
customerIdintegerCustomer of the ticket. Use twdesk-list_customers to discover.
filesarrayFile IDs to attach. Use twdesk-create_file to upload.
inboxIdintegeryesInbox of the ticket. Use twdesk-list_inboxes to discover.
notifyCustomerbooleanSet to true if the customer should be sent a copy of the ticket.
priorityIdintegerPriority of the ticket. Use twdesk-list_priorities to discover.
statusIdintegerStatus of the ticket. Use twdesk-list_statuses to discover.
subjectstringyesThe subject of the ticket.
tagsarrayTags to associate with the ticket. Use twdesk-list_tags to discover.
typeIdintegerTicket type. Use twdesk-list_ticket_types to discover.

No output schema declared.

No examples provided.

twdesk-create_ticket_type ~62

Create ticket type.

NameTypeReqDescription
displayOrderintegerThe display order of the type.
enabledForFutureInboxesbooleanWhether the type is enabled for future inboxes.
namestringyesThe name of the ticket type.

No output schema declared.

No examples provided.

twdesk-get_company ~61

Get Desk company (customer organization).

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the company to retrieve.

No output schema declared.

No examples provided.

twdesk-get_customer ~57

Get customer.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the customer to retrieve.

No output schema declared.

No examples provided.

twdesk-get_helpdoc_article ~66

Get a help doc article by ID.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the help doc article to retrieve.

No output schema declared.

No examples provided.

twdesk-get_helpdoc_site ~80

Get a help doc site (knowledge base) by ID, including its subdomain, branding and article counts.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the help doc site to retrieve.

No output schema declared.

No examples provided.

twdesk-get_inbox ~58

Get inbox.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the inbox to retrieve.

No output schema declared.

No examples provided.

twdesk-get_priority ~58

Get ticket priority.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the priority to retrieve.

No output schema declared.

No examples provided.

twdesk-get_status ~58

Get ticket status.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the status to retrieve.

No output schema declared.

No examples provided.

twdesk-get_tag ~58

Get Desk tag.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the tag to retrieve.

No output schema declared.

No examples provided.

twdesk-get_ticket ~57

Get ticket.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the ticket to retrieve.

No output schema declared.

No examples provided.

twdesk-get_ticket_type ~60

Get ticket type.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the ticket type to retrieve.

No output schema declared.

No examples provided.

twdesk-get_user ~58

Get support agent.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
idintegeryesThe ID of the user to retrieve.

No output schema declared.

No examples provided.

twdesk-link_task_to_ticket ~85

Link a Teamwork Projects task to a Desk ticket, so the ticket shows the work tracked by that task.

NameTypeReqDescription
taskIdintegeryesThe ID of the Teamwork Projects task. Use twprojects-list_tasks or twprojects-search to discover.
ticketIdintegeryesThe ID of the Desk ticket. Use twdesk-search_tickets to discover.

No output schema declared.

No examples provided.

twdesk-list_companies ~188

List Desk companies. Filter by name, domains, or kind.

NameTypeReqDescription
domainsarrayThe domains of the company to filter by.
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
kindstringThe kind of the company to filter by.
namestringThe name of the company to filter by.
orderBystringThe field to order the results by.
orderDirectionstringThe direction to order the results by (asc, desc).
pageintegerPage number for pagination of results (1-based).
pageSizeintegerNumber of results per page for pagination (1-100). The API silently reduces anything above 100, so a larger value returns fewer results rather than more.

No output schema declared.

No examples provided.

twdesk-list_customers ~186

List customers. Filter by company or email.

NameTypeReqDescription
companyIDsarrayThe IDs of the companies to filter by.
companyNamesarrayThe names of the companies to filter by.
emailsarrayThe emails of the customers to filter by.
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
orderBystringThe field to order the results by.
orderDirectionstringThe direction to order the results by (asc, desc).
pageintegerPage number for pagination of results (1-based).
pageSizeintegerNumber of results per page for pagination (1-100). The API silently reduces anything above 100, so a larger value returns fewer results rather than more.

No output schema declared.

No examples provided.

twdesk-list_helpdoc_sites ~197

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.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
namearrayThe name of the help doc site to filter by.
orderBystringThe field to order the results by.
orderDirectionstringThe direction to order the results by (asc, desc).
pageintegerPage number for pagination of results (1-based).
pageSizeintegerNumber of results per page for pagination (1-100). The API silently reduces anything above 100, so a larger value returns fewer results rather than more.
subdomainarrayThe subdomain of the help doc site to filter by.

No output schema declared.

No examples provided.

twdesk-list_inboxes ~170

List inboxes. Filter by name or email.

NameTypeReqDescription
emailarrayThe email of the inbox to filter by.
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
namearrayThe name of the inbox to filter by.
orderBystringThe field to order the results by.
orderDirectionstringThe direction to order the results by (asc, desc).
pageintegerPage number for pagination of results (1-based).
pageSizeintegerNumber of results per page for pagination (1-100). The API silently reduces anything above 100, so a larger value returns fewer results rather than more.

No output schema declared.

No examples provided.

twdesk-list_priorities ~170

List ticket priorities. Filter by name or color.

NameTypeReqDescription
colorarrayThe color of the priority to filter by.
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
namearrayThe name of the priority to filter by.
orderBystringThe field to order the results by.
orderDirectionstringThe direction to order the results by (asc, desc).
pageintegerPage number for pagination of results (1-based).
pageSizeintegerNumber of results per page for pagination (1-100). The API silently reduces anything above 100, so a larger value returns fewer results rather than more.

No output schema declared.

No examples provided.

twdesk-list_statuses ~188

List ticket statuses. Filter by name, color, or code.

NameTypeReqDescription
codearrayThe code of the status to filter by.
colorarrayThe color of the status to filter by.
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
namearrayThe name of the status to filter by.
orderBystringThe field to order the results by.
orderDirectionstringThe direction to order the results by (asc, desc).
pageintegerPage number for pagination of results (1-based).
pageSizeintegerNumber of results per page for pagination (1-100). The API silently reduces anything above 100, so a larger value returns fewer results rather than more.

No output schema declared.

No examples provided.

twdesk-list_tags ~189

List Desk tags. Filter by name, color, or inbox.

NameTypeReqDescription
colorstringThe color of the tag to filter by.
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
inboxIDsarrayThe IDs of the inboxes to filter by.
namestringThe name of the tag to filter by.
orderBystringThe field to order the results by.
orderDirectionstringThe direction to order the results by (asc, desc).
pageintegerPage number for pagination of results (1-based).
pageSizeintegerNumber of results per page for pagination (1-100). The API silently reduces anything above 100, so a larger value returns fewer results rather than more.

No output schema declared.

No examples provided.

twdesk-list_ticket_types ~175

List ticket types. Filter by name or inbox.

NameTypeReqDescription
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
inboxIDsarrayFilter by inbox. Use twdesk-list_inboxes to discover.
namearrayThe name of the type to filter by.
orderBystringThe field to order the results by.
orderDirectionstringThe direction to order the results by (asc, desc).
pageintegerPage number for pagination of results (1-based).
pageSizeintegerNumber of results per page for pagination (1-100). The API silently reduces anything above 100, so a larger value returns fewer results rather than more.

No output schema declared.

No examples provided.

twdesk-list_users ~228

List support agents. For customers, use twdesk-list_customers.

NameTypeReqDescription
emailarrayThe email addresses of the users to filter by.
fieldsarraySparse fieldset: field names to include (e.g. ["id","name"]). Omit to receive all fields.
firstNamearrayThe first names of the users to filter by.
inboxIDsarrayThe IDs of the inboxes to filter by.
isPartTimebooleanWhether to include part-time users in the results.
lastNamearrayThe last names of the users to filter by.
orderBystringThe field to order the results by.
orderDirectionstringThe direction to order the results by (asc, desc).
pageintegerPage number for pagination of results (1-based).
pageSizeintegerNumber of results per page for pagination (1-100). The API silently reduces anything above 100, so a larger value returns fewer results rather than more.

No output schema declared.

No examples provided.

twdesk-reply_ticket ~107

Reply to a ticket. Use threadType=note for internal agent notes.

NameTypeReqDescription
bccarrayEmail addresses to BCC.
bodystringyesThe body of the message.
ccarrayEmail addresses to CC.
threadTypestring'message' is a customer-facing reply; 'note' is an internal agent note.
ticketIDintegeryesThe ID of the ticket that the message will be sent to.

No output schema declared.

No examples provided.

twdesk-search_helpdoc_articles ~129

Search help doc articles. Filter by search term, status, site, or category.

NameTypeReqDescription
categoryIDintegerFilter by help doc category ID.
pageintegerPage number (1-based).
pageSizeintegerNumber of results per page.
searchstringFree-text search term matched against article title and content.
siteIDintegerFilter by help doc site ID. Use twdesk-list_helpdoc_sites to discover.
statusstringFilter by article status (e.g. "published", "draft").

No output schema declared.

No examples provided.

twdesk-search_tickets ~659

Search tickets. Filter by inbox, customer, company, tag, status, priority, user, or creation date range. Name the attributes you need in fields: a ticket returned whole carries every activity, message, file and timelog identifier it has, and a full page of those is large enough to be truncated in transit. The record and page totals saturate at 10000: a search reporting exactly that many has 10000 or more, and asking for a page past the 10000th result is rejected rather than answered empty, so narrow the filters instead of paging deeper.

NameTypeReqDescription
companyIDsarrayFilter by company. Use twdesk-list_companies to discover.
createdAfterFilter by ticket creation date: only tickets created on or after this day. This search filters by whole days, so a time of day is ignored. Accepts an RFC 3339 timestamp (2026-08-03T14:30:00Z) or a pl…
createdBeforeFilter by ticket creation date: only tickets created on or before this day. This search filters by whole days, so a time of day is ignored. Accepts an RFC 3339 timestamp (2026-08-03T14:30:00Z) or a p…
customerIDsarrayFilter by customer. Use twdesk-list_customers to discover.
fieldsarrayThe attributes to return for each ticket, from the listed names. Omit to receive the whole record, which carries every activity, message, file and timelog identifier the ticket has and is large enoug…
inboxIDsarrayFilter by inbox. Use twdesk-list_inboxes to discover.
omitMergedbooleanIf true, exclude tickets that have been merged into another ticket. Merged tickets are not a status, so they cannot be filtered out with statusIDs. Defaults to false, which returns them alongside the…
orderBystringThe field to order the results by.
orderDirectionstringThe direction to order the results by (asc, desc).
pageintegerPage number for pagination of results (1-based).
pageSizeintegerNumber of results per page for pagination (1-200). The API silently reduces anything above 200, so a larger value returns fewer results rather than more.
priorityIDsarrayFilter by priority. Use twdesk-list_priorities to discover.
searchstringSearch term matched against subject, body, and other ticket fields.
statusIDsarrayFilter by status. Use twdesk-list_statuses to discover.
tagIDsarrayFilter by tag. Use twdesk-list_tags to discover.
userIDsarrayFilter by user. Use twdesk-list_users to discover.

No output schema declared.

No examples provided.

twdesk-unlink_task_from_ticket ~85

Unlink a Teamwork Projects task from a Desk ticket. The task and the ticket themselves are kept.

NameTypeReqDescription
taskIdintegeryesThe ID of the Teamwork Projects task. Use twprojects-list_tasks or twprojects-search to discover.
ticketIdintegeryesThe ID of the Desk ticket. Use twdesk-search_tickets to discover.

No output schema declared.

No examples provided.

twdesk-update_company ~146

Update Desk company.

NameTypeReqDescription
descriptionstringThe new description of the company.
detailsstringThe new details of the company.
domainsarrayThe new domains for the company.
idintegeryesThe ID of the company to update.
industrystringThe new industry of the company.
kindstringThe new kind of the company.
namestringThe new name of the company.
notestringThe new note for the company.
permissionstringThe new permission level of the company.
websitestringThe new website of the company.

No output schema declared.

No examples provided.

twdesk-update_customer ~213

Update customer.

NameTypeReqDescription
addressstringThe new address of the customer.
emailstringThe new email of the customer.
extraDatastringThe new extra data of the customer.
facebookURLstringThe new Facebook URL of the customer.
firstNamestringThe new first name of the customer.
idintegeryesThe ID of the customer to update.
jobTitlestringThe new job title of the customer.
lastNamestringThe new last name of the customer.
linkedinURLstringThe new LinkedIn URL of the customer.
mobilestringThe new mobile number of the customer.
notesstringThe new notes of the customer.
organizationstringThe new organization of the customer.
phonestringThe new phone number of the customer.
twitterHandlestringThe new Twitter handle of the customer.

No output schema declared.

No examples provided.

twdesk-update_helpdoc_article ~111

Update an existing help doc article.

NameTypeReqDescription
contentsstringThe new body content of the article.
descriptionstringA short description / summary of the article.
idintegeryesThe ID of the help doc article to update.
isPrivatebooleanSet to true to make the article private.
statusstringPublication status (e.g. "published", "draft").
titlestringThe new title of the article.

No output schema declared.

No examples provided.

twdesk-update_priority ~53

Update ticket priority.

NameTypeReqDescription
colorstringThe color of the priority.
idintegeryesThe ID of the priority to update.
namestringThe new name of the priority.

No output schema declared.

No examples provided.

twdesk-update_status ~67

Update ticket status.

NameTypeReqDescription
colorstringThe color of the status.
displayOrderintegerThe display order of the status.
idintegeryesThe ID of the status to update.
namestringThe new name of the status.

No output schema declared.

No examples provided.

twdesk-update_tag ~53

Update Desk tag.

NameTypeReqDescription
colorstringThe color of the tag.
idintegeryesThe ID of the tag to update.
namestringThe new name of the tag.

No output schema declared.

No examples provided.

twdesk-update_ticket ~222

Update ticket.

NameTypeReqDescription
agentIdintegerAgent the ticket is assigned to. Use twdesk-list_users to discover.
bccarrayEmail addresses to BCC.
bodystringThe body of the ticket.
ccarrayEmail addresses to CC.
deleteTagsarrayTags to remove from the ticket. Use twdesk-list_tags to discover.
idintegeryesThe ID of the ticket to update.
inboxIdintegerInbox of the ticket. Use twdesk-list_inboxes to discover.
priorityIdintegerPriority of the ticket. Use twdesk-list_priorities to discover.
statusIdintegerStatus of the ticket. Use twdesk-list_statuses to discover.
subjectstringThe subject of the ticket.
tagsarrayTags to associate with the ticket. Use twdesk-list_tags to discover.
typeIdintegerTicket type. Use twdesk-list_ticket_types to discover.

No output schema declared.

No examples provided.

twdesk-update_ticket_type ~77

Update ticket type.

NameTypeReqDescription
displayOrderintegerThe display order of the type.
enabledForFutureInboxesbooleanWhether the type is enabled for future inboxes.
idintegeryesThe ID of the ticket type to update.
namestringThe new name of the type.

No output schema declared.

No examples provided.

Common questions

What is the com.teamwork/mcp server?

com.teamwork/mcp is listed in the public MCP registry as com.teamwork/mcp. The Teamwork.com official MCP server helps teams efficiently manage client projects with AI. This page covers its container image (docker.io/teamwork/mcp:v1.43.2).

Is the com.teamwork/mcp server safe to use?

com.teamwork/mcp scores 38 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the com.teamwork/mcp server expose?

com.teamwork/mcp exposes 213 tools: twprojects-get_task, twprojects-list_tasks, twprojects-create_task, twprojects-list_comments, twprojects-update_task, and 208 more. Their descriptions and schemas cost roughly 39,338 tokens of context every time the server is loaded.

Is the com.teamwork/mcp server still maintained?

com.teamwork/mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.