Teamwork.com MCP server icon

Teamwork.com

by Teamwork.com

HIPAA CompliantSOC2 ReadyISO 27001 Ready
Productivity213 tools

Run Teamwork projects, help desk, spaces and chat from an AI agent. 213 tools verified live; profile endpoints cut that to 20 if you want less.

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.

Connect Teamwork.com via MCP

https://mcp.ai.teamwork.com/

Works in any MCP-compatible client. In Agentman Studio it is one click — no config file to edit.

Use in Agentman

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

Open in Agentman Studio

Teamwork.com Tools & Capabilities (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.

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

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.

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.

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.

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.

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.

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

Server Info

Category
Productivity
Developer
Teamwork.com
Tools
213
Domain
mcp.ai.teamwork.com

Using Claude Desktop or another MCP client? Setup docs — the connection URL above works anywhere.

Ready to connect Teamwork.com?

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