twprojects-get_task
Get task.
Their whole platform — projects, desk, spaces, chat — with role profiles that cut the tool list down to your job.
LABSCO SUMMARY
Every tool definition rides along on every turn, so connecting to the root URL means paying for ticketing tools while you manage projects. The role profiles solve exactly that, and choosing one is the single highest-value decision when connecting this. The permission defaults are sensible in a way worth noting too: writes on, deletes off everywhere, with a read-only switch for organisations that want analysis without action. Deletes being unavailable rather than merely discouraged is the right kind of guardrail.
Teamwork's endpoint spans four products, and the tool count reflects it. Rather than making you take all of it, they publish role-scoped profile endpoints that expose a subset.
Paste a URL, then authorize — add the endpoint to your client, then approve the OAuth consent screen
USE CASES
Pick the profile endpoint matching your role instead of the root.
Tasks, tasklists, comments and workflow stages.
Create and update timelogs against a task or project.
One keyword search across projects, tasks, files and messages.
Desk tickets from the same connection.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
twprojects-get_taskGet task.
twprojects-list_tasksList tasks with structured filters (tasklist_id, project_id, or site-wide). For keyword search use search.
twprojects-create_taskCreate task in a tasklist.
twprojects-list_commentsList 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_taskUpdate task.
twprojects-list_projectsList 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_timelogCreate timelog entry against a project or task.
twprojects-list_timelogsList timelogs. Scope by project_id or task_id, or omit for site-wide.
twprojects-searchCross-entity keyword search across projects, tasks, files, messages, and more. 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.
twprojects-list_tasklistsList tasklists. Scope by project_id or omit for site-wide.
twprojects-create_commentCreate comment on a task, milestone, notebook, file, or link.
twprojects-get_tasklistGet tasklist.
twprojects-get_projectGet project.
twdesk-get_ticketGet ticket.
twprojects-update_timelogUpdate timelog.
twprojects-list_activitiesList recent activity events. Scope by project_id or omit for site-wide.
twprojects-move_task_to_workflow_stageMove one or more tasks to a workflow stage.
twprojects-complete_taskMark task complete.
twdesk-search_ticketsSearch tickets. Filter by inbox, customer, company, tag, status, priority, user, or creation date range.
twprojects-list_usersList users. Scope by project_id or filter by type (account/collaborator/contact).
twchat-get_conversationGet a single Teamwork Chat conversation by ID.
twchat-get_current_userGet the current authenticated Teamwork Chat user, including identity, counts (unread conversations/messages, mentions), and settings.
twchat-get_or_create_dmGet 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.
twchat-list_conversationsList Teamwork Chat conversations the current user is a member of.
twchat-list_messagesList messages within a Teamwork Chat conversation. Requires conversation_id.
twchat-list_peopleList people in the Teamwork Chat installation. Useful for resolving names to user IDs.
twchat-send_dmSend 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.
twchat-send_messageSend a message to a Teamwork Chat conversation. Requires conversation_id and body.
twdesk-create_companyCreate Desk company.
twdesk-create_customerCreate customer.
twdesk-create_fileUpload file. Attach the returned ID to tickets or messages.
twdesk-create_helpdoc_articleCreate a new help doc article.
twdesk-create_priorityCreate ticket priority.
twdesk-create_statusCreate ticket status.
twdesk-create_tagCreate Desk tag.
twdesk-create_ticketCreate ticket.
twdesk-create_ticket_typeCreate ticket type.
twdesk-get_companyGet Desk company (customer organization).
twdesk-get_customerGet customer.
twdesk-get_helpdoc_articleGet a help doc article by ID.
twdesk-get_helpdoc_siteGet a help doc site (knowledge base) by ID, including its subdomain, branding and article counts.
twdesk-get_inboxGet inbox.
twdesk-get_priorityGet ticket priority.
twdesk-get_statusGet ticket status.
twdesk-get_tagGet Desk tag.
twdesk-get_ticket_typeGet ticket type.
twdesk-get_userGet support agent.
twdesk-link_task_to_ticketLink a Teamwork Projects task to a Desk ticket, so the ticket shows the work tracked by that task.
twdesk-list_companiesList Desk companies. Filter by name, domains, or kind.
twdesk-list_customersList customers. Filter by company or email.
twdesk-list_helpdoc_sitesList 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_inboxesList inboxes. Filter by name or email.
twdesk-list_prioritiesList ticket priorities. Filter by name or color.
twdesk-list_statusesList ticket statuses. Filter by name, color, or code.
twdesk-list_tagsList Desk tags. Filter by name, color, or inbox.
twdesk-list_ticket_typesList ticket types. Filter by name or inbox.
twdesk-list_usersList support agents. For customers, use twdesk-list_customers.
twdesk-reply_ticketReply to a ticket. Use threadType=note for internal agent notes.
twdesk-search_helpdoc_articlesSearch help doc articles. Filter by search term, status, site, or category.
twdesk-unlink_task_from_ticketUnlink a Teamwork Projects task from a Desk ticket. The task and the ticket themselves are kept.
twdesk-update_companyUpdate Desk company.
twdesk-update_customerUpdate customer.
twdesk-update_helpdoc_articleUpdate an existing help doc article.
twdesk-update_priorityUpdate ticket priority.
twdesk-update_statusUpdate ticket status.
twdesk-update_tagUpdate Desk tag.
twdesk-update_ticketUpdate ticket.
twdesk-update_ticket_typeUpdate ticket type.
twprojects-add_project_memberAdd a user to a project.
twprojects-clone_projectClone/copy an existing project or instantiate one from a template.
twprojects-complete_timerStop a timer permanently and convert it to a timelog. Use pause_timer to pause without converting.
twprojects-count_milestonesExact 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_projectsExact 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_tasksExact 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_timelogsExact 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_allocationCommit 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_companyCreate company (aka client).
twprojects-create_custom_fieldCreate custom field.
twprojects-create_custom_field_valueSet 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_itemCreate 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_fieldAdd 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_recordCreate 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_fileUpload a file so it can be attached to a task, comment or message. Returns a single-use reference like "tf_1a2b"; 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, so this suits text you generated, such as plans, specs or CSV, rather than large binaries.
twprojects-create_jobroleCreate job role.
twprojects-create_linkCreate link.
twprojects-create_messageCreate message in a project.
twprojects-create_message_replyCreate message reply.
twprojects-create_milestoneCreate milestone in a project.
twprojects-create_notebookCreate notebook in a project.
twprojects-create_projectCreate project.
twprojects-create_project_categoryCreate project category.
twprojects-create_project_templateCreate project template.
twprojects-create_skillCreate skill.
twprojects-create_tagCreate tag.
twprojects-create_tasklistCreate tasklist in a project.
twprojects-create_teamCreate team.
twprojects-create_timerCreate and start a timer.
twprojects-create_userCreate user.
twprojects-create_workflowCreate workflow.
twprojects-create_workflow_stageCreate workflow stage.
twprojects-get_allocationGet 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_commentGet comment.
twprojects-get_companyGet company (aka client).
twprojects-get_custom_fieldGet custom field.
twprojects-get_custom_field_valueGet a single custom field value from a task, project or company.
twprojects-get_custom_itemGet 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_fieldGet 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_recordGet 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_jobroleGet job role.
twprojects-get_linkGet link.
twprojects-get_messageGet message.
twprojects-get_message_replyGet message reply.
twprojects-get_milestoneGet milestone.
twprojects-get_notebookGet notebook.
twprojects-get_project_categoryGet project category.
twprojects-get_skillGet skill.
twprojects-get_tagGet tag.
twprojects-get_teamGet team.
twprojects-get_timelogGet timelog.
twprojects-get_timerGet timer.
twprojects-get_userGet user.
twprojects-get_user_meGet the currently authenticated user.
twprojects-get_workflowGet workflow.
twprojects-get_workflow_stageGet workflow stage.
twprojects-link_project_to_workflowLink a project to a workflow so its tasks track through workflow stages.
twprojects-link_task_to_allocationLink 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_allocationsList 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_eventsList events from a calendar, including time-blocking events that link a calendar slot to a Teamwork project, task or timelog. Use twprojects-list_calendars to find the calendar ID; the calendar of type 'blocked_time' holds the account's time-blocking events.
twprojects-list_calendarsList 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_companiesList companies (aka clients).
twprojects-list_custom_field_valuesList the custom field values of a task, project or company.
twprojects-list_custom_fieldsList custom fields.
twprojects-list_custom_item_fieldsList 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_recordsList 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_itemsList 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_industriesList supported company (aka client) industries.
twprojects-list_jobrolesList job roles.
twprojects-list_linksList links.
twprojects-list_message_repliesList replies under a message thread. Filter by message_ids or project_ids.
twprojects-list_messagesList project messages (top-level posts). Use twprojects-list_message_replies for thread replies.
twprojects-list_milestonesList milestones. Scope by project_id or omit for site-wide.
twprojects-list_notebooksList notebooks.
twprojects-list_project_budgetsLists 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_categoriesList project categories.
twprojects-list_project_templatesList project templates.
twprojects-list_skillsList skills.
twprojects-list_tagsList tags.
twprojects-list_tasklist_budgetsList tasklist budgets nested under a project budget. Requires project_budget_id.
twprojects-list_teamsList teams. Scope by company_id or project_id, or omit for site-wide.
twprojects-list_timersList timers.
twprojects-list_workflow_stagesList workflow stages.
twprojects-list_workflowsList workflows.
twprojects-move_tasksMove 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_timerPause a running timer; can be resumed later. Use complete_timer to stop permanently.
twprojects-restore_allocationRestore 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_timerResume a paused timer back to running.
twprojects-summarize_timelogsDeterministic, complete time-tracking totals for a date window, grouped by user or project. Returns every group in one call with exact minute sums and 2-decimal hours — no pagination for the caller, any model tier. Use this instead of twprojects-list_timelogs whenever the question is about totals, sums, or breakdowns (e.g. "how many hours did X log", "time per project this month", billable vs billed vs unbilled); use list_timelogs only when you need the individual timelog entries. Minutes are exact and authoritative; hours are minutes ÷ 60 rounded to 2 decimals. unbilledBillable = billable − billed. The sum of the group columns equals the totals block exactly (reconcile in minutes, not hours).
twprojects-unlink_task_from_allocationRemove 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_allocationUpdate 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_commentUpdate comment.
twprojects-update_companyUpdate company (aka client).
twprojects-update_custom_fieldUpdate custom field.
twprojects-update_custom_field_valueUpdate a custom field value on a task, project or company.
twprojects-update_custom_itemUpdate 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_fieldUpdate 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_recordUpdate 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_jobroleUpdate job role.
twprojects-update_linkUpdate link.
twprojects-update_messageUpdate message.
twprojects-update_message_replyUpdate message reply.
twprojects-update_milestoneUpdate milestone.
twprojects-update_notebookUpdate notebook.
twprojects-update_projectUpdate project.
twprojects-update_project_categoryUpdate project category.
twprojects-update_skillUpdate skill.
twprojects-update_tagUpdate tag.
twprojects-update_tasklistUpdate tasklist.
twprojects-update_teamUpdate team.
twprojects-update_timerUpdate timer.
twprojects-update_userUpdate user.
twprojects-update_workflowUpdate workflow.
twprojects-update_workflow_stageUpdate workflow stage.
twprojects-users_workloadGet task allocation across users for a date range. (workload of users)
twspaces-create_categoryCreate space category.
twspaces-create_commentCreate comment on a page. Use parentId for replies.
twspaces-create_pageCreate page in a space.
twspaces-create_spaceCreate space.
twspaces-create_tagsCreate one or more Spaces tags in a single request.
twspaces-duplicate_pageDuplicate page with a new title.
twspaces-get_categoryGet space category.
twspaces-get_commentGet page comment.
twspaces-get_homepageGet a space's homepage.
twspaces-get_pageGet page. Returns content, metadata, tags, and revision info.
twspaces-get_spaceGet space.
twspaces-get_tagGet Spaces tag.
twspaces-list_categoriesList space categories.
twspaces-list_commentsList comments on a page. Returns top-level comments with replies.
twspaces-list_pagesList pages in a space as a hierarchical tree.
twspaces-list_space_collaboratorsList space collaborators (users and teams).
twspaces-list_spacesList spaces.
twspaces-list_tagsList Spaces tags.
twspaces-searchFull-text search across pages. Filter by space.
twspaces-update_categoryUpdate space category.
twspaces-update_commentUpdate page comment.
twspaces-update_pageUpdate 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_spaceUpdate space.
twspaces-update_tagUpdate Spaces tag.
BEFORE YOU INSTALL
207 tools when we connected. Tools are prefixed by Teamwork product (twprojects-, twdesk-, twspaces-, twchat-), and you see only those for products your account has and authorises, so a Projects-only account gets far fewer.
CONTEXT COST
Rated by the size of the 207 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the endpoint to your client, then approve the OAuth consent screen.
https://mcp.ai.teamwork.com