teamwork
MCP server for Teamwork.com that exposes read and write workflows for tasks, projects, people, time tracking, search, and auth.
Identify the current Teamwork user, site, and admin status; check auth storage; log out.
Browse and filter projects, task lists, tasks, task comments, people, recent activity, project updates, and upcoming milestones.
Fetch task details and search across tasks, messages, files, comments, milestones, notebooks, and links.
Create and update tasks, including completion, dates, descriptions, assignees, and tags.
Add comments to tasks and log time entries against tasks or projects.
Review your own assigned work by today, overdue, this week, or next 7 days.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@teamwork What tasks are due for me this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
teamwork-mcp
MCP server for Teamwork.com — tasks, projects, people, time tracking and search for any MCP client (Claude Code, Claude Desktop, Cursor, Codex, opencode, ...). Your API key is verified once and stored in the OS keychain — never in config files.
Install
npx -y @sondv5/teamwork-mcp@latest # run directly
claude plugin install teamwork@teamwork-mcp # Claude Code plugin (after: claude plugin marketplace add sondv5/teamwork-mcp)MCP client config:
{ "mcpServers": { "teamwork": { "command": "npx", "args": ["-y", "@sondv5/teamwork-mcp@latest"] } } }On first use, a local setup page opens (127.0.0.1) — enter your site + key once, then
retry. Get a key in Teamwork: Profile → Edit My Details → API & Mobile → Show your Token.
CLI: npx -y @sondv5/teamwork-mcp@latest auth | status | logout.
Related MCP server: Repsona MCP Server
Tools
Tool | Actions |
| list, get, create, update, list_comments, comment |
| list, tasklists, updates, milestones, activity |
| whoami, list, my_work |
| log |
| global keyword search |
| status, logout |
| raw V3 escape hatch (tags, teams, files, ...) |
Environment
Variable | Purpose |
| credential override for CI (plaintext) |
| extra accepted domains (custom Teamwork hosts) |
| print the setup URL instead of opening the browser |
Security
Key stored in the OS keychain; encrypted-file fallback is obfuscation only — keychain preferred.
Setup page is loopback-only, nonce-gated, validates
Host/Origin, and refuses to overwrite an active credential (runlogoutfirst).Only
teamwork.com/teamworkpm.netsites are accepted, so a key is never sent elsewhere.The key inherits the user's permissions — prefer a dedicated standard user over an admin key.
Dev
npm install
npm run check && npm run lint && npm test # typecheck + eslint + unit tests
npm run test:e2e # live end-to-end test (needs TW_TEST_KEY)MIT © sondv5 — sondv5.github.io/teamwork-mcp
Available Tools
18 toolsadd_task_commentTeamwork: comment on taskA
Post a comment on a task. Use to report progress, answer questions or hand off work in the task thread.
Inputs: body (required), taskId (required), isPrivate, contentType.
auth_statusTeamwork: auth statusARead-only
Check whether a Teamwork API key is configured on this machine, which site it points to and where it is stored.
Inputs: no named parameters.
create_taskTeamwork: create taskB
Create a task inside a task list.
Inputs: name (required), tasklistId (required), dueAt, startAt, +2 more.
get_taskTeamwork: get taskARead-only
Fetch a single task with description and key fields.
Inputs: taskId (required).
latest_activityTeamwork: latest activityARead-only
Chronological feed of recent activity across all projects (comments, task updates, files, milestones...). Mirrors the Teamwork activity widget. Filter by project, user, type or date range.
Inputs: page, since, until, userIds, +4 more.
list_peopleTeamwork: list peopleBRead-only
Find users (id, name, email) to use as assignees or in user filters.
Inputs: emails, search, pageSize, includeClients, +1 more.
list_projectsTeamwork: list projectsBRead-only
List projects visible to the API key. Use search to filter by name; results are paged.
Inputs: page, search, pageSize, includeArchived.
list_task_commentsTeamwork: task commentsBRead-only
Read the comment thread of a task.
Inputs: taskId (required), page, pageSize.
list_tasklistsTeamwork: list task listsBRead-only
List the task lists (columns/boards) inside a project.
Inputs: projectId (required), page, search, pageSize.
list_tasksTeamwork: list tasksARead-only
Search tasks across projects or within one project/task list. Completed tasks are excluded unless includeCompleted is true.
Inputs: page, search, pageSize, projectId, +2 more.
logoutTeamwork: logoutA
Remove the stored Teamwork API key from this machine (OS keychain + local file). The next tool call will ask to set up again.
Inputs: no named parameters.
log_timeTeamwork: log timeC
Log a time entry (timesheet) on a task or a project.
Inputs: minutes (required), date, taskId, projectId, +2 more.
my_workTeamwork: my workARead-only
Tasks assigned to the API key's user (responsible party): what is due today, overdue or coming this week.
Inputs: page, filter, pageSize, includeCompleted.
project_updatesTeamwork: project updatesCRead-only
Latest status updates (health reports) posted on projects.
Inputs: page, pageSize, activeOnly, projectIds.
searchTeamwork: searchARead-only
Search tasks, messages, files, comments, milestones, notebooks and links across the site by keyword.
Inputs: searchTerm (required), limit, types, projectId, +1 more.
upcoming_milestonesTeamwork: upcoming milestonesBRead-only
Milestones with deadlines in a date range across projects. Defaults to the next 30 days.
Inputs: to, from, pageSize, projectIds, +1 more.
update_taskTeamwork: update taskA
Update fields of an existing task, or mark it complete with complete=true.
Inputs: taskId (required), name, dueAt, tagIds, +4 more.
whoamiTeamwork: current userARead-only
Return the Teamwork.com user that owns the configured API key, plus site URL and whether the user is an admin.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 18 tools
Each tool targets a distinct resource or action: auth tools, project/task listing, task CRUD, comments, time logging, activity feeds, people lookup, and search. Even similar tools like list_tasks and my_work differ by scope (all tasks vs. assigned to user), and latest_activity vs. search are clearly differentiated by feed vs. keyword. No two tools appear to serve the same purpose.
Tools predominantly follow a clear verb_noun snake_case pattern (list_projects, create_task, update_task, log_time, add_task_comment). Exceptions like whoami, auth_status, and logout are idiomatic and consistent with the overall style, showing no mixed conventions or camelCase. The naming is predictable and aids agent selection.
18 tools is slightly above the ideal 3–15 range but justified by the breadth of the Teamwork.com domain: authentication, projects, task lists, tasks, comments, time, activity, milestones, project updates, and people. Each tool addresses a distinct need, so the count feels reasonable rather than bloated.
The surface covers task creation, retrieval, update, search, and comments, plus time logging and activity feeds. However, it lacks task deletion and any project or task list creation/update/delete operations, which are notable gaps for full lifecycle management. The absence of these operations could cause dead ends in workflows requiring them.
Maintenance
Related MCP Connectors
Read teams, spaces, lists and tasks; create, update and comment on tasks and track time.
Read and edit your Tasks boards: create and update tasks, comment, and track time.
Task and sprint coordination for humans and AI agents, with scoped API keys and full audit trail.
Read projects, schedules, tasks, timesheets and workload; create tasks and comments in TeamGantt.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables comprehensive project management through ClickUp's API, supporting task creation and updates, time tracking, goal management, and team collaboration within ClickUp's hierarchical workspace structure.-
- AlicenseBqualityDmaintenanceEnables integration with Repsona project management platform, allowing users to manage tasks, projects, notes, files, and inbox through natural language interactions with the Repsona API.5110 npm1ISC
- AlicenseBqualityDmaintenanceEnables interaction with Linear's API to manage issues, projects, and teams. Supports creating, updating, searching, and deleting issues, along with project management and team operations through API key authentication.13702 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Jira issues, projects, and comments via API Key. Supports operations like creating, updating, searching, transitioning issues, and managing projects.1,082 npmMIT