The Teamwork.com official MCP server helps teams efficiently manage client projects with AI.
Model Context Protocol server for Teamwork.com integration with Large Language Models
π Are you a Teamwork.com user wanting to connect AI tools to your Teamwork.com site right now? Jump straight to the Usage Guide for tokens, enabling MCP, and client configuration examples.
This MCP (Model Context Protocol) server enables seamless integration between Large Language Models and Teamwork.com. It provides a standardized interface for LLMs to interact with Teamwork.com projects, allowing AI agents to perform various project management operations.
Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to LLMs. This server describes all the actions available in Teamwork.com (tools) in a way that LLMs can understand and execute through AI agents.
See the auto-generated Tool Reference for every create/read/update operation exposed across Projects, Desk, Spaces, and Chat, or browse the same catalogue with per-tool descriptions and a search filter at teamwork.github.io/mcp.
This project provides three different ways to interact with the Teamwork.com MCP server:
Production-ready HTTP server for cloud deployments and multi-client support.
π Full HTTP Server Documentation
Quick start:
TW_MCP_SERVER_ADDRESS=:8080 go run cmd/mcp-http/main.go
Direct STDIO interface for desktop applications and development environments.
π Full STDIO Server Documentation
Quick start:
TW_MCP_BEARER_TOKEN=your-token go run cmd/mcp-stdio/main.go
Command-line tool for testing and debugging MCP server functionality.
π Full HTTP CLI Documentation
Quick start:
go run cmd/mcp-http-cli/main.go -mcp-url=https://mcp.example.com list-tools
# Run all tests
go test ./...
# Run specific package tests
go test ./internal/twprojects/
For debugging purposes, use the MCP Inspector tool:
NODE_EXTRA_CA_CERTS=letsencrypt-stg-root-x1.pem npx @modelcontextprotocol/inspector node build/index.js
[!IMPORTANT] Note: The
NODE_EXTRA_CA_CERTSenvironment variable is required when using OAuth2 authentication with the Let's Encrypt certification authority. Download the certificate here.
βββ cmd/
β βββ mcp-http/ # HTTP server implementation
β βββ mcp-stdio/ # STDIO server implementation
β βββ mcp-http-cli/ # CLI tool for testing via HTTP
β βββ mcp-test/ # Walks tool handlers against a real site
β βββ mcp-tokens/ # Token-cost report for the tool surface
β βββ docs-gen/ # Generates the tool reference (Markdown + GitHub Pages)
βββ pkg/ # Importable by other MCP servers built on this one
β βββ auth/ # Authentication helpers (bearer & OAuth2 token handling)
β βββ cli/ # -toolsets flag parsing
β βββ config/ # Configuration management (env, flags), MCP server setup
β βββ helpers/ # Shared utility functions (errors, link helpers, tool parsing)
β βββ request/ # HTTP request primitives / Teamwork API wiring
β βββ testutil/ # Product-neutral test mocks
β βββ toolsets/ # Tool framework and registration logic
β βββ twctx/ # Per-request values derived from the bearer token
βββ internal/ # This server's own tools, not importable elsewhere
β βββ twprojects/ # Teamwork project/domain tools (tasks, tags, timers, etc.)
β βββ twdesk/ # Teamwork Desk tools (tickets, customers, etc.)
β βββ twspaces/ # Teamwork Spaces tools (spaces, pages, etc.)
β βββ twchat/ # Teamwork Chat tools (conversations, messages)
βββ examples/ # Usage & integration examples (LangChain Node/Python)
βββ docs/usage/ # End-user setup & connection guide
βββ Makefile # Common developer tasks
βββ Dockerfile # Container build configuration
βββ CODE_OF_CONDUCT.md # Community guidelines
βββ CONTRIBUTING.md # Contribution guide
βββ SECURITY.md # Security policy
Source-derived launch command. Check the maintainerβs required arguments and credentials before running:
docker run -i --rm docker.io/teamwork/mcp:v1.51.0Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"com-teamwork-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/teamwork/mcp:v1.51.0"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the clientβs tool list, then try a read-only example from its documentation.
Claude Desktop setup referencedocker.io/teamwork/mcp:v1.51.0dockercom.teamwork/mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.