这是一个用于与 Taiga 平台集成的 MCP 代理服务器,支持通过 MCP 协议进行交互操作,能帮助用户更便捷地管理 Taiga 项目。
Taiga MCP 代理服务器是一个强大的工具,用于与 Taiga 平台集成,并通过 MCP 协议进行交互操作。以下是使用该代理服务器的基本步骤:
使用以下命令快速安装项目:
pip install taiga-mcp-proxy
git clone https://github.com/yourusername/pyTaigaMCP.git
cd pyTaigaMCP
./install.sh
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
答:调用 session_status 工具可以检查会话状态,若已过期则重新登录。
答:该项目提供 RESTful API 和 MCP 协议支持,可方便地与现有系统集成。
本项目遵循 MIT 许可证,详见 LICENSE 文件。