mcp
The Teamwork.com official MCP server helps teams efficiently manage client projects with AI.
25 stars
Reviews
Write oneNobody has reviewed mcp yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Tools (213, 86 write)
write = sends, deletes, buys or poststwchat-get_conversationFreeGet a single Teamwork Chat conversation by ID.
twchat-get_current_userFreeGet the current authenticated Teamwork Chat user, including identity, counts (unread conversations/messages, mentions), and settings.
twchat-get_or_create_dmwrite actionFreeGet 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_conversationsFreeList Teamwork Chat conversations the current user is a member of.
twchat-list_messagesFreeList messages within a Teamwork Chat conversation. Requires conversation_id.
twchat-list_peopleFreeList people in the Teamwork Chat installation. Useful for resolving names to user IDs.
twchat-send_dmwrite actionFreeSend 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_messagewrite actionFreeSend a message to a Teamwork Chat conversation. Requires conversation_id and body.
twdesk-create_companywrite actionFreeCreate Desk company.
twdesk-create_customerwrite actionFreeCreate customer.
twdesk-create_filewrite actionFreeUpload file. Attach the returned ID to tickets or messages.
twdesk-create_helpdoc_articlewrite actionFreeCreate a new help doc article.
twdesk-create_prioritywrite actionFreeCreate ticket priority.
twdesk-create_statuswrite actionFreeCreate ticket status.
twdesk-create_tagwrite actionFreeCreate Desk tag.
twdesk-create_ticketwrite actionFreeCreate ticket.
twdesk-create_ticket_typewrite actionFreeCreate ticket type.
twdesk-get_companyFreeGet Desk company (customer organization).
twdesk-get_customerFreeGet customer.
twdesk-get_helpdoc_articleFreeGet a help doc article by ID.
twdesk-get_helpdoc_siteFreeGet a help doc site (knowledge base) by ID, including its subdomain, branding and article counts.
twdesk-get_inboxFreeGet inbox.
twdesk-get_priorityFreeGet ticket priority.
twdesk-get_statusFreeGet ticket status.
twdesk-get_tagFreeGet Desk tag.
twdesk-get_ticketFreeGet ticket.
twdesk-get_ticket_typeFreeGet ticket type.
twdesk-get_userFreeGet support agent.
twdesk-link_task_to_ticketFreeLink a Teamwork Projects task to a Desk ticket, so the ticket shows the work tracked by that task.
twdesk-list_companiesFreeList Desk companies. Filter by name, domains, or kind.
twdesk-list_customersFreeList customers. Filter by company or email.
twdesk-list_helpdoc_sitesFreeList 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_inboxesFreeList inboxes. Filter by name or email.
twdesk-list_prioritiesFreeList ticket priorities. Filter by name or color.
twdesk-list_statusesFreeList ticket statuses. Filter by name, color, or code.
twdesk-list_tagsFreeList Desk tags. Filter by name, color, or inbox.
twdesk-list_ticket_typesFreeList ticket types. Filter by name or inbox.
twdesk-list_usersFreeList support agents. For customers, use twdesk-list_customers.
twdesk-reply_ticketFreeReply to a ticket. Use threadType=note for internal agent notes.
twdesk-search_helpdoc_articlesFreeSearch help doc articles. Filter by search term, status, site, or category.
twdesk-search_ticketsFreeSearch 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.
twdesk-unlink_task_from_ticketFreeUnlink a Teamwork Projects task from a Desk ticket. The task and the ticket themselves are kept.
twdesk-update_companywrite actionFreeUpdate Desk company.
twdesk-update_customerwrite actionFreeUpdate customer.
twdesk-update_helpdoc_articlewrite actionFreeUpdate an existing help doc article.
twdesk-update_prioritywrite actionFreeUpdate ticket priority.
twdesk-update_statuswrite actionFreeUpdate ticket status.
twdesk-update_tagwrite actionFreeUpdate Desk tag.
twdesk-update_ticketwrite actionFreeUpdate ticket.
twdesk-update_ticket_typewrite actionFreeUpdate ticket type.
twprojects-add_project_fileFreeStore 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_memberFreeAdd a user to a project.
twprojects-clone_projectFreeClone/copy an existing project or instantiate one from a template.
twprojects-complete_taskFreeMark task complete.
twprojects-complete_timerFreeStop a timer permanently and convert it to a timelog. Use pause_timer to pause without converting.
twprojects-count_milestonesFreeExact 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_projectsFreeExact 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_tasksFreeExact 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_timelogsFreeExact 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_allocationwrite actionFreeCommit 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_commentwrite actionFreeCreate comment on a task, milestone, notebook, file, or link.
twprojects-create_companywrite actionFreeCreate company (aka client).
twprojects-create_custom_fieldwrite actionFreeCreate custom field.
twprojects-create_custom_field_valuewrite actionFreeSet 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_itemwrite actionFreeCreate 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_fieldwrite actionFreeAdd 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_recordwrite actionFreeCreate 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_filewrite actionFreeUpload 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_jobrolewrite actionFreeCreate job role.
twprojects-create_linkwrite actionFreeCreate link.
twprojects-create_messagewrite actionFreeCreate message in a project.
twprojects-create_message_replywrite actionFreeCreate message reply.
twprojects-create_milestonewrite actionFreeCreate milestone in a project.
twprojects-create_notebookwrite actionFreeCreate notebook in a project.
twprojects-create_projectwrite actionFreeCreate project.
twprojects-create_project_categorywrite actionFreeCreate project category.
twprojects-create_project_templatewrite actionFreeCreate project template.
twprojects-create_skillwrite actionFreeCreate skill.
twprojects-create_tagwrite actionFreeCreate tag.
twprojects-create_taskwrite actionFreeCreate task in a tasklist.
twprojects-create_tasklistwrite actionFreeCreate tasklist in a project.
twprojects-create_teamwrite actionFreeCreate team.
twprojects-create_timelogwrite actionFreeCreate timelog entry against a project or task.
twprojects-create_timerwrite actionFreeCreate and start a timer.
twprojects-create_upload_urlwrite actionFreeReserve 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_userwrite actionFreeCreate user.
twprojects-create_workflowwrite actionFreeCreate workflow.
twprojects-create_workflow_stagewrite actionFreeCreate workflow stage.
twprojects-download_fileFreeRead 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_allocationFreeGet 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_commentFreeGet comment.
twprojects-get_companyFreeGet company (aka client).
twprojects-get_custom_fieldFreeGet custom field.
twprojects-get_custom_field_valueFreeGet a single custom field value from a task, project or company.
twprojects-get_custom_itemFreeGet 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_fieldFreeGet 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_recordFreeGet 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_fileFreeGet 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_jobroleFreeGet job role. The people assigned to the role come back under users, and those holding it as their primary role under primaryUsers; both are references, resolved to names under included.users.
twprojects-get_linkFreeGet link.
twprojects-get_messageFreeGet message.
twprojects-get_message_replyFreeGet message reply.
twprojects-get_milestoneFreeGet milestone.
twprojects-get_notebookFreeGet notebook.
twprojects-get_projectFreeGet project.
twprojects-get_project_categoryFreeGet project category.
twprojects-get_skillFreeGet skill.
twprojects-get_tagFreeGet tag.
twprojects-get_taskFreeGet task.
twprojects-get_tasklistFreeGet tasklist.
twprojects-get_teamFreeGet team.
twprojects-get_timelogFreeGet timelog.
twprojects-get_timerFreeGet timer.
twprojects-get_userFreeGet user.
twprojects-get_user_meFreeGet the currently authenticated user.
twprojects-get_workflowFreeGet workflow.
twprojects-get_workflow_stageFreeGet workflow stage.
twprojects-link_project_to_workflowFreeLink a project to a workflow so its tasks track through workflow stages.
twprojects-link_task_to_allocationFreeLink 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_activitiesFreeList recent activity events. Scope by project_id or omit for site-wide.
twprojects-list_allocationsFreeList 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_eventsFreeList 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_calendarsFreeList 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_commentsFreeList 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-list_companiesFreeList companies (aka clients).
twprojects-list_custom_field_valuesFreeList the custom field values of a task, project or company.
twprojects-list_custom_fieldsFreeList custom fields.
twprojects-list_custom_item_fieldsFreeList 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_recordsFreeList 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_itemsFreeList 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_filesFreeList 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_industriesFreeList supported company (aka client) industries.
twprojects-list_jobrolesFreeList job roles. A verbose row carries the people assigned to the role under users, and those holding it as their primary role under primaryUsers; both are references, resolved to names under included.users.
twprojects-list_linksFreeList links.
twprojects-list_message_repliesFreeList replies under a message thread. Filter by message_ids or project_ids.
twprojects-list_messagesFreeList project messages (top-level posts). Use twprojects-list_message_replies for thread replies.
twprojects-list_milestonesFreeList 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_notebooksFreeList notebooks.
twprojects-list_project_budgetsFreeLists 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_categoriesFreeList project categories.
twprojects-list_project_templatesFreeList project templates.
twprojects-list_project_updatesFreeList 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_projectsFreeList 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-list_skillsFreeList skills.
twprojects-list_tagsFreeList tags.
twprojects-list_tasklist_budgetsFreeList tasklist budgets nested under a project budget. Requires project_budget_id.
twprojects-list_tasklistsFreeList tasklists. Scope by project_id or omit for site-wide.
twprojects-list_tasksFreeList 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-list_teamsFreeList teams. Scope by company_id or project_id, or omit for site-wide.
twprojects-list_timelogsFreeList timelogs. Scope by project_id or task_id, or omit for site-wide.
twprojects-list_timersFreeList timers.
twprojects-list_usersFreeList users. Scope by project_id or filter by type (account/collaborator/contact).
twprojects-list_workflow_stagesFreeList workflow stages.
twprojects-list_workflowsFreeList workflows.
twprojects-move_task_to_workflow_stageFreeMove one or more tasks to a workflow stage.
twprojects-move_tasksFreeMove 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_timerFreePause a running timer; can be resumed later. Use complete_timer to stop permanently.
twprojects-restore_allocationFreeRestore 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_timerFreeResume a paused timer back to running.
twprojects-searchFreeCross-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-summarize_timelogsFreeComplete 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_allocationwrite actionFreeRemove 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_allocationwrite actionFreeUpdate 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_commentwrite actionFreeUpdate comment.
twprojects-update_companywrite actionFreeUpdate company (aka client).
twprojects-update_custom_fieldwrite actionFreeUpdate custom field.
twprojects-update_custom_field_valuewrite actionFreeUpdate a custom field value on a task, project or company.
twprojects-update_custom_itemwrite actionFreeUpdate 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_fieldwrite actionFreeUpdate 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_recordwrite actionFreeUpdate 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_jobrolewrite actionFreeUpdate job role.
twprojects-update_linkwrite actionFreeUpdate link.
twprojects-update_messagewrite actionFreeUpdate message.
twprojects-update_message_replywrite actionFreeUpdate message reply.
twprojects-update_milestonewrite actionFreeUpdate milestone.
twprojects-update_notebookwrite actionFreeUpdate notebook.
twprojects-update_projectwrite actionFreeUpdate project.
twprojects-update_project_categorywrite actionFreeUpdate project category.
twprojects-update_skillwrite actionFreeUpdate skill.
twprojects-update_tagwrite actionFreeUpdate tag.
twprojects-update_taskwrite actionFreeUpdate task.
twprojects-update_tasklistwrite actionFreeUpdate tasklist.
twprojects-update_teamwrite actionFreeUpdate team.
twprojects-update_timelogwrite actionFreeUpdate timelog. It can also be moved to another project or task.
twprojects-update_timerwrite actionFreeUpdate timer.
twprojects-update_userwrite actionFreeUpdate user.
twprojects-update_workflowwrite actionFreeUpdate workflow.
twprojects-update_workflow_stagewrite actionFreeUpdate workflow stage.
twprojects-users_workloadFreeGet task allocation across users for a date range. (workload of users)
twspaces-create_categorywrite actionFreeCreate space category.
twspaces-create_commentwrite actionFreeCreate comment on a page. Use parentId for replies.
twspaces-create_pagewrite actionFreeCreate page in a space.
twspaces-create_spacewrite actionFreeCreate space.
twspaces-create_tagswrite actionFreeCreate one or more Spaces tags in a single request.
twspaces-duplicate_pageFreeDuplicate page with a new title.
twspaces-get_categoryFreeGet space category.
twspaces-get_commentFreeGet page comment.
twspaces-get_homepageFreeGet a space's homepage.
twspaces-get_pageFreeGet page. Returns content, metadata, tags, and revision info.
twspaces-get_spaceFreeGet space.
twspaces-get_tagFreeGet Spaces tag.
twspaces-list_categoriesFreeList space categories.
twspaces-list_commentsFreeList comments on a page. Returns top-level comments with replies.
twspaces-list_pagesFreeList pages in a space as a hierarchical tree. Returns the space's open pages under `pages`; set includePrivate to also receive, under a sibling `private` key, the restricted pages the calling user has access to. Returns at most 100 pages per call by default, up to 500 with pageSize, counted across both trees. A space with more pages than that is cut in depth-first order and the response carries a `truncated` marker naming the total page count, the pageOffset that returns the next set, and twspaces-get_page for a single page in full.
twspaces-list_space_collaboratorsFreeList space collaborators (users and teams).
twspaces-list_spacesFreeList spaces.
twspaces-list_tagsFreeList Spaces tags.
twspaces-searchFreeFull-text search across pages. Filter by space.
twspaces-update_categorywrite actionFreeUpdate space category.
twspaces-update_commentwrite actionFreeUpdate page comment.
twspaces-update_pagewrite actionFreeUpdate 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_spacewrite actionFreeUpdate space.
twspaces-update_tagwrite actionFreeUpdate Spaces tag.
Public scan report
scanner v0.1.3 · 2026-09-19 · same rubric, same numbers if you re-run it
- –Code scanpackage could not be scannedn/a
- Live reliabilityremote reachable in 442ms20/20
- Tool poisoning213 tool descriptions checked15/15
- Auth qualityAPI key sent as a header8/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
Install directly
claude mcp add --transport http mcp https://mcp.ai.teamwork.com
Alternatives to mcp
Same job from other publishers, ranked by rating then adoption.
- Azure MCP ServerAll Azure MCP tools to create a seamless connection between AI agents and Azure services.not reviewedWidely usedC
- SemioticVerified React chart generation: select, validate, repair, render, and inspect charts through MCP.not reviewedWidely usedB
- World MonitorLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 75 tools.not reviewedWidely usedA
- NetdataReal-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.not reviewedWidely usedA
- Microsoft 365 MCP ServerInteract with Microsoft 365 and Office services through the Microsoft Graph API.not reviewedEstablishedB