Back to Directory/Developer Tools

com.teamwork/mcp

The Teamwork.com official MCP server helps teams efficiently manage client projects with AI.

Developer ToolsGov1.51.0

Teamwork MCP Server

Model Context Protocol server for Teamwork.com integration with Large Language Models

Go Report Card Go MCP

πŸ“Œ 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.

πŸ“– Overview

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.

πŸ€– What is MCP?

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.

✨ Features

  • Multiple Transport Modes: HTTP and STDIO interfaces for different deployment scenarios
  • Secure Authentication: Bearer token and OAuth2 integration with Teamwork.com
  • Tool Framework: Extensible toolset architecture for adding new capabilities
  • Production Ready: Comprehensive logging, monitoring, and observability
  • Read-Only Mode: Optional restriction to read-only operations for safety

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.

πŸš€ Available Servers

This project provides three different ways to interact with the Teamwork.com MCP server:

πŸ“‘ HTTP 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

πŸ’¬ STDIO Server

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

πŸ› οΈ HTTP CLI

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

πŸ“‹ Prerequisites

  • Go 1.27 or later
  • Valid Teamwork.com API credentials (bearer token or OAuth2 setup)

πŸ§ͺ Development & Testing

Running Tests

# Run all tests
go test ./...

# Run specific package tests
go test ./internal/twprojects/

MCP Inspector

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_CERTS environment variable is required when using OAuth2 authentication with the Let's Encrypt certification authority. Download the certificate here.

πŸ—οΈ Architecture

β”œβ”€β”€ 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

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
docker run -i --rm docker.io/teamwork/mcp:v1.51.0

Set up in your AI client

Merge 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.

json
{
  "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 reference

Package

docker.io/teamwork/mcp:v1.51.0docker

Compatible MCP Clients

com.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.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.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.

Learn More