Pytaiga Mcp

Pytaiga Mcp

🚀 Taiga MCP 代理服务器

这是一个用于与 Taiga 平台集成的 MCP 代理服务器,支持通过 MCP 协议进行交互操作,能帮助用户更便捷地管理 Taiga 项目。

🚀 快速开始

Taiga MCP 代理服务器是一个强大的工具,用于与 Taiga 平台集成,并通过 MCP 协议进行交互操作。以下是使用该代理服务器的基本步骤:

  1. 完成安装(安装方式见下方“📦 安装指南”)。
  2. 初始化 MCP 客户端并进行认证与会话管理(使用方法见下方“💻 使用示例”)。

✨ 主要特性

  • MCP 兼容性:完全遵循 MCP 协议规范,确保与支持 MCP 协议的系统无缝对接。
  • 认证授权:支持用户身份验证和权限管理,保障系统数据安全。
  • 项目管理:实现对 Taiga 项目的 CRUD 操作,方便项目的创建、读取、更新和删除。
  • 任务跟踪:支持史诗(Epic)、用户故事(User Story)等任务的创建和追踪,有效管理项目进度。
  • 性能优化:包含连接池、限流和重试机制,提升系统的稳定性和性能。

📦 安装指南

快速安装

使用以下命令快速安装项目:

pip install taiga-mcp-proxy

从源码安装

  1. 克隆仓库:
git clone https://github.com/yourusername/pyTaigaMCP.git
cd pyTaigaMCP
  1. 安装依赖:
./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 协议支持,可方便地与现有系统集成。

贡献指南

  1. Fork 项目仓库。
  2. 创建功能分支。
  3. 提交代码并创建 Pull Request。

📄 许可证

本项目遵循 MIT 许可证,详见 LICENSE 文件。

  • 0 关注
  • 0 收藏,34 浏览
  • system 提出于 2025-10-07 10:03

相似服务问题

相关AI产品