项目简介
Teamwork MCP Server 是一个 MCP 服务器,旨在简化 LLM 客户端与 Teamwork 项目管理工具的集成。通过提供一系列预定义的工具,该服务器允许 LLM 客户端(如 Cursor 编辑器)安全地访问和操作 Teamwork 中的项目、任务、人员和报告等资源,从而实现更智能化的工作流程自动化和上下文感知功能。
主要功能点
- 连接 Teamwork API: 安全连接到 Teamwork 项目管理平台,作为 LLM 客户端与 Teamwork 数据的桥梁。
- 资源访问: 提供工具以检索 Teamwork 中的项目、任务、任务列表、人员和时间条目等信息。
- 任务管理: 支持创建、更新和删除 Teamwork 中的任务和子任务。
- 人员管理: 允许检索项目人员、添加人员到项目和删除人员等操作。
- 报表生成: 提供多种报表工具,例如用户任务完成情况和资源利用率报告,支持 CSV, HTML, PDF, XLSX 等格式。
- 工具过滤: 支持通过白名单 (allow list) 和黑名单 (deny list) 机制,灵活控制暴露给 LLM 客户端的工具,增强安全性。
- 灵活配置: 支持通过环境变量、.env 文件或命令行参数配置 Teamwork API 凭据和工具过滤规则。
- Stdio 传输: 通过 Stdio (标准输入输出) 协议与 MCP 客户端通信,易于集成到各种支持 MCP 协议的 LLM 应用中。
安装步骤
-
克隆仓库:
git clone https://github.com/readingdancer/Teamwork-MCP.git cd teamwork-mcp -
安装依赖: 确保已安装 Node.js (推荐 v18 或更高版本) 和 npm 或 yarn。在项目根目录下运行:
npm install -
配置环境变量: 复制 '.env.example' 文件为 '.env',并根据您的 Teamwork 账户信息修改 '.env' 文件:
cp .env.example .env编辑 '.env' 文件,填入您的 Teamwork 域名、用户名和密码:
PORT=3000 NODE_ENV=development LOG_LEVEL=info TEAMWORK_DOMAIN=your-company # 您的 Teamwork 域名 (例如,your-company.teamwork.com 中的 "your-company") [email protected] # 您的 Teamwork 用户名 (邮箱) TEAMWORK_PASSWORD=your-password # 您的 Teamwork 密码 -
构建项目:
npm run build
服务器配置
要将 Teamwork MCP Server 添加到 MCP 客户端(例如 Cursor),您需要配置服务器的启动命令。以下是 Cursor 编辑器配置 MCP Server 的 JSON 格式示例 (适用于 Cursor 0.47 及更高版本):
{ "Teamwork-MCP": { // 服务器名称,可自定义 "command": "node", // 启动服务器的命令 "args": [ "C:/your-full-path/build/index.js" // MCP 服务器的入口文件路径,请替换为您的实际路径 ], "transport": "stdio" // 使用 Stdio 传输协议 } }
参数说明:
-
'"Teamwork-MCP"': 服务器名称,在 Cursor 中显示,可以自定义。
-
'"command": "node"': 指定用于启动服务器的命令为 'node' (Node.js 运行时)。
-
'"args": [...]"': 启动命令的参数列表。
- '"C:/your-full-path/build/index.js"': 请务必替换为 Teamwork-MCP 项目 'build/index.js' 文件的完整路径。 这是 MCP 服务器的入口文件。
- 其他参数 (可选): 您还可以添加额外的命令行参数来配置服务器行为,例如:
- '--allow=getProjects,getTasks': 只允许 'getProjects' 和 'getTasks' 这两个工具被 LLM 客户端调用。
- '--deny=deleteTask,updateTask': 禁止 LLM 客户端调用 'deleteTask' 和 'updateTask' 这两个工具,允许其他所有工具。
- '--domain=your-company [email protected] --pass=your-password': 如果您不想使用 '.env' 文件配置 Teamwork 凭据,可以在 'args' 中直接通过命令行参数传递 (不推荐,建议使用 '.env' 文件)。
-
'"transport": "stdio"': 指定 MCP 服务器使用标准输入输出流 (stdio) 与客户端通信。
Cursor 配置步骤 (版本 0.47 及更高版本):
- 打开 Cursor 编辑器的设置 (Settings)。
- 找到 "Features" -> "MCP Server" 设置项。
- 点击 "Edit in settings.json" (或类似的按钮) 打开 settings.json 配置文件。
- 在 settings.json 文件中,找到或创建 '"mcp.servers"' 部分。
- 将上面的 JSON 配置代码添加到 '"mcp.servers"' 中。
- 保存 settings.json 文件。
基本使用方法
配置完成后,在 Cursor 编辑器中,您就可以通过 '@Teamwork-MCP' 或在 Composer 中选择 "Teamwork-MCP" 服务器来使用集成的 Teamwork 工具了。例如,您可以让 Cursor Agent 帮助您:
- 获取 Teamwork 中的项目列表:'@Teamwork-MCP getProjects'
- 获取指定项目的任务列表:'@Teamwork-MCP getTasksByProjectId projectId=123' (将 '123' 替换为实际项目 ID)
- 创建新的 Teamwork 任务:'@Teamwork-MCP createTask tasklistId=456 taskRequest={"task": {"name": "新任务标题"}}' (将 '456' 替换为实际任务列表 ID,并根据需要完善任务内容)
具体工具的使用方法和参数,请参考仓库 README.md 文件中 "Available Teamwork MCP Tools" 部分的详细描述和工具的 'inputSchema' 定义。
信息
分类
生产力应用