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

π 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 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 (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
- 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
π Available Servers
This project provides three different ways to interact with the Teamwork 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=:8012 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.24 or later
- Valid Teamwork 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
βββ internal/
β βββ config/ # Configuration management
β βββ helpers/ # Utility functions
β βββ toolsets/ # Tool framework and management
β βββ twprojects/ # Teamwork project operations
βββ examples/ # Usage examples and integrations
βββ chart/ # Kubernetes Helm chart
βββ Dockerfile # Container build configuration