Teamwork (jtmeunier87) MCP Server

@jtmeunier87/teamwork-mcp npm v1.5.4

Published by @jtmeunier87 — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.

MCP server for the Teamwork.com REST API — full project management control via Model Context Protocol

Trust grade
A
96/100
Last scanned get badge →
Trust
A · 96/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
Moderate
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
A Why this grade threat 100 − adoption risk = 96/100

The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.

1. Threat score — 100 − 0 = 100. What the published surface and source actually contain:

The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.

2. Client adoption risk — 100 − 4 = 96. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:

PointsAdoption-risk factor
−3 capability blast radius (moderate) — client exposure if the model is manipulated
−1 publisher verification (public source) — no provenance, but the source is public and inspectable

Capability observations and info notes are shown under Findings but never scored. Open any row's finding below for the file, line and evidence behind a deduction.

Findings 2

medium Tool "tw_delete_file" can modify the filesystemMTC-CAP-002

Tool "tw_delete_file" can write, overwrite or delete files (keyword "delete_file" in tool name). Verify it is scoped to a safe directory.

Fix: Constrain file operations to an explicit, non-sensitive root; reject path traversal.

Location: tool tw_delete_file

low Mutating tool "tw_delete_file" declares no destructiveHintMTC-CAP-005

Tool "tw_delete_file" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.

Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.

Location: tool tw_delete_file

Tools 92

Each tool and what it can reach — statically extracted from the published source.

  • tw_create_webhooknetwork egress
  • tw_delete_filewrites files
  • tw_delete_webhooknetwork egress
  • tw_add_people_to_projectno sensitive capability
  • tw_complete_milestoneno sensitive capability
  • tw_complete_taskno sensitive capability
  • tw_create_companyno sensitive capability
  • tw_create_linkno sensitive capability
  • tw_create_messageno sensitive capability
  • tw_create_milestoneno sensitive capability
Show 82 more tools ↓
  • tw_create_notebookno sensitive capability
  • tw_create_projectno sensitive capability
  • tw_create_project_commentno sensitive capability
  • tw_create_riskno sensitive capability
  • tw_create_subtaskno sensitive capability
  • tw_create_tagno sensitive capability
  • tw_create_taskno sensitive capability
  • tw_create_task_commentno sensitive capability
  • tw_create_tasklistno sensitive capability
  • tw_delete_companyno sensitive capability
  • tw_delete_milestoneno sensitive capability
  • tw_delete_notebookno sensitive capability
  • tw_delete_personno sensitive capability
  • tw_delete_projectno sensitive capability
  • tw_delete_tagno sensitive capability
  • tw_delete_taskno sensitive capability
  • tw_delete_tasklistno sensitive capability
  • tw_delete_time_entryno sensitive capability
  • tw_get_accountno sensitive capability
  • tw_get_calendar_eventsno sensitive capability
  • tw_get_companiesno sensitive capability
  • tw_get_company_by_idno sensitive capability
  • tw_get_custom_fields_by_projectno sensitive capability
  • tw_get_dependentsno sensitive capability
  • tw_get_expensesno sensitive capability
  • tw_get_file_by_idno sensitive capability
  • tw_get_files_by_projectno sensitive capability
  • tw_get_job_rolesno sensitive capability
  • tw_get_links_by_projectno sensitive capability
  • tw_get_meno sensitive capability
  • tw_get_message_by_idno sensitive capability
  • tw_get_messagesno sensitive capability
  • tw_get_messages_by_projectno sensitive capability
  • tw_get_milestonesno sensitive capability
  • tw_get_milestones_by_projectno sensitive capability
  • tw_get_notebook_by_idno sensitive capability
  • tw_get_notebooksno sensitive capability
  • tw_get_notebooks_by_projectno sensitive capability
  • tw_get_peopleno sensitive capability
  • tw_get_person_by_idno sensitive capability
  • tw_get_predecessorsno sensitive capability
  • tw_get_project_by_idno sensitive capability
  • tw_get_project_categoriesno sensitive capability
  • tw_get_project_commentsno sensitive capability
  • tw_get_project_peopleno sensitive capability
  • tw_get_projectsno sensitive capability
  • tw_get_risksno sensitive capability
  • tw_get_risks_by_projectno sensitive capability
  • tw_get_subtasksno sensitive capability
  • tw_get_tagsno sensitive capability
  • tw_get_task_by_idno sensitive capability
  • tw_get_task_commentsno sensitive capability
  • tw_get_task_metrics_completeno sensitive capability
  • tw_get_task_metrics_lateno sensitive capability
  • tw_get_tasklistsno sensitive capability
  • tw_get_tasklists_by_projectno sensitive capability
  • tw_get_tasksno sensitive capability
  • tw_get_tasks_by_projectno sensitive capability
  • tw_get_tasks_by_tasklistno sensitive capability
  • tw_get_time_entriesno sensitive capability
  • tw_get_time_entries_by_projectno sensitive capability
  • tw_get_time_entries_by_taskno sensitive capability
  • tw_get_timersno sensitive capability
  • tw_get_timezonesno sensitive capability
  • tw_get_webhooksno sensitive capability
  • tw_get_workflow_stagesno sensitive capability
  • tw_log_timeno sensitive capability
  • tw_move_task_to_stageno sensitive capability
  • tw_rate_limit_statusno sensitive capability
  • tw_reassign_taskno sensitive capability
  • tw_set_predecessorsno sensitive capability
  • tw_tag_taskno sensitive capability
  • tw_uncomplete_taskno sensitive capability
  • tw_untag_taskno sensitive capability
  • tw_update_companyno sensitive capability
  • tw_update_milestoneno sensitive capability
  • tw_update_notebookno sensitive capability
  • tw_update_personno sensitive capability
  • tw_update_projectno sensitive capability
  • tw_update_tagno sensitive capability
  • tw_update_taskno sensitive capability
  • tw_update_time_entryno sensitive capability

What this scan could not see

Versions 1

Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.

VersionScoreFindingsEngineScanned
v1.5.4 latest A 96/100 2 1.12.1 2026-07-28

Embed this score

Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.

MCP Trust Score: A · 96/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/jtmeunier87-teamwork-mcp/badge.svg)](https://mcptrustchecker.com/registry/jtmeunier87-teamwork-mcp)
HTML
<a href="https://mcptrustchecker.com/registry/jtmeunier87-teamwork-mcp"><img src="https://mcptrustchecker.com/registry/jtmeunier87-teamwork-mcp/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/jtmeunier87-teamwork-mcp/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.

npx mcptrustchecker scan @jtmeunier87/teamwork-mcp --online

Use the free API → How scoring works

Other implementations of Teamwork 1

Independent packages implementing the same tool, scanned with the same engine. Compare all 2 side by side →

More in Business & CRM