使用说明
项目简介
Taiga MCP Bridge 是一个强大的集成层,它连接了 Taiga 项目管理平台与 Model Context Protocol (MCP),使得 AI 工具和工作流能够无缝地与 Taiga 的资源进行交互。该桥梁为 AI 代理提供了一套全面的工具和资源,使其能够以编程方式维护关于项目状态的上下文感知,并执行复杂的项目管理任务。
主要功能点
- 全面的资源支持:支持 Taiga 的 Projects, Epics, User Stories, Tasks, Issues, Sprints (Milestones) 等资源的完整 CRUD 操作。
- 项目管理能力:允许 AI 代理创建和管理 Taiga 中的项目、史诗、用户故事、任务和问题。
- 进度跟踪:支持跟踪 Sprint 和里程碑。
- 工作项管理:支持分配和更新工作项。
- 信息查询:支持查询项目工件的详细信息。
- 成员和权限管理:支持管理项目成员和权限。
- 会话管理:使用会话 ID 进行身份验证,确保安全访问。
- 多种传输模式:支持 stdio 和 SSE 两种传输模式。
安装步骤
-
前提条件:
- Python 3.10 或更高版本
- uv 包管理器 (推荐,用于快速安装依赖)
- Git (用于克隆仓库)
-
克隆仓库:
git clone https://github.com/talhaorak/pytaiga-mcp.git cd pytaiga-mcp -
安装依赖:
- 运行安装脚本 (推荐,自动处理依赖安装):
./install.sh - 或者手动安装 (使用 uv,生产环境依赖):
uv pip install -e . - 或者手动安装 (使用 uv,开发环境依赖,包含测试和代码质量工具):
uv pip install -e ".[dev]"
- 运行安装脚本 (推荐,自动处理依赖安装):
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令及其参数,以便建立连接。以下是连接 'Taiga MCP Bridge' 服务器的 JSON 配置示例,请根据实际情况修改 '<path to local pyTaigaMCP folder>'、'<stdio|sse>'、'<Taiga API Url>'、'<taiga username>' 和 '<taiga password>' 等参数。
{ "mcpServers": { "taigaApi": { "command": "uv", "args": [ "--directory", "<path to local pyTaigaMCP folder>", // 请替换为 pyTaigaMCP 文件夹的本地路径 "run", "src/server.py" ], "env": { "TAIGA_TRANSPORT": "<stdio|sse>", // 传输模式,可选 stdio 或 sse "TAIGA_API_URL": "<Taiga API Url>", // Taiga API URL,例如 http://localhost:9000 或 https://api.taiga.io/api/v1/ "TAIGA_USERNAME": "<taiga username>", // 您的 Taiga 用户名 "TAIGA_PASSWORD": "<taiga password>" // 您的 Taiga 密码 } } } }
配置说明:
- 'server name': 'taigaApi' (服务器名称,可自定义)
- 'command': 'uv' (启动命令,这里使用 uv 运行 Python)
- 'args': 启动参数,包括:
- '--directory': '<path to local pyTaigaMCP folder>',指向本地 pyTaigaMCP 文件夹的路径。请务必替换为实际路径。
- 'run': uv 的子命令,用于运行 Python 脚本。
- 'src/server.py': MCP 服务器的入口 Python 脚本。
- 'env': 环境变量配置,用于配置 Taiga MCP Bridge 服务器:
- 'TAIGA_TRANSPORT': 传输模式,可选 'stdio' 或 'sse'。默认为 'stdio'。
- 'TAIGA_API_URL': Taiga API 的基础 URL。如果使用 Taiga SaaS 服务,通常为 'https://api.taiga.io/api/v1/'。如果使用自托管 Taiga,请设置为您的 Taiga 实例的 API URL。
- 'TAIGA_USERNAME': 用于连接 Taiga API 的用户名。
- 'TAIGA_PASSWORD': 用于连接 Taiga API 的密码。
其他配置: 您还可以通过 '.env' 文件或环境变量配置服务器,例如设置日志级别、超时时间等。详细配置项请参考仓库 README 的 "Configuration" 章节。
基本使用方法
-
启动服务器: 根据您选择的传输模式,使用 'run.sh' 脚本或手动命令启动服务器。
- 默认 'stdio' 模式: './run.sh' 或 'uv run python src/server.py'
- 'sse' 模式: './run.sh --sse' 或 'uv run python src/server.py --sse'
-
客户端连接: 将上述 JSON 配置粘贴到您的 MCP 客户端(如 Claude App 或 Cursor)的 MCP 设置中。
-
身份验证: 客户端需要首先调用 'login' 工具进行身份验证,获取 'session_id'。后续所有工具和资源调用都需要携带 'session_id'。
示例 (Python 代码):
from mcp.client import Client client = Client() # 身份验证并获取 session_id auth_result = client.call_tool("login", { "username": "your_taiga_username", "password": "your_taiga_password", "host": "https://api.taiga.io" # 可选,默认为 http://localhost:9000 }) session_id = auth_result["session_id"] # 使用 session_id 调用其他工具或资源 projects = client.call_tool("list_projects", {"session_id": session_id}) print(projects) # ... 其他操作 ... # 登出 client.call_tool("logout", {"session_id": session_id}) -
资源和工具调用:
- 资源 (Resources):目前仓库中未明确定义 Resource,但根据 MCP 定义,可以理解为通过工具获取的 Taiga 项目数据,例如项目列表、用户故事列表等。
- 工具 (Tools):通过 'client.call_tool()' 方法调用,例如 'login', 'list_projects', 'create_user_story' 等。工具列表及其参数和描述请参考 'src/server.py' 文件。
示例 (获取项目列表):
projects = client.call_tool("list_projects", {"session_id": session_id}) print(projects)示例 (创建用户故事):
new_story = client.call_tool("create_user_story", { "session_id": session_id, "project_id": 123, # 替换为您的项目 ID "subject": "My New User Story", "description": "This is a test user story created via MCP." }) print(new_story) -
会话管理:
- 使用 'session_status' 工具检查会话状态。
- 使用 'logout' 工具登出并终止会话。
请参考仓库 README 和 'src/server.py' 中的工具定义,了解更多功能和使用细节。
信息
分类
开发者工具