Skip to main content
Glama

teamwork-mcp

npm CI license

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

tasks

list, get, create, update, list_comments, comment

projects

list, tasklists, updates, milestones, activity

people

whoami, list, my_work

time

log

search

global keyword search

system

status, logout

request

raw V3 escape hatch (tags, teams, files, ...)

Environment

Variable

Purpose

TEAMWORK_SITE, TEAMWORK_API_KEY

credential override for CI (plaintext)

TEAMWORK_ALLOWED_SITES

extra accepted domains (custom Teamwork hosts)

TEAMWORK_MCP_NO_BROWSER=1

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 (run logout first).

  • Only teamwork.com / teamworkpm.net sites 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 tools
add_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 statusA
Read-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 taskA
Read-only

Fetch a single task with description and key fields.

Inputs: taskId (required).

latest_activityTeamwork: latest activityA
Read-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 peopleB
Read-only

Find users (id, name, email) to use as assignees or in user filters.

Inputs: emails, search, pageSize, includeClients, +1 more.

list_projectsTeamwork: list projectsB
Read-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 commentsB
Read-only

Read the comment thread of a task.

Inputs: taskId (required), page, pageSize.

list_tasklistsTeamwork: list task listsB
Read-only

List the task lists (columns/boards) inside a project.

Inputs: projectId (required), page, search, pageSize.

list_tasksTeamwork: list tasksA
Read-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 workA
Read-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 updatesC
Read-only

Latest status updates (health reports) posted on projects.

Inputs: page, pageSize, activeOnly, projectIds.

upcoming_milestonesTeamwork: upcoming milestonesB
Read-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 userA
Read-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

    A3.5/5.0

    Scored across 18 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count4/5

    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.

    Completeness3/5

    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

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables 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.
      -
    • A
      license
      B
      quality
      D
      maintenance
      Enables 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.
      13
      702 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with Jira issues, projects, and comments via API Key. Supports operations like creating, updating, searching, transitioning issues, and managing projects.
      1,082 npm
      MIT