Labsco
Vizioz logo

Teamwork MCP

โ˜… 13

from Vizioz

Connects to the Teamwork API to interact with projects and tasks.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

Teamwork MCP

An MCP server that connects to the Teamwork API, providing a simplified interface for interacting with Teamwork projects and tasks.

Features

  • Connect to Teamwork API
  • Retrieve projects and tasks
  • Create, update, and delete tasks
  • RESTful API endpoints
  • Error handling and logging
  • MCP server for integration with Cursor and other applications

Available Teamwork MCP Tools

The following tools are available through the MCP server:

Project Tools

  • getProjects - Get all projects from Teamwork
  • getCurrentProject - Gets details about the current project
  • createProject - Create a new project in Teamwork

Task Tools

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

Comment Tools

  • createComment - Create a comment related to a task/message/notebook

Company Tools

  • getCompanies - Get all companies from Teamwork with optional filtering
  • getCompanyById - Get a specific company by ID
  • createCompany - Create a new company in Teamwork
  • updateCompany - Update an existing company's information
  • deleteCompany - Delete a company from Teamwork

People Tools

  • getPeople - Get all people from Teamwork
  • getPersonById - Get a specific person by ID from Teamwork
  • getProjectPeople - Get all people assigned to a specific project from Teamwork
  • addPeopleToProject - Add people to a specific project in Teamwork
  • deletePerson - Delete a person from Teamwork
  • updatePerson - Update a person's information (timezone, name, email, etc.)
  • getProjectsPeopleMetricsPerformance - Get people metrics performance
  • getProjectsPeopleUtilization - Get people utilization
  • getProjectPerson - Get a specific person on a project

Reporting Tools

  • getProjectsReportingUserTaskCompletion - Get user task completion report
  • getProjectsReportingUtilization - Get utilization report in various formats CSV & HTML

Time Tools

  • getTime - Get all time entries
  • getProjectsAllocationsTime - Get project allocations time
  • getTimezones - Get all available timezones in Teamwork (useful when updating user timezones)

Setting Up Your Teamwork Project

To associate your current solution with a Teamwork project, you can use the following method:

Using a Configuration File

You can create a .teamwork file in the root of your project with the following structure:

PROJECT_ID = YourTeamworkProjectID

This simple configuration file associates your solution with a specific Teamwork project, we may use it to store more details in the future.

Once configured, the MCP will be able to find your Teamwork project and associate it with your current solution, reducing the number of API calls needed to get the project and tasks related to the solution you are working on.

Adding to MCP Clients

Cursor

To add this MCP server to Cursor:

Versions before 0.47

  1. Open Cursor Settings > Features > MCP
  2. Click "+ Add New MCP Server"
  3. Enter a name for the server (e.g., "Teamwork API")
  4. Select "stdio" as the transport type
  5. Enter the command to run the server: npx @vizioz/teamwork-mcp and add the credentials and domain command line arguments as mentioned above.
    • You can include tool filtering options: --allow=getProjects,getTasks or --deny=deleteTask
  6. Click "Add"

Versions after 0.47 (editing the config manually)

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

To disable logging in Cursor, add the --disable-logging argument:

"Teamwork": {
  "command": "npx",
  "args": [
    "-y",
    "@vizioz/teamwork-mcp",
    "--domain",
    "yourdomain",
    "--user",
    "youruser@yourdomain.com",
    "--pass",
    "yourPassword",
    "--disable-logging"
  ]
}

If you want to add the allow or deny arguments mentioned above you just add them like this, you can add any of the examples given above, you can also add both groups and individual tools as shown below:

"Teamwork": {
  "command": "npx",
  "args": [
    "-y",
    "@vizioz/teamwork-mcp",
    "--domain",
    "yourdomain",
    "--user",
    "youruser@yourdomain.com",
    "--pass",
    "yourPassword",
    "--allow",
    "Tasks,Projects",
    "--deny",
    "getProjectsPeopleMetricsPerformance,getProjectsPeopleUtilization"
  ]
}

The Teamwork MCP tools will now be available to the Cursor Agent in Composer.

Claude Desktop

To add this MCP server to 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 configuration:

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

Windsurf

To add this MCP server to Windsurf, follow similar steps to Cursor by adding the MCP server configuration with the npx command and your credentials.

Building from Source

Note: You only need to follow these instructions if you plan to contribute to the project or submit a pull request. For regular usage, use the NPX installation method above.

Local Development Setup

  1. Clone the repository:

    git clone https://github.com/readingdancer/teamwork-mcp.git
    cd teamwork-mcp
  2. Install dependencies:

    npm install
  3. Create a .env file based on the .env.example file:

    cp .env.example .env
  4. Update the .env file with your Teamwork credentials:

    PORT=3000
    NODE_ENV=development
    LOG_LEVEL=info
    TEAMWORK_DOMAIN=your-company
    TEAMWORK_USERNAME=your-email@example.com
    TEAMWORK_PASSWORD=your-password

Building the Application

Build the application:

npm run build

This will compile the TypeScript code ready to be used as an MCP Server.

Running as an MCP Server (Local Build)

To run as an MCP server for integration with Cursor and other applications, if you are using the .env file for your username, password & url, or if you have saved them in environment variables:

NOTE: Don't forget to change the drive and path details based on where you have saved the repository.

node C:/your-full-path/build/index.js

Or you can pass them using line arguments:

node C:/your-full-path/build/index.js --teamwork-domain=your-company --teamwork-username=your-email@example.com --teamwork-password=your-password

You can also use the short form:

node C:/your-full-path/build/index.js --domain=your-company --user=your-email@example.com --pass=your-password

Using the MCP Inspector

To run the MCP inspector for debugging:

npm run inspector

Disclaimer

This project is not affiliated with, endorsed by, or sponsored by Teamwork.com. The use of the name "Teamwork" in the package name (@vizioz/teamwork-mcp) is solely for descriptive purposes to indicate compatibility with the Teamwork.com API.