# mcp

Teamwork.com's official MCP server hands your agent projects, tasks and tickets, and lets it change them on request. Useful when the work lives outside your editor.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 27
- Author: Teamwork
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Teamwork/mcp
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/teamwork-mcp

## What it does

The server spells out Teamwork.com actions in a shape an agent can pick up and call on its own: projects, tasks and timers, Desk tickets, Spaces pages, Chat conversations. Point a client at the hosted endpoint `https://mcp.ai.teamwork.com/sse`, or run the container `docker.io/teamwork/mcp:v1.51.3` over stdio when you want it on your own machine.

Under the hood there is a Go project with three entry points: an HTTP server for several clients at once, a stdio server for desktop tools, and a CLI that prints the tool list for debugging. Access comes from a Teamwork.com bearer token or OAuth2. A read-only switch is there too, and it is the setting to pick while you are still watching what the agent does with write calls.

Building from source takes Go 1.27 or newer. The stdio container reads `TW_MCP_BEARER_TOKEN` from the environment; leave it empty and the API refuses you. Debugging OAuth2 against Let's Encrypt also needs `NODE_EXTRA_CA_CERTS`, otherwise the certificate check stops MCP Inspector cold.

## Requirements
- Needs: Docker
- Remote server: `https://mcp.ai.teamwork.com/sse`
- Environment variables: `TW_MCP_BEARER_TOKEN`, `TW_MCP_LOG_FORMAT`, `TW_MCP_LOG_LEVEL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI: remote server**
```bash
claude mcp add --transport http teamwork-mcp https://mcp.ai.teamwork.com/sse
```

2. **Platform CLI**
```bash
claude mcp add --env TW_MCP_BEARER_TOKEN=<TW_MCP_BEARER_TOKEN> --env TW_MCP_LOG_FORMAT=<TW_MCP_LOG_FORMAT> --env TW_MCP_LOG_LEVEL=<TW_MCP_LOG_LEVEL> --transport stdio teamwork-mcp -- docker run -i --rm -e TW_MCP_BEARER_TOKEN -e TW_MCP_LOG_FORMAT -e TW_MCP_LOG_LEVEL docker.io/teamwork/mcp:v1.51.3
```
Replace <…> with your own values

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add teamwork-mcp --url https://mcp.ai.teamwork.com/sse
```

2. **Platform CLI**
```bash
codex mcp add teamwork-mcp --env TW_MCP_BEARER_TOKEN=<TW_MCP_BEARER_TOKEN> --env TW_MCP_LOG_FORMAT=<TW_MCP_LOG_FORMAT> --env TW_MCP_LOG_LEVEL=<TW_MCP_LOG_LEVEL> -- docker run -i --rm -e TW_MCP_BEARER_TOKEN -e TW_MCP_LOG_FORMAT -e TW_MCP_LOG_LEVEL docker.io/teamwork/mcp:v1.51.3
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "teamwork-mcp": {
            "url": "https://mcp.ai.teamwork.com/sse"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "teamwork-mcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "TW_MCP_BEARER_TOKEN",
                "-e",
                "TW_MCP_LOG_FORMAT",
                "-e",
                "TW_MCP_LOG_LEVEL",
                "docker.io/teamwork/mcp:v1.51.3"
            ],
            "env": {
                "TW_MCP_BEARER_TOKEN": "<TW_MCP_BEARER_TOKEN>",
                "TW_MCP_LOG_FORMAT": "<TW_MCP_LOG_FORMAT>",
                "TW_MCP_LOG_LEVEL": "<TW_MCP_LOG_LEVEL>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "teamwork-mcp": {
            "type": "http",
            "url": "https://mcp.ai.teamwork.com/sse"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "teamwork-mcp": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "TW_MCP_BEARER_TOKEN",
                "-e",
                "TW_MCP_LOG_FORMAT",
                "-e",
                "TW_MCP_LOG_LEVEL",
                "docker.io/teamwork/mcp:v1.51.3"
            ],
            "env": {
                "TW_MCP_BEARER_TOKEN": "<TW_MCP_BEARER_TOKEN>",
                "TW_MCP_LOG_FORMAT": "<TW_MCP_LOG_FORMAT>",
                "TW_MCP_LOG_LEVEL": "<TW_MCP_LOG_LEVEL>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http teamwork-mcp https://mcp.ai.teamwork.com/sse
```

2. **Platform CLI**
```bash
gemini mcp add -e TW_MCP_BEARER_TOKEN=<TW_MCP_BEARER_TOKEN> -e TW_MCP_LOG_FORMAT=<TW_MCP_LOG_FORMAT> -e TW_MCP_LOG_LEVEL=<TW_MCP_LOG_LEVEL> teamwork-mcp docker run -i --rm -e TW_MCP_BEARER_TOKEN -e TW_MCP_LOG_FORMAT -e TW_MCP_LOG_LEVEL docker.io/teamwork/mcp:v1.51.3
```
Replace <…> with your own values

## When to use it
- list a project's tasks with tags and running timers
- clear a backlog of unanswered Desk tickets
- locate a Spaces page by its title
- summarise a Chat thread and pull out the decisions
- file a task straight from a conversation

## Example prompts
- Show the Teamwork tasks assigned to me this week
- Create a task in the Redesign project due Friday
- Which Desk tickets still have no reply?

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

## Other versions with the same name
- [mcp · kubeshark](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — ★ 12109
- [mcp · butterbase-ai](https://affpapa.org/en/nevibecode/mcp/butterbase-ai-mcp.md) — ★ 3031
- [mcp · medplum](https://affpapa.org/en/nevibecode/mcp/mcp.md) — ★ 2760
- [mcp · sceneview](https://affpapa.org/en/nevibecode/mcp/sceneview-mcp.md) — ★ 1348
- [mcp · buoy-gg](https://affpapa.org/en/nevibecode/mcp/buoy-gg-mcp.md) — ★ 691

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
