article
README
🚀 Taiga MCP 代理服务器
这是一个用于与 Taiga 平台集成的 MCP 代理服务器,支持通过 MCP 协议进行交互操作,能帮助用户更便捷地管理 Taiga 项目。
🚀 快速开始
Taiga MCP 代理服务器是一个强大的工具,用于与 Taiga 平台集成,并通过 MCP 协议进行交互操作。以下是使用该代理服务器的基本步骤:
- 完成安装(安装方式见下方“📦 安装指南”)。
- 初始化 MCP 客户端并进行认证与会话管理(使用方法见下方“💻 使用示例”)。
✨ 主要特性
- MCP 兼容性:完全遵循 MCP 协议规范,确保与支持 MCP 协议的系统无缝对接。
- 认证授权:支持用户身份验证和权限管理,保障系统数据安全。
- 项目管理:实现对 Taiga 项目的 CRUD 操作,方便项目的创建、读取、更新和删除。
- 任务跟踪:支持史诗(Epic)、用户故事(User Story)等任务的创建和追踪,有效管理项目进度。
- 性能优化:包含连接池、限流和重试机制,提升系统的稳定性和性能。
📦 安装指南
快速安装
使用以下命令快速安装项目:
pip install taiga-mcp-proxy
从源码安装
- 克隆仓库:
git clone https://github.com/yourusername/pyTaigaMCP.git
cd pyTaigaMCP
- 安装依赖:
./install.sh
💻 使用示例
基础用法
初始化 MCP 客户端
from mcp.client import Client
client = Client()
认证与会话管理
# 用户认证
auth_result = client.call_tool("login", {
"username": "admin",
"password": "password123"
})
session_id = auth_result["session_id"]
# 项目创建
project = client.call_tool("create_project", {
"session_id": session_id,
"name": "My Project",
"description": "A new Taiga project"
})
# 创建史诗(Epic)
epic = client.call_tool("create_epic", {
"session_id": session_id,
"project_id": project_id,
"subject": "New Feature",
"description": "Implement new user feature"
})
# 创建用户故事(User Story)
story = client.call_tool("create_user_story", {
"session_id": session_id,
"project_id": project_id,
"subject": "Login Functionality",
"description": "Add user login functionality",
"epic_id": epic_id
})
# 会话状态查询
status = client.call_tool("session_status", {"session_id": session_id})
# 用户注销
client.call_tool("logout", {"session_id": session_id})
高级用法
示例:创建项目并添加任务
# 初始化客户端
client = Client()
# 用户登录
auth_result = client.call_tool("login", {
"username": "admin",
"password": "secret"
})
session_id = auth_result["session_id"]
# 创建项目
project = client.call_tool("create_project", {
"session_id": session_id,
"name": "New Project",
"description": "A new Taiga project"
})
# 创建史诗(Epic)
epic = client.call_tool("create_epic", {
"session_id": session_id,
"project_id": project.id,
"subject": "New Feature",
"description": "Implement new user feature"
})
# 创建用户故事(User Story)
story = client.call_tool("create_user_story", {
"session_id": session_id,
"project_id": project.id,
"subject": "Login Functionality",
"description": "Add user login functionality",
"epic_id": epic.id
})
📚 详细文档
项目结构
pyTaigaMCP/
├── src/
│ ├── server.py # MCP 服务器实现,包含工具方法
│ ├── taiga_client.py # Taiga API 客户端,提供 CRUD 操作
│ ├── tools.py # MCP 工具定义
│ └── config.py # 配置设置,使用 Pydantic 管理
├── tests/
│ ├── conftest.py # 共享 pytest 固定件
│ ├── unit/ # 单元测试
│ └── integration/ # 集成测试
├── pyproject.toml # 项目配置和依赖项管理
├── install.sh # 安装脚本
├── run.sh # 服务器执行脚本
└── README.md # 项目文档
测试
运行测试使用 pytest:
# 运行所有测试
pytest
# 运行单元测试
cd tests && pytest unit/
# 执行测试覆盖率检查
coverage run -m pytest && coverage report
错误处理
常见错误
- 认证失败:
Error: Authentication failed, invalid credentials
- 权限不足:
Error: Permission denied, insufficient privileges
- 项目不存在:
Error: Project not found with given ID
FAQ
问题:如何处理会话超时?
答:调用 session_status 工具可以检查会话状态,若已过期则重新登录。
问题:能否集成到现有系统中?
答:该项目提供 RESTful API 和 MCP 协议支持,可方便地与现有系统集成。
贡献指南
- Fork 项目仓库。
- 创建功能分支。
- 提交代码并创建 Pull Request。
📄 许可证
本项目遵循 MIT 许可证,详见 LICENSE 文件。
Scan to join WeChat group