Jira结构MCP服务器
A. 模型上下文协议(MCP) 用于使用Tempo Structure插件管理Jira中分层文件夹结构的服务器。使用Claude和其他人工智能助手通过自然语言创建文件夹、组织问题并构建复杂的层次结构。
🚀 快速开始
先决条件
- 安装了Tempo Structure插件的Jira数据中心
- 具有适当权限的Jira个人访问令牌
配置
将服务器添加到您的Claude Desktop配置中:
{
"mcpServers": {
"jira-structure": {
"command": "npx",
"args": ["mcp-jira-structure@latest"],
"type": "stdio",
"env": {
"JIRA_URL": "https://jira.example.com",
"JIRA_PERSONAL_TOKEN": "your_personal_access_token"
}
}
}
}✨ 特性
- 📁 文件夹管理 -创建虚拟文件夹以按层次组织问题
- 🔍 发现工具 -列表结构、浏览层次结构、搜索项目
- ✏️ 组织 -移动项目、从结构中删除、重命名文件夹
- 🔗 问题整合 -将现有的Jira问题添加到结构中
- 🔄 版本控制 -具有重试逻辑的自动冲突解决
- 🎯 类型安全 -具有全面类型的完全TypeScript支持
- 🛡️ 错误处理 -通过用户友好的消息进行强大的错误处理
🛠️ 可用工具
服务器提供 11个MCP工具 对于结构操作:
发现工具(3)
structure_list-列出所有可进入的结构structure_get_hierarchy-获取具有完整详细信息的层次树structure_find_item-按名称和上下文搜索项目
创作工具(2)
structure_create_folder-创建虚拟文件夹structure_add_issue-将现有的Jira问题添加到结构中
组织工具(2)
structure_move_item-在层次结构中重新定位项目structure_delete_item-从结构中删除项目
高级工具(2)
structure_get_item_details-查询详细项目信息structure_rename_item-重命名文件夹或更新属性
💡 查询示例
- *“列出我的所有结构”*
- *“显示结构1的层次结构”*
- *在“项目”文件夹下创建一个名为“Sprint 42”的文件夹*
- *“查找结构1中名为“后端”的所有项目”*
- *“在后端文件夹下添加问题PROJ-12345”*
- *“移动服务下的API文件夹”*
- *“将文件夹重命名为'Q4 Projects'”*
📋 常见工作流
推荐使用模式
典型的工作流程遵循以下步骤:
- 获取结构列表 -使用
structure_list查看所有可用结构 - 选择一个结构 -选择要使用的结构ID
- 在结构内搜索 -使用
structure_find_item具有特定结构ID
工作流程示例:
1. "List all structures" → Returns available structures
2. "I want to work with Project Delivery (structure ID 1)"
3. "Find 'Backend Projects' in structure 1" → Returns rowId
4. "Create a folder under that rowId"向结构添加问题
1. Create issue with Jira MCP: "Create epic for Responsive Design"
2. Find context: "Find the Mobile Development folder"
3. Add to structure: "Add issue under that folder"🏗️ 发展
来源
# Clone and setup
git clone https://github.com/evrimalacan/mcp-jira-structure.git
cd mcp-jira-structure
npm install
# Build
npm run build
# Development mode
npm run dev
# Run tests
npm test # Unit tests
npm test -- --coverage # With coverage report项目结构
src/
├── index.ts # MCP server setup
├── config.ts # Environment configuration
├── structureClient.ts # Jira Structure API client
├── types.ts # TypeScript type definitions
├── utils/
│ ├── formulaParser.ts # Parse Structure formulas into trees
│ └── versionManager.ts # Handle version conflicts
└── tools/
├── discovery.ts # Discovery tools (list, hierarchy, find)
├── creation.ts # Creation tools (folder, issue)
├── organization.ts # Organization tools (move, delete)
└── advanced.ts # Advanced tools (details, rename)🐛 故障排除
常见问题
“身份验证失败”
- 验证您的Jira个人令牌是否正确
- 确保令牌具有Structure插件权限
“权限被拒绝”
- 检查您的用户是否可以访问该结构
- 验证修改操作的写入权限
“版本冲突”
- 内置自动重试功能(3次尝试)
- 如果持续下去,结构可能会受到严重质疑
“找不到父文件夹”
- 验证underRowId是否存在
- 使用structure_find_item查找正确的父项
📚 文档
🔑 关键概念
行地址
- 项目在结构中位置的唯一标识符
- 与Jira问题ID不同
- 如果多次添加,同一问题可能有多个行ID
文件夹
- 虚拟组织容器
- 不是真正的Jira问题
- 可以包含文件夹和问题
版本控制
- 结构使用乐观锁定
- 每次修改都需要当前版本
- 冲突时自动重试(内置)
🤝 贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 为您的更改添加测试
- 确保构建通过(
npm run build) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🌟 支持
- 🐛 错误报告:
- 💡 功能请求:
- 📖 文档:参见 温度_结构_API.md
______________________________________________________________________
为Tempo Structure插件构建 | 由MCP供电
