Teamwork.com

Run Teamwork projects, help desk, spaces and chat from an AI agent.

Opens Agent Studio, where connecting is one click. The connector URL below works in any MCP client.

Paste it into any MCP client. Setup docs

What the Teamwork.com connector does

The Teamwork.com MCP server connects Teamwork's project management, help desk, knowledge spaces and chat to Claude and any MCP-compatible agent. We read 213 tools from it live, with full schemas and safety annotations. Profile endpoints let you load a focused subset instead of all of them.

Connection verified

Connection checked by Agentman on .

Listed in Anthropic’s Connectors Directory at community tier — a listing, not a partner-level review.

Anthropic states this reflects the level of review a connector received, not a security audit.

Teamwork.com tools (213)

  • twprojects-get_taskRead-only

    Get task.

  • twprojects-list_tasksRead-only

    List tasks with structured filters (tasklist_id, project_id, or site-wide). For keyword search use search. Completed tasks and tasks in completed tasklists are excluded unless show_completed is true, so an empty result may mean the matching work is already done rather than missing. Ask for "late", "overdue", "due today", "started" or "upcoming" work through date_filter, and leave people out through exclude_assignee_user_ids, rather than reading rows and filtering them yourself.

  • twprojects-create_taskActs

    Create task in a tasklist.

  • twprojects-list_commentsRead-only

    List comments. Scope by one of task_id, milestone_id, notebook_id, link_id, or file_version_id; omit all for site-wide. Comment bodies are truncated at 500 characters and marked where they are cut; use twprojects-get_comment for the full text.

  • twprojects-update_taskActs

    Update task.

  • twprojects-list_projectsRead-only

    List projects with structured filters (membership, progress state, health, category, tag, company, owner). For "my projects" pass user_ids with the ID from twprojects-get_user_me, or only_starred. For projects that have slipped pass project_statuses=["late"] — a project row carries no late flag, so this filter is the only way to ask.

  • twprojects-create_timelogActs

    Create timelog entry against a project or task.

  • twprojects-list_timelogsRead-only

    List timelogs. Scope by project_id or task_id, or omit for site-wide.

  • twprojects-searchRead-only

    Cross-entity keyword search across projects, tasks, messages, comments, users and more; restrict which entity types are searched with types. Long content fields in the sideloaded records are truncated at 500 characters and marked where they are cut; the marker names the tool that returns the full record. Completed items are excluded unless include_completed_items is true, so an empty result may mean the matching work is already done rather than missing.

  • twprojects-list_tasklistsRead-only

    List tasklists. Scope by project_id or omit for site-wide.

  • twprojects-create_commentActs

    Create comment on a task, milestone, notebook, file, or link.

  • twprojects-get_tasklistRead-only

    Get tasklist.

  • twprojects-get_projectRead-only

    Get project.

  • twdesk-get_ticketRead-only

    Get ticket.

  • twprojects-update_timelogActs

    Update timelog. It can also be moved to another project or task.

  • twprojects-list_activitiesRead-only

    List recent activity events. Scope by project_id or omit for site-wide.

  • twprojects-move_task_to_workflow_stageActs

    Move one or more tasks to a workflow stage.

  • twprojects-complete_taskActs

    Mark task complete.

  • twdesk-search_ticketsRead-only

    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.

  • twprojects-list_usersRead-only

    List users. Scope by project_id or filter by type (account/collaborator/contact).

  • twchat-get_conversationRead-only

    Get a single Teamwork Chat conversation by ID.

  • twchat-get_current_userRead-only

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

  • twchat-get_or_create_dmActs

    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.

  • twchat-list_conversationsRead-only

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

Show the other 189 tools
  • twchat-list_messagesRead-only

    List messages within a Teamwork Chat conversation. Requires conversation_id.

  • twchat-list_peopleRead-only

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

  • twchat-send_dmActs

    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.

  • twchat-send_messageActs

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

  • twdesk-create_companyActs

    Create Desk company.

  • twdesk-create_customerActs

    Create customer.

  • twdesk-create_fileActs

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

  • twdesk-create_helpdoc_articleActs

    Create a new help doc article.

  • twdesk-create_priorityActs

    Create ticket priority.

  • twdesk-create_statusActs

    Create ticket status.

  • twdesk-create_tagActs

    Create Desk tag.

  • twdesk-create_ticketDestructive

    Create ticket.

  • twdesk-create_ticket_typeActs

    Create ticket type.

  • twdesk-get_companyRead-only

    Get Desk company (customer organization).

  • twdesk-get_customerRead-only

    Get customer.

  • twdesk-get_helpdoc_articleRead-only

    Get a help doc article by ID.

  • twdesk-get_helpdoc_siteRead-only

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

  • twdesk-get_inboxRead-only

    Get inbox.

  • twdesk-get_priorityRead-only

    Get ticket priority.

  • twdesk-get_statusRead-only

    Get ticket status.

  • twdesk-get_tagRead-only

    Get Desk tag.

  • twdesk-get_ticket_typeRead-only

    Get ticket type.

  • twdesk-get_userRead-only

    Get support agent.

  • twdesk-link_task_to_ticketActs

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

  • twdesk-list_companiesRead-only

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

  • twdesk-list_customersRead-only

    List customers. Filter by company or email.

  • twdesk-list_helpdoc_sitesRead-only

    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_inboxesRead-only

    List inboxes. Filter by name or email.

  • twdesk-list_prioritiesRead-only

    List ticket priorities. Filter by name or color.

  • twdesk-list_statusesRead-only

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

  • twdesk-list_tagsRead-only

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

  • twdesk-list_ticket_typesRead-only

    List ticket types. Filter by name or inbox.

  • twdesk-list_usersRead-only

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

  • twdesk-reply_ticketDestructive

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

  • twdesk-search_helpdoc_articlesRead-only

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

  • twdesk-unlink_task_from_ticketDestructive

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

  • twdesk-update_companyActs

    Update Desk company.

  • twdesk-update_customerActs

    Update customer.

  • twdesk-update_helpdoc_articleActs

    Update an existing help doc article.

  • twdesk-update_priorityActs

    Update ticket priority.

  • twdesk-update_statusActs

    Update ticket status.

  • twdesk-update_tagActs

    Update Desk tag.

  • twdesk-update_ticketActs

    Update ticket.

  • twdesk-update_ticket_typeActs

    Update ticket type.

  • twprojects-add_project_fileActs

    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 pass the reference here. Returns a numeric file ID which, unlike a reference, survives being used: pass it in attachment_file_ids on twprojects-create_task or twprojects-update_task to attach the same file to as many tasks as needed. Attaching a reference to a task, comment or message already files it here, so use this tool to store a file on its own, to describe or categorise it, or when it has to reach more than one place.

  • twprojects-add_project_memberActs

    Add a user to a project.

  • twprojects-clone_projectActs

    Clone/copy an existing project or instantiate one from a template.

  • twprojects-complete_timerActs

    Stop a timer permanently and convert it to a timelog. Use pause_timer to pause without converting.

  • twprojects-count_milestonesRead-only

    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 of paging twprojects-list_milestones to count rows. Use twprojects-list_milestones when the rows are needed.

  • twprojects-count_projectsRead-only

    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, per owner, matching a term) instead of paging twprojects-list_projects to count rows. Use twprojects-list_projects when the rows are needed.

  • twprojects-count_tasksRead-only

    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 window) instead of paging twprojects-list_tasks to count rows. Note due_before excludes tasks with no due date, unless a related milestone due date matches. Use twprojects-list_tasks when the rows are needed.

  • twprojects-count_timelogsRead-only

    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 twprojects-summarize_timelogs. Use for "how many time entries" questions (per project, per task, per person, in a date window) instead of paging twprojects-list_timelogs to count rows.

  • twprojects-create_allocationActs

    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_companyActs

    Create company (aka client).

  • twprojects-create_custom_fieldActs

    Create custom field.

  • twprojects-create_custom_field_valueActs

    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_itemActs

    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 else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-create_custom_item_fieldActs

    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 are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-create_custom_item_recordActs

    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 internal IDs. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-create_fileActs

    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 reference; pass it in attachment_refs on twprojects-create_task, twprojects-update_task, twprojects-create_comment or twprojects-create_message. Content is sent inline as base64, which means you have to emit the whole file as text, so use twprojects-create_upload_url instead for anything that already exists as a file — it hands back a URL to send the bytes to directly, and is the only safe option for a document that must stay byte-for-byte identical.

  • twprojects-create_jobroleActs

    Create job role.

  • twprojects-create_linkActs

    Create link.

  • twprojects-create_messageActs

    Create message in a project.

  • twprojects-create_message_replyActs

    Create message reply.

  • twprojects-create_milestoneActs

    Create milestone in a project.

  • twprojects-create_notebookActs

    Create notebook in a project.

  • twprojects-create_projectActs

    Create project.

  • twprojects-create_project_categoryActs

    Create project category.

  • twprojects-create_project_templateActs

    Create project template.

  • twprojects-create_skillActs

    Create skill.

  • twprojects-create_tagActs

    Create tag.

  • twprojects-create_tasklistActs

    Create tasklist in a project.

  • twprojects-create_teamActs

    Create team.

  • twprojects-create_timerActs

    Create and start a timer.

  • twprojects-create_upload_urlActs

    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, an image, a signed document — because the bytes go straight from you to storage and are never read into the conversation. Send the file with the returned method and URL, setting exactly the headers returned and no authorization of your own. Then pass the reference in attachment_refs on twprojects-create_task, twprojects-update_task, twprojects-create_comment or twprojects-create_message. Prefer twprojects-create_file only for short text you are generating yourself.

  • twprojects-create_userActs

    Create user.

  • twprojects-create_workflowActs

    Create workflow.

  • twprojects-create_workflow_stageActs

    Create workflow stage.

  • twprojects-download_fileRead-only

    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. Files over 10 MB are refused; point the user at the file's downloadURL from twprojects-get_file instead. The file ID is in a task's or message reply's attachments and a comment's files (each {id, type: "files"}), or comes from twprojects-list_files.

  • twprojects-get_allocationRead-only

    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 allocations.

  • twprojects-get_commentRead-only

    Get comment.

  • twprojects-get_companyRead-only

    Get company (aka client).

  • twprojects-get_custom_fieldRead-only

    Get custom field.

  • twprojects-get_custom_field_valueRead-only

    Get a single custom field value from a task, project or company.

  • twprojects-get_custom_itemRead-only

    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 types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-get_custom_item_fieldRead-only

    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 project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-get_custom_item_recordRead-only

    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 entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-get_fileRead-only

    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 caller's own Teamwork session, so hand it to a signed-in user rather than fetching it; use twprojects-download_file to read the content here.

  • twprojects-get_jobroleRead-only

    Get job role.

  • twprojects-get_linkRead-only

    Get link.

  • twprojects-get_messageRead-only

    Get message.

  • twprojects-get_message_replyRead-only

    Get message reply.

  • twprojects-get_milestoneRead-only

    Get milestone.

  • twprojects-get_notebookRead-only

    Get notebook.

  • twprojects-get_project_categoryRead-only

    Get project category.

  • twprojects-get_skillRead-only

    Get skill.

  • twprojects-get_tagRead-only

    Get tag.

  • twprojects-get_teamRead-only

    Get team.

  • twprojects-get_timelogRead-only

    Get timelog.

  • twprojects-get_timerRead-only

    Get timer.

  • twprojects-get_userRead-only

    Get user.

  • twprojects-get_user_meRead-only

    Get the currently authenticated user.

  • twprojects-get_workflowRead-only

    Get workflow.

  • twprojects-get_workflow_stageRead-only

    Get workflow stage.

  • twprojects-link_project_to_workflowActs

    Link a project to a workflow so its tasks track through workflow stages.

  • twprojects-link_task_to_allocationActs

    Link one task to an allocation, showing what task work sits behind the committed time. The task and the allocation must be in the same project. This adds a single link and leaves the allocation's other links alone, unlike linked_task_ids on twprojects-update_allocation, which replaces the whole set.

  • twprojects-list_allocationsRead-only

    List scheduler allocations — who is committed to which project, and when. ALWAYS pass start_date and end_date: with neither set the endpoint returns only today through 30 days from today, and says nothing about having narrowed the range, so an unbounded call silently answers a question about a wider period with one month of data. Allocations are planned time and a separate plane from task estimates and logged time; the two are not summed. linkedTaskEstimatedTime counts each linked task whole and must not be summed across allocations.

  • twprojects-list_calendar_eventsRead-only

    List events from a calendar, including time-blocking events that link a calendar slot to a Teamwork project, task or timelog. Omit calendar_id to read the calling user's own calendar. Use twprojects-list_calendars to name a different one; the calendar of type 'blocked_time' holds the account's time-blocking events.

  • twprojects-list_calendarsRead-only

    List calendars. Calendars hold events such as meetings, out-of-office periods and time-blocking entries; the calendar of type 'blocked_time' holds the account's time-blocking events.

  • twprojects-list_companiesRead-only

    List companies (aka clients).

  • twprojects-list_custom_field_valuesRead-only

    List the custom field values of a task, project or company.

  • twprojects-list_custom_fieldsRead-only

    List custom fields.

  • twprojects-list_custom_item_fieldsRead-only

    List fields on a custom item type. Each entry includes the twId you need when writing record values. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-list_custom_item_recordsRead-only

    List records on a custom item type. Returns each record with field values keyed by display name. Use the section_ids filter to scope to a specific section. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-list_custom_itemsRead-only

    List the custom item types defined on a project. Returns each type's id, display name and labels — call get_custom_item to see a type's fields and sections. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-list_filesRead-only

    List the files in a project's files area, or across every project when no project_id is given. Files attached to tasks, comments and messages live there too, so task_id answers "what is attached to this task". Deleted files are left out unless show_deleted is true. Each row carries a downloadURL that needs the caller's own Teamwork session; use twprojects-download_file to read the content here.

  • twprojects-list_industriesRead-only

    List supported company (aka client) industries.

  • twprojects-list_jobrolesRead-only

    List job roles.

  • twprojects-list_linksRead-only

    List links.

  • twprojects-list_message_repliesRead-only

    List replies under a message thread. Filter by message_ids or project_ids.

  • twprojects-list_messagesRead-only

    List project messages (top-level posts). Use twprojects-list_message_replies for thread replies.

  • twprojects-list_milestonesRead-only

    List milestones. Scope by project_id or omit for site-wide. Completed milestones are included by default; pass show_completed false to see only the outstanding ones. Use due_after and due_before to bound the deadline instead of listing everything and filtering afterwards.

  • twprojects-list_notebooksRead-only

    List notebooks.

  • twprojects-list_project_budgetsRead-only

    Lists top-level project budgets. Filters: project_ids, status.Returns only budgeted projects (diff with twprojects-list_projects for budgetless).Filter server-side via project_ids when known. 1-based page pagination (pageOffset = page - 1)

  • twprojects-list_project_categoriesRead-only

    List project categories.

  • twprojects-list_project_templatesRead-only

    List project templates.

  • twprojects-list_project_updatesRead-only

    List project updates: the Markdown text on a project's dashboard and the health it reports. Nothing else returns either — a project row carries no health, and the activity log holds a preview of the text, not the text. Newest first. Only each project's current update is returned unless active_only is false, so an unfiltered call is not the whole history. Rows carry text (Markdown, in full, emoji codes already converted to characters), health (0 not set, 1 bad, 2 ok, 3 good), healthLabel (the name this installation gives that rating — read it, never build one from health) and color (hex, empty when the health is not set). The author and the project are bare IDs, sideloaded under included when verbose is true. Keep a response small with fields and page_size; verbose=false drops the text and returns the ratings.

  • twprojects-list_skillsRead-only

    List skills.

  • twprojects-list_tagsRead-only

    List tags.

  • twprojects-list_tasklist_budgetsRead-only

    List tasklist budgets nested under a project budget. Requires project_budget_id.

  • twprojects-list_teamsRead-only

    List teams. Scope by company_id or project_id, or omit for site-wide.

  • twprojects-list_timersRead-only

    List timers.

  • twprojects-list_workflow_stagesRead-only

    List workflow stages.

  • twprojects-list_workflowsRead-only

    List workflows.

  • twprojects-move_tasksActs

    Move tasks and all their subtasks to another tasklist, preserving the parent/child structure. Subtasks move with their parent automatically, so only the topmost task of each subtree needs to be listed. A task whose parent is not part of the move is detached from it, becoming a top-level task in the destination.

  • twprojects-pause_timerActs

    Pause a running timer; can be resumed later. Use complete_timer to stop permanently.

  • twprojects-restore_allocationActs

    Restore a deleted allocation. Find the ID first with twprojects-list_allocations and show_deleted set, since a deleted allocation is otherwise not returned.

  • twprojects-resume_timerActs

    Resume a paused timer back to running.

  • twprojects-summarize_timelogsRead-only

    Complete time totals for a date window, grouped by user, project or task (rows in groups) or by day, week or month (rows in periods). One call returns every row, in exact minutes and hours to 2 decimals. Prefer it over twprojects-list_timelogs for any total, sum or breakdown; list_timelogs is for individual entries. Minutes are authoritative, unbilledBillable = billable − billed, and rows sum to totals. One dimension per call: for hours per user per week, call once per user with user_ids. Task rows omit project-level and subtask time, so never add totals across group_by values. Period rows cover every period in order, zeros included, first and last clipped to the window; weeks follow the caller's start-of-week setting, so buckets can differ per user, and a weekend-only week with no time is dropped.

  • twprojects-unlink_task_from_allocationActs

    Remove the link between one task and an allocation. Only the association is removed: both the task and the allocation are left in place. This removes a single link and leaves the allocation's other links alone.

  • twprojects-update_allocationActs

    Update an allocation. Changing end_date ADDS or REMOVES committed time rather than redistributing it, because the per-day rate is what is held constant.

  • twprojects-update_commentActs

    Update comment.

  • twprojects-update_companyActs

    Update company (aka client).

  • twprojects-update_custom_fieldActs

    Update custom field.

  • twprojects-update_custom_field_valueActs

    Update a custom field value on a task, project or company.

  • twprojects-update_custom_itemActs

    Update a custom item type's display name, description, or labels. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-update_custom_item_fieldActs

    Update a 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 project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-update_custom_item_recordActs

    Update a record on a custom item type. Only the fields you supply are changed; others are left as-is. Set section_id to null to remove the record from any section. Custom items are user-defined entity types — Contracts, Leads, Deals, or anything else a customer has set up on a project. Use these tools when the user refers to an entity that is NOT a built-in Teamwork concept (Task, Tasklist, Project, Milestone, Comment, Notebook, Company, Team, User, Tag). If you don't recognise an entity name in the user's request, assume it is a custom item and call twprojects-list_custom_items on the relevant project to confirm.

  • twprojects-update_jobroleActs

    Update job role.

  • twprojects-update_linkActs

    Update link.

  • twprojects-update_messageActs

    Update message.

  • twprojects-update_message_replyActs

    Update message reply.

  • twprojects-update_milestoneActs

    Update milestone.

  • twprojects-update_notebookActs

    Update notebook.

  • twprojects-update_projectActs

    Update project.

  • twprojects-update_project_categoryActs

    Update project category.

  • twprojects-update_skillActs

    Update skill.

  • twprojects-update_tagActs

    Update tag.

  • twprojects-update_tasklistActs

    Update tasklist.

  • twprojects-update_teamActs

    Update team.

  • twprojects-update_timerActs

    Update timer.

  • twprojects-update_userActs

    Update user.

  • twprojects-update_workflowActs

    Update workflow.

  • twprojects-update_workflow_stageActs

    Update workflow stage.

  • twprojects-users_workloadRead-only

    Get task allocation across users for a date range. (workload of users)

  • twspaces-create_categoryActs

    Create space category.

  • twspaces-create_commentActs

    Create comment on a page. Use parentId for replies.

  • twspaces-create_pageActs

    Create page in a space.

  • twspaces-create_spaceActs

    Create space.

  • twspaces-create_tagsActs

    Create one or more Spaces tags in a single request.

  • twspaces-duplicate_pageActs

    Duplicate page with a new title.

  • twspaces-get_categoryRead-only

    Get space category.

  • twspaces-get_commentRead-only

    Get page comment.

  • twspaces-get_homepageRead-only

    Get a space's homepage.

  • twspaces-get_pageRead-only

    Get page. Returns content, metadata, tags, and revision info.

  • twspaces-get_spaceRead-only

    Get space.

  • twspaces-get_tagRead-only

    Get Spaces tag.

  • twspaces-list_categoriesRead-only

    List space categories.

  • twspaces-list_commentsRead-only

    List comments on a page. Returns top-level comments with replies.

  • twspaces-list_pagesRead-only

    List pages in a space as a hierarchical tree.

  • twspaces-list_space_collaboratorsRead-only

    List space collaborators (users and teams).

  • twspaces-list_spacesRead-only

    List spaces.

  • twspaces-list_tagsRead-only

    List Spaces tags.

  • twspaces-searchRead-only

    Full-text search across pages. Filter by space.

  • twspaces-update_categoryActs

    Update space category.

  • twspaces-update_commentActs

    Update page comment.

  • twspaces-update_pageActs

    Update page. Note: content and publish changes update the published page only, not the live collaborative editor draft; if the page has an active editor draft, re-publishing from the Spaces web editor can overwrite these changes (known Spaces limitation).

  • twspaces-update_spaceActs

    Update space.

  • twspaces-update_tagActs

    Update Spaces tag.

Read from the server on 2026-09-12, including each tool's own safety annotations.

Limits

  • The directory's tool count is badly stale. It lists 100; the server returns 213. Anything built from the listing alone would describe under half the connector.
  • A readable listing is not an open server. tools/list answered anonymously, which is how we read the schemas, but we never called a tool and Teamwork documents Bearer/OAuth2 auth. Treat the connector as authenticated.
  • An administrator gate exists. MCP must be enabled for the site under Settings → AI, so an individual user may not be able to connect alone.
  • list_* tools are incompatible with OpenAI strict structured output, per Teamwork's own note, because their schemas mark every property optional to support verbose=false.
  • The destructive flag is narrow. Only 3 of 102 write tools carry it. Use readOnlyHint: false as the write boundary.
  • SSE transport, not streamable HTTP — the only one of its kind in this batch, and a client that assumes streamable HTTP will not connect.

Frequently asked questions

How many tools does the Teamwork.com MCP server have?

213, read live from the server on 12 September 2026. Anthropic's directory lists 100, so the listing is less than half the real surface. Teamwork groups them across four products: 139 for Projects, 42 for Desk, 24 for Spaces and 8 for Chat. Every one carries safety annotations.

Can I connect to Teamwork.com with a smaller tool list?

Yes, and this is the most useful thing about the server. Teamwork publishes profile endpoints that load a subset: we measured the Support profile returning 20 tools and Knowledge Manager 24, against 213 on the main endpoint. Project Manager, Analyst, Desk and Ops profiles are also documented.

Do I need to sign in to use the Teamwork.com MCP server?

Yes, for real work. The tool listing answered our anonymous request, which is how we read all 213 schemas, but a readable listing is not an open server and we did not call a tool. Teamwork documents Bearer token and OAuth2 authentication, and an administrator must enable MCP under Settings then AI.

Which Teamwork.com tools can delete or change things?

102 of the 213 are explicitly marked not read-only, covering creates, updates and links across all four products. Only three carry a destructive flag: create ticket, reply to ticket, and unlink task from ticket. That asymmetry is the vendor's own annotation choice, not a summary of blast radius.

Does the Teamwork.com MCP server work with strict structured output?

Not for the list tools. Teamwork documents that list tool output schemas mark every property optional to support a verbose false mode, which is incompatible with OpenAI's strict structured-output mode. Clients targeting list tools must disable strict mode. The single-entity get tools keep strict schemas and remain compatible.

What is the verbose flag on Teamwork.com list tools?

A response-size control, defaulting to true. With verbose true you get full entity details including sideloaded related data. With verbose false you get a minimal subset, typically an id and a name, which Teamwork recommends when scanning many results to pick an id before fetching one record in detail.

Sources

Use it in an agent

Put Teamwork.com to work.

Connect Teamwork.com once and your agents call these tools on their own: on a schedule, in a workflow, with nobody at the keyboard.

Call (650) 285-1019Our AI receptionist answers.