• 项目简介 Teamwork.com MCP 服务端旨在通过 Model Context Protocol (MCP) 协议,将 Teamwork.com 的项目管理能力无缝集成到大型语言模型 (LLM) 应用中。它为 LLM 客户端提供标准化的接口,使其能够理解和执行与 Teamwork.com 项目相关的各种操作,如创建、更新、删除任务、里程碑、管理用户和团队等。

  • 主要功能点

    • 标准化上下文提供: 以 MCP 协议标准化的方式向 LLM 客户端提供 Teamwork.com 的项目数据和功能。
    • 丰富的工具集: 托管和管理一系列与 Teamwork.com 项目相关的“工具”,例如:
      • 项目管理: 创建、更新、删除、获取、列出项目,添加项目成员。
      • 任务和任务列表: 创建、更新、删除、获取、列出任务和任务列表。
      • 里程碑: 创建、更新、删除、获取、列出项目里程碑。
      • 用户和团队: 创建、更新、删除、获取、列出用户和团队,获取当前登录用户信息,查看用户工作负载。
      • 评论: 创建、更新、删除、获取、列出评论(可按文件版本、里程碑、笔记本、任务筛选)。
      • 时间日志和计时器: 创建、更新、删除、获取、列出时间日志和计时器,以及暂停、恢复、完成计时器。
      • 标签: 创建、更新、删除、获取、列出标签。
      • 活动: 列出项目活动日志。
      • 公司: 创建、更新、删除、获取、列出公司/客户信息。
    • 多传输协议支持: 支持 HTTP 和 STDIO 两种传输模式,适应不同的部署和客户端集成场景。
    • 安全认证: 集成了 Bearer Token 和 OAuth2 认证机制,确保与 Teamwork.com API 的安全通信。
    • 可扩展架构: 采用可扩展的工具集架构,方便未来添加更多功能。
  • 安装步骤 该服务端使用 Go 语言开发。您需要安装 Go 1.25 或更高版本。

    1. 克隆仓库:
      git clone https://github.com/Teamwork/mcp.git
      cd mcp
    2. 构建 HTTP 服务端:
      go build -o mcp-http cmd/mcp-http/main.go
    3. 构建 STDIO 服务端:
      go build -o mcp-stdio cmd/mcp-stdio/main.go
    4. 构建 HTTP CLI 工具 (可选):
      go build -o mcp-http-cli cmd/mcp-http-cli/main.go
  • 服务器配置 MCP 客户端(如 Claude Desktop, VS Code Copilot Chat, Gemini 等)可以通过 JSON-RPC 协议与此服务器通信。根据您选择的传输协议,客户端需要配置相应的启动命令和参数。

    1. HTTP 服务端配置示例 HTTP 服务端默认监听 ':8080' 端口。LLM 客户端需要知道服务器的 URL。 启动命令(在服务器上运行):

    TW_MCP_SERVER_ADDRESS=":8080" ./mcp-http

    LLM 客户端配置信息(JSON 格式):

    {
      "name": "Teamwork.com MCP Server",
      "command": "/path/to/mcp-http",
      "args": [],
      "connection": {
        "type": "http",
        "url": "https://your-server-domain:8080", // 替换为您的服务器可访问的实际URL
        "headers": {
          "Authorization": "Bearer YOUR_TEAMWORK_API_TOKEN" // 替换为您的Teamwork.com API Bearer Token
        }
      }
    }
    • name: MCP 服务器的名称,便于识别。
    • command: 'mcp-http' 可执行文件的路径。
    • args: 传递给 'mcp-http' 命令的额外参数(此处为空)。
    • connection.type: 连接类型,此处为 'http'。
    • connection.url: MCP 服务器的 HTTP 访问地址。
    • connection.headers.Authorization: 用于向 Teamwork.com API 进行认证的 Bearer Token。

    2. STDIO 服务端配置示例 STDIO 服务端通过标准输入输出与客户端通信。LLM 客户端通常会直接启动此程序。 LLM 客户端配置信息(JSON 格式):

    {
      "name": "Teamwork.com MCP Server (STDIO)",
      "command": "/path/to/mcp-stdio",
      "args": [
        "--toolsets", "all",
        "--read-only", "false"
      ],
      "env": {
        "TW_MCP_BEARER_TOKEN": "YOUR_TEAMWORK_API_TOKEN" // 替换为您的Teamwork.com API Bearer Token
      }
    }
    • name: MCP 服务器的名称,便于识别。
    • command: 'mcp-stdio' 可执行文件的路径。
    • args: 传递给 'mcp-stdio' 命令的额外参数。
      • '--toolsets all': 启用所有可用的工具集('all' 或逗号分隔的特定工具集,如'projects')。
      • '--read-only false': 允许读写操作('true' 则只允许读取操作)。
    • env.TW_MCP_BEARER_TOKEN: 用于向 Teamwork.com API 进行认证的 Bearer Token。
  • 基本使用方法 一旦 MCP 服务器启动并被 LLM 客户端配置,LLM 客户端就可以开始与 Teamwork.com 进行交互。例如:

    • 列出所有项目: LLM 客户端可以调用相应的 MCP 工具来获取项目列表。
    • 创建新任务: LLM 客户端可以提供任务名称、所属任务列表 ID 和描述来创建新任务。
    • 查询用户工作负载: LLM 客户端可以指定日期范围和用户 ID 来获取用户的工作负载信息。

    具体交互将通过 LLM 客户端的自然语言界面进行,LLM 会将您的请求转换为对 MCP 服务器上相应工具的 JSON-RPC 调用。

信息

分类

生产力应用