团队合作 MCP
连接到 Teamwork API 的 MCP 服务器,提供与 Teamwork 项目和任务交互的简化界面。
特征
- 连接到团队合作 API
- 检索项目和任务
- 创建、更新和删除任务
- RESTful API 端点
- 错误处理和日志记录
- MCP 服务器用于与 Cursor 和其他应用程序集成
先决条件
- Node.js(v14.17 或更高版本,建议 18+ 或更好的最新 LTS 版本)
- npm 或 yarn
- 具有 API 访问权限的团队帐户
可用的 Teamwork MCP 工具
可通过 MCP 服务器使用以下工具:
项目工具
getProjects
- 获取 Teamwork 中的所有项目getCurrentProject
- 获取当前项目的详细信息createProject
在 Teamwork 中创建新项目
任务工具
getTasks
- 获取 Teamwork 中的所有任务getTasksByProjectId
- 获取 Teamwork 中特定项目的所有任务getTaskListsByProjectId
- 获取 Teamwork 中特定项目的所有任务列表getTasksByTaskListId
- 从 Teamwork 获取特定任务列表 ID 的所有任务getTaskById
- 从 Teamwork 中通过 ID 获取特定任务createTask
- 在 Teamwork 中创建新任务createSubTask
- 在 Teamwork 中的父任务下创建新的子任务updateTask
- 更新 Teamwork 中的现有任务deleteTask
从团队工作中删除任务getTasksMetricsComplete
- 获取 Teamwork 中已完成任务的总数getTasksMetricsLate
- 获取 Teamwork 中延迟任务的总数getTaskSubtasks
- 获取 Teamwork 中特定任务的所有子任务getTaskComments
- 从 Teamwork 获取特定任务的评论
评论工具
createComment
- 创建与任务/消息/笔记本相关的评论
公司工具
getCompanies
- 通过可选的筛选功能获取 Teamwork 中的所有公司getCompanyById
- 通过 ID 获取特定公司createCompany
- 在 Teamwork 中创建新公司updateCompany
- 更新现有公司的信息deleteCompany
从 Teamwork 中删除一家公司
人员工具
getPeople
- 获取 Teamwork 中的所有人员getPersonById
- 从 Teamwork 中通过 ID 获取特定人员getProjectPeople
- 从 Teamwork 获取分配到特定项目的所有人员addPeopleToProject
- 在 Teamwork 中将人员添加到特定项目deletePerson
从团队中删除一个人updatePerson
- 更新个人信息(时区、姓名、电子邮件等)getProjectsPeopleMetricsPerformance
- 获取人员指标绩效getProjectsPeopleUtilization
- 获取人员利用率getProjectPerson
- 获取项目中的特定人员
报告工具
getProjectsReportingUserTaskCompletion
- 获取用户任务完成情况报告getProjectsReportingUtilization
- 获取各种格式的利用率报告 CSV 和 HTML
时间工具
getTime
- 获取所有时间条目getProjectsAllocationsTime
- 获取项目分配时间getTimezones
- 获取 Teamwork 中所有可用的时区(更新用户时区时有用)
安装
- 克隆存储库:
- 依赖项:
- 基于
.env.example
文件创建.env
文件: - 使用您的 Teamwork 凭证更新
.env
文件。
配置
编辑.env
文件来配置应用程序:
PORT
:服务器运行的端口(默认值:3000)NODE_ENV
:环境(开发、生产、测试)LOG_LEVEL
:日志级别(信息、错误、调试)TEAMWORK_DOMAIN
:您的 Teamwork 域名(例如, https://your-company.teamwork.com的域名为“your-company”)TEAMWORK_USERNAME
:您的 Teamwork 用户名(电子邮件)TEAMWORK_PASSWORD
:您的团队密码
设置凭证
您可以通过三种方式提供您的团队合作凭证:
- 环境变量:在您的环境中设置
TEAMWORK_DOMAIN
、TEAMWORK_USERNAME
和TEAMWORK_PASSWORD
。 - .env 文件:创建一个包含所需变量的
.env
文件,如上所示。 - 命令行参数:运行应用程序时传递凭据:
或者使用缩写形式:
工具过滤
您可以使用以下命令行参数控制 MCP 服务器可用的工具:
- 允许列表:仅公开特定工具:或者使用缩写形式:
- 拒绝列表:公开除指定工具之外的所有工具:或者使用缩写形式:
使用组进行工具过滤
您现在可以指定工具组进行筛选,从而更灵活地控制 MCP 服务器可用的工具。可用的工具组包括:
- 项目:包括所有与项目相关的工具。
- 任务:包括所有与任务相关的工具。
- 人员:包括所有与人员相关的工具。
- 报告:包括所有与报告相关的工具。
- 时间:包括所有与时间相关的工具。
- 评论:包括特定的评论工具。
在工具过滤中使用组
您可以在允许列表或拒绝列表中指定这些组,以包含或排除组内的所有工具。例如:
- 允许组列表:仅公开特定组的工具:或者使用缩写形式:
- 拒绝组列表:公开除指定组中的工具之外的所有工具:或者使用缩写形式:
默认情况下,如果未提供允许列表或拒绝列表,则所有工具都会公开。如果同时提供允许列表和拒绝列表,则允许列表优先。
为了增强安全性,工具过滤在两个级别强制执行:
- 列出可用工具时(不在允许列表或拒绝列表中的工具将不可见)
- 执行工具调用时(尝试调用已过滤的工具将被拒绝并出现错误)
设置你的团队合作项目
要将当前解决方案与 Teamwork 项目关联,您可以使用以下方法:
使用配置文件
您可以在项目根目录中创建一个具有以下结构的.teamwork
文件:
这个简单的配置文件将您的解决方案与特定的团队合作项目关联起来,我们将来可能会使用它来存储更多详细信息。
配置完成后,MCP 将能够找到您的团队合作项目并将其与您当前的解决方案关联起来,从而减少获取与您正在处理的解决方案相关的项目和任务所需的 API 调用次数。
用法
使用 NPX(推荐)
使用 Teamwork MCP 最简单的方法是使用 npx:
您还可以传递配置选项:
构建应用程序
注意:如果您只想使用 MCP,则不需要这样做,请使用上面的 NPX 说明。
构建应用程序:
这将编译 TypeScript 代码,以便将其用作 MCP 服务器
作为 MCP 服务器运行
要作为 MCP 服务器运行以便与 Cursor 和其他应用程序集成,如果您使用 .env 文件作为您的用户名、密码和 url,或者您已将它们保存在环境变量中:
注意:不要忘记根据保存存储库的位置更改驱动器和路径详细信息。
或者您可以使用行参数传递它们:
您也可以使用缩写形式:
使用 MCP 检查器
运行 MCP 检查器进行调试:
添加到 Cursor(和其他 MCP 客户端)
要将此 MCP 服务器添加到 Cursor:
0.47 之前的版本
- 打开“光标设置”>“功能”>“MCP”
- 点击“+ 添加新的 MCP 服务器”
- 输入服务器的名称(例如“Teamwork API”)
- 选择“stdio”作为传输类型
- 输入运行服务器的命令:
npx @vizioz/teamwork-mcp
并添加如上所述的凭据和域命令行参数。- 您可以包含工具过滤选项:
--allow=getProjects,getTasks
或--deny=deleteTask
- 您可以包含工具过滤选项:
- 点击“添加”
0.47 之后的版本(手动编辑配置)
如果您想添加上面提到的允许或拒绝参数,您只需像这样添加它们,您可以添加上面给出的任何示例,您还可以添加组和单个工具,如下所示:
Teamwork MCP 工具现在可供 Composer 中的 Cursor Agent 使用。
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
免责声明
该项目与 Teamwork.com 无任何关联,亦未获得其认可或赞助。软件包名称 (@vizioz/teamwork-mcp) 中使用“Teamwork”一词仅出于描述目的,以表明其与 Teamwork.com API 兼容。
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
连接到 Teamwork API 的 MCP 服务器,提供与 Teamwork 项目和任务交互的简化界面。
Related MCP Servers
- -securityFlicense-qualityAn MCP server that provides tools and resources for managing a coding project's todo list, allowing users to view, add, update, and delete todo items with details like priority, status, and tags.Last updated -1Python
- -securityFlicense-qualityAn MCP server that connects to the Resource Hub, allowing centralized configuration and management of tools and resources across different MCP environments.Last updated -2JavaScript
- AsecurityFlicenseAqualityAn MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.Last updated -3928
- AsecurityAlicenseAqualityAn unofficial MCP server that enables Claude to interact with TeamRetro.com's API for team retrospective management, providing direct pass-through to TeamRetro's public API endpoints with multiple authentication options.Last updated -1160TypeScriptApache 2.0