addPeopleToProject
Add people to a specific project in Teamwork
Runs a Teamwork account from the conversation — projects, tasks and subtasks, comments, people, companies, logged time and utilization reporting.
LABSCO SUMMARY
Two things to set before real use. Put a .teamwork file with PROJECT_ID in the repository so questions about 'this project' resolve without a lookup. And fence the tool list with --allow or --deny: delete tools for tasks, people and companies all sit in the default surface, and most sessions need none of them.
An MCP server over the Teamwork API, authenticated with your own account credentials, covering the project and task surface as well as the people, time and reporting side.
A Teamwork account with API access, and Node.js v14.17 or higher (18 or the latest LTS recommended). Credentials arrive either as TEAMWORK_DOMAIN, TEAMWORK_USERNAME and TEAMWORK_PASSWORD, or as --domain, --user and --pass on the command line. Run it with npx @vizioz/teamwork-mcp. --allow-tools and --deny-tools narrow the surface by individual name or by group, so --deny=deleteTask,updateTask leaves a read-mostly server. Logging writes error.log and combined.log into a logs directory unless you pass --disable-logging or set DISABLE_LOGGING=true. A .teamwork file in the project root holding PROJECT_ID lets getCurrentProject resolve the project without extra lookups.
One command plus credentials — npx @vizioz/teamwork-mcp, then supply credentials
USE CASES
Resolve the project from the repository, then pull its open tasks.
List the task lists on the project, then create the task inside the right one.
Open the parent task, add subtasks under it, then read the set back.
Read its comments newest first, then add your own with the right visibility.
Pull logged entries filtered by project or task, and the entries against a specific allocation.
Read the utilization data for the people involved, then export the formatted report.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
addPeopleToProjectAdd people to a specific project in Teamwork
createCommentCreates a new comment for a specific resource (tasks, milestones, notebooks, links, fileversions) in Teamwork
createCompanyCreate 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.
createProjectCreate a new project in Teamwork
createSubTaskCreates a subtask. Create a new subtask under the provided parent task.
createTaskCreates a task. Create a new task in the provided task list.
deleteCompanyThis 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.
deletePersonDelete a person from Teamwork
deleteTaskDelete a task from Teamwork
getCompaniesGet 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.
getCompanyByIdGet a specific company by ID. Retrieves detailed information about a company identified by its ID.
getCurrentProjectGet 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.
getPeopleGet all people from Teamwork
getPersonByIdGet a specific person by ID from Teamwork
getProjectPeopleGet all people assigned to a specific project from Teamwork
getProjectPersonReturns one or more people on a project. Retrieve a person(s) record.
getProjectsGet all projects from Teamwork
getProjectsAllocationsTimeGet 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.
getProjectsPeopleMetricsPerformancePerformance 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.
getProjectsPeopleUtilizationReturn the user utilization data. This endpoint provides detailed information about user utilization, including billable and non-billable time, availability, and various utilization metrics.
getProjectsReportingUserTaskCompletionReturns task completions for a given user. Retrieve a person record and its task completion stats.
getProjectsReportingUtilizationGenerate 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.
getTaskByIdGet a specific task by ID from Teamwork
getTaskCommentsGet comments for a specific task from Teamwork
getTaskListsByProjectIdGet all task lists by project ID
getTasksGet tasks, Return multiple tasks according to the optional provided filter.
getTasksByProjectIdGet all tasks from a specific project in Teamwork
getTasksByTaskListIdGet all tasks from a specific task list in Teamwork
getTasksMetricsCompleteGet the total count of completed tasks in Teamwork
getTasksMetricsLateGet the total count of late tasks in Teamwork
getTaskSubtasksGet all subtasks for a specific task in Teamwork
getTimeGet 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.
getTimezonesGet all timezones available in Teamwork. This is useful when you need to update a user's timezone and need to know the available options.
updateCompanyThis tool allows you to update a company. It requires parameters: companyId and companyRequest.
updatePersonUpdate a person in Teamwork. This endpoint allows you to modify user information like timezone, name, email, etc.
updateTaskUpdate an existing task. Modify the properties of an existing task.
BEFORE YOU INSTALL
36 tools when we connected. --allow-tools and --deny-tools filter the set by tool or by group (Projects, Tasks, People, Reporting, Time, Comments). The five Company tools belong to no group, so a group-only allow list drops them.
All 3 documented setups run the server on your machine.
CONTEXT COST
Rated by the size of the 36 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx @vizioz/teamwork-mcp{
"mcpServers": {
"Teamwork": {
"command": "npx",
"args": [
"-y",
"@vizioz/teamwork-mcp",
"--domain",
"<YOUR_DOMAIN>",
"--user",
"<YOUR_USER>",
"--pass",
"<YOUR_PASSWORD>"
]
}
}
}The --domain, --user and --pass values in the blocks are your Teamwork domain, sign-in email and password. Setting TEAMWORK_DOMAIN, TEAMWORK_USERNAME and TEAMWORK_PASSWORD in your environment or a .env file is the project's alternative to the arguments, not an extra step.
{
"mcpServers": {
"Teamwork": {
"command": "npx",
"args": [
"-y",
"@vizioz/teamwork-mcp",
"--domain",
"<YOUR_DOMAIN>",
"--user",
"<YOUR_USER>",
"--pass",
"<YOUR_PASSWORD>",
"--allow",
"Tasks,Projects",
"--deny",
"getProjectsPeopleMetricsPerformance,getProjectsPeopleUtilization"
]
}
}
}The --domain, --user and --pass values in the blocks are your Teamwork domain, sign-in email and password. Setting TEAMWORK_DOMAIN, TEAMWORK_USERNAME and TEAMWORK_PASSWORD in your environment or a .env file is the project's alternative to the arguments, not an extra step.
{
"mcpServers": {
"teamwork": {
"command": "npx",
"args": [
"-y",
"@vizioz/teamwork-mcp",
"--domain",
"<YOUR_DOMAIN>",
"--user",
"<YOUR_USER>",
"--pass",
"<YOUR_PASSWORD>"
]
}
}
}The --domain, --user and --pass values in the blocks are your Teamwork domain, sign-in email and password. Setting TEAMWORK_DOMAIN, TEAMWORK_USERNAME and TEAMWORK_PASSWORD in your environment or a .env file is the project's alternative to the arguments, not an extra step.