Teamwork MCP server

Integrates with Teamwork API to manage projects, tasks, team members, and generate utilization reports for streamlined project management and collaboration workflows.
Back to servers
Setup instructions
Provider
Vizioz
Release date
Mar 07, 2025
Language
Go
Stats
11 stars

The Teamwork MCP server provides a simplified interface for interacting with Teamwork projects and tasks through a Model Context Protocol (MCP) server, making it easier to connect with the Teamwork API from applications like Cursor or Claude Desktop.

Installation

The simplest way to install and use Teamwork MCP is with npx:

npx @vizioz/teamwork-mcp

You can pass configuration options directly:

npx @vizioz/teamwork-mcp --domain=your-company [email protected] --pass=your-password

Configuration Options

Setting Credentials

You can provide your Teamwork credentials in three ways:

  1. Environment Variables: Set TEAMWORK_DOMAIN, TEAMWORK_USERNAME, and TEAMWORK_PASSWORD in your environment.

  2. .env File: Create a .env file with the required variables:

    TEAMWORK_DOMAIN=your-company
    [email protected]
    TEAMWORK_PASSWORD=your-password
    
  3. Command Line Arguments:

    npx @vizioz/teamwork-mcp --teamwork-domain=your-company [email protected] --teamwork-password=your-password
    

    Or using short form:

    npx @vizioz/teamwork-mcp --domain=your-company [email protected] --pass=your-password
    

Logging Configuration

The server creates log files in a logs directory by default. To disable logging:

npx @vizioz/teamwork-mcp --disable-logging

Or:

DISABLE_LOGGING=true npx @vizioz/teamwork-mcp

Tool Filtering

Control which MCP tools are available using allow or deny lists:

  1. Allow List (only expose specific tools):

    npx @vizioz/teamwork-mcp --allow=getProjects,getTasks,getTaskById
    
  2. Deny List (expose all tools except those specified):

    npx @vizioz/teamwork-mcp --deny=deleteTask,updateTask
    

Tool Groups

You can also filter tools by groups:

  • Projects: All project-related tools
  • Tasks: All task-related tools
  • People: All people-related tools
  • Reporting: All reporting-related tools
  • Time: All time-related tools
  • Comments: All comment-related tools

Example with groups:

npx @vizioz/teamwork-mcp --allow=Tasks,People

Project Association

To associate your solution with a Teamwork project, create a .teamwork file in your project root:

PROJECT_ID = YourTeamworkProjectID

Integration with MCP Clients

Cursor (Versions before 0.47)

  1. Open Cursor Settings > Features > MCP
  2. Click "+ Add New MCP Server"
  3. Enter a name (e.g., "Teamwork API")
  4. Select "stdio" as transport type
  5. Enter command: npx @vizioz/teamwork-mcp with your credentials
  6. Click "Add"

Cursor (Versions after 0.47)

Edit the config manually:

"Teamwork": {
  "command": "npx",
  "args": [
    "-y",
    "@vizioz/teamwork-mcp",
    "--domain",
    "yourdomain",
    "--user",
    "[email protected]",
    "--pass",
    "yourPassword"
  ]
}

Claude Desktop

Edit your Claude Desktop configuration file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Add the following:

{
  "mcpServers": {
    "teamwork": {
      "command": "npx",
      "args": [
        "-y",
        "@vizioz/teamwork-mcp",
        "--domain",
        "yourdomain",
        "--user",
        "[email protected]",
        "--pass",
        "yourPassword"
      ]
    }
  }
}

Available Tools

Project Tools

  • getProjects - Get all projects
  • getCurrentProject - Get current project details
  • createProject - Create a new project

Task Tools

  • getTasks - Get all tasks
  • getTasksByProjectId - Get tasks from a specific project
  • getTaskListsByProjectId - Get task lists from a specific project
  • getTasksByTaskListId - Get tasks from a specific task list
  • getTaskById - Get a specific task by ID
  • createTask - Create a new task
  • createSubTask - Create a subtask
  • updateTask - Update an existing task
  • deleteTask - Delete a task
  • getTasksMetricsComplete - Get completed tasks count
  • getTasksMetricsLate - Get late tasks count
  • getTaskSubtasks - Get subtasks for a specific task
  • getTaskComments - Get comments for a specific task

Comment Tools

  • createComment - Create a comment on a task/message/notebook

Company Tools

  • getCompanies - Get all companies
  • getCompanyById - Get a company by ID
  • createCompany - Create a new company
  • updateCompany - Update company information
  • deleteCompany - Delete a company

People Tools

  • getPeople - Get all people
  • getPersonById - Get a person by ID
  • getProjectPeople - Get people assigned to a project
  • addPeopleToProject - Add people to a project
  • deletePerson - Delete a person
  • updatePerson - Update a person's information
  • getProjectsPeopleMetricsPerformance - Get people performance metrics
  • getProjectsPeopleUtilization - Get people utilization
  • getProjectPerson - Get a specific person on a project

Reporting Tools

  • getProjectsReportingUserTaskCompletion - Get user task completion report
  • getProjectsReportingUtilization - Get utilization report

Time Tools

  • getTime - Get all time entries
  • getProjectsAllocationsTime - Get project allocations time
  • getTimezones - Get available timezones

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "Teamwork" '{"command":"npx","args":["-y","@vizioz/teamwork-mcp","--domain","yourdomain","--user","[email protected]","--pass","yourPassword"]}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "Teamwork": {
            "command": "npx",
            "args": [
                "-y",
                "@vizioz/teamwork-mcp",
                "--domain",
                "yourdomain",
                "--user",
                "[email protected]",
                "--pass",
                "yourPassword"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "Teamwork": {
            "command": "npx",
            "args": [
                "-y",
                "@vizioz/teamwork-mcp",
                "--domain",
                "yourdomain",
                "--user",
                "[email protected]",
                "--pass",
                "yourPassword"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later