MCP.so
Sign In

Teamwork MCP

@Vizioz

About Teamwork MCP

MCP server to connect to the Teamwork API

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "teamwork-mcp-vizioz": {
      "command": "npx",
      "args": [
        "@vizioz/teamwork-mcp"
      ]
    }
  }
}

Tools

36

Get all projects from Teamwork

Get the current solution's Teamwork project, always check the `.teamwork` file in the root of the solution for the Teamwork project ID or ask the user which project they are working on.

Create a new project in Teamwork

Get tasks, Return multiple tasks according to the optional provided filter.

Get all tasks from a specific project in Teamwork

Get all task lists by project ID

Get all tasks from a specific task list in Teamwork

Get a specific task by ID from Teamwork

Creates a task. Create a new task in the provided task list.

Creates a subtask. Create a new subtask under the provided parent task.

Update an existing task. Modify the properties of an existing task.

Delete a task from Teamwork

Get the total count of completed tasks in Teamwork

Get the total count of late tasks in Teamwork

Get all subtasks for a specific task in Teamwork

Get comments for a specific task from Teamwork

Creates a new comment for a specific resource (tasks, milestones, notebooks, links, fileversions) in Teamwork

Get all people from Teamwork

Get a specific person by ID from Teamwork

Get all people assigned to a specific project from Teamwork

Add people to a specific project in Teamwork

Delete a person from Teamwork

Update a person in Teamwork. This endpoint allows you to modify user information like timezone, name, email, etc.

Create a new company. This tool allows you to create a company. The request requires a companyRequest object with various properties like addressOne, emailOne, name, and tags.

This tool allows you to update a company. It requires parameters: companyId and companyRequest.

This tool allows you to delete a company, be careful with this tool as it will delete the company and all associated data. It requires the following parameters: companyId.

Get a list of companies, retrieve all companies for the provided filters. This endpoint allows you to filter companies by various parameters including custom fields, tags, search terms, and more.

Get a specific company by ID. Retrieves detailed information about a company identified by its ID.

Performance of users completing the most tasks. Count the number of completed tasks by user for the provided period. By default the user with the most completed tasks is shown first.

Return the user utilization data. This endpoint provides detailed information about user utilization, including billable and non-billable time, availability, and various utilization metrics.

Get time entries for a specific allocation. Return logged time entries for a specific allocation. Only the time entries that the logged-in user can access will be returned.

Get all time entries. Return all logged time entries for all projects. Only the time entries that the logged-in user can access will be returned.

Returns one or more people on a project. Retrieve a person(s) record.

Returns task completions for a given user. Retrieve a person record and its task completion stats.

Generate utilization report in various formats (CSV, HTML, PDF, XLSX). Generates a utilization report containing all people for the provided filters. Only the people that the logged-in user can access will be returned.

Get all timezones available in Teamwork. This is useful when you need to update a user's timezone and need to know the available options.

Overview

What is Teamwork MCP?

An MCP server that connects to the Teamwork API, providing a simplified interface for interacting with Teamwork projects and tasks. It is designed for developers using MCP-compatible clients like Cursor, Claude Desktop, or Windsurf.

How to use Teamwork MCP?

Install and run via npx: npx @vizioz/teamwork-mcp. Provide Teamwork credentials through environment variables (TEAMWORK_DOMAIN, TEAMWORK_USERNAME, TEAMWORK_PASSWORD), a .env file, or command-line arguments (--domain, --user, --pass). Optionally filter available tools using --allow-tools or --deny-tools with individual tool names or groups (Projects, Tasks, People, etc.). Logging can be disabled with --disable-logging.

Features of Teamwork MCP

  • Connect to Teamwork API and manage projects.
  • Full CRUD for tasks, subtasks, and comments.
  • Retrieve and manage companies and people.
  • Reporting for task completion and utilization.
  • Time entries and project allocations.
  • Tool filtering and configurable logging.

Use cases of Teamwork MCP

  • Track project tasks and subtasks in Teamwork.
  • Get metrics on completed and late tasks.
  • Manage people assignments and utilization.
  • Create companies and update person information.
  • Generate user task completion and utilization reports.

FAQ from Teamwork MCP

How do I provide Teamwork credentials?

Through environment variables (TEAMWORK_DOMAIN, TEAMWORK_USERNAME, TEAMWORK_PASSWORD), a .env file, or command-line arguments (--domain, --user, --pass).

Can I limit which tools are available?

Yes, use --allow-tools or --deny-tools with individual tool names or groups (Projects, Tasks, People, Reporting, Time, Comments). If both are provided, the allow list takes precedence.

How do I disable logging?

Use the --disable-logging or --no-logging command-line argument, or set the DISABLE_LOGGING=true environment variable.

What clients are supported?

The server integrates with Cursor, Claude Desktop, and Windsurf via MCP configuration using stdio transport.

What are the runtime requirements

Frequently asked questions

How do I provide Teamwork credentials?

Through environment variables (`TEAMWORK_DOMAIN`, `TEAMWORK_USERNAME`, `TEAMWORK_PASSWORD`), a `.env` file, or command-line arguments (`--domain`, `--user`, `--pass`).

Can I limit which tools are available?

Yes, use `--allow-tools` or `--deny-tools` with individual tool names or groups (Projects, Tasks, People, Reporting, Time, Comments). If both are provided, the allow list takes precedence.

How do I disable logging?

Use the `--disable-logging` or `--no-logging` command-line argument, or set the `DISABLE_LOGGING=true` environment variable.

What clients are supported?

The server integrates with Cursor, Claude Desktop, and Windsurf via MCP configuration using stdio transport.

Comments

More Other MCP servers