返回 MCP 目录
public公开dns本地运行

pytaiga-mcp

Taiga MCP Bridge是一个连接Taiga项目管理平台与模型上下文协议(MCP)的集成层,使AI工具能够无缝管理Taiga项目资源。

article

README

🚀 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 文件。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端