使用说明
Jira MCP服务器
一个模型上下文协议(MCP)服务器,提供与Jira的全面集成,使AI助手能够与Jira项目、问题、用户和工作流进行交互。
特性
- 问题管理:创建、更新、搜索和转换问题
- 项目运营:管理项目、组件和版本
- 用户和组管理:处理用户、组和权限
- 评论和附件:添加评论和管理附件
- 工作流操作:通过工作流程获得转换并解决问题
- 高级搜索:强大的JQL(Jira查询语言)支持
- 灵活的API:支持复杂的字段结构和自定义字段
- 服务台支持:Jira服务台的增强功能
依赖项
系统要求
- python: ≥ 3.12
- Jira实例:云、服务器或数据中心
Python依赖关系
jira≥3.8.0-官方Jira Python库mcp[cli]≥1.12.1-模型上下文协议框架python-dotenv≥1.0.0-从.env文件加载环境变量
安装
1.克隆存储库
git clone <repository-url>
cd jira-mcp-server
2.安装依赖项
使用紫外线(推荐):
uv install
使用pip:
pip install -r requirements.txt
3.环境配置
服务器支持从以下位置加载配置 .env 文件方便。创建一个 .env 在项目根目录中创建文件或直接设置环境变量:
选项1:使用.env文件(推荐)
创建一个 .env 项目根目录中的文件:
# Required Configuration
JIRA_HOST=https://your-domain.atlassian.net
JIRA_EMAIL=your-email@company.com
JIRA_TOKEN=your-api-token
# Optional Configuration
JIRA_CONTEXT=additional-context
选项2:环境变量
# Required Configuration
export JIRA_HOST="https://your-domain.atlassian.net" # For Jira Cloud
export JIRA_EMAIL="your-email@company.com" # Your Jira email
export JIRA_TOKEN="your-api-token" # Jira API token
# Optional Configuration
export JIRA_CONTEXT="additional-context" # Optional context
备注:The
.env服务器启动时,文件会自动加载。环境变量优先于.env文件值。
获取Jira API代币
对于Jira Cloud:
- 首选 Atlassian帐户设置
- 点击“创建API令牌”
- 给它一个标签并复制令牌
- 使用您的电子邮件和令牌进行身份验证
对于Jira服务器/数据中心:
- 使用您的用户名和密码,或
- 在Jira配置文件中生成个人访问令牌
用法
与Claude Desktop集成
将以下配置添加到您的Claude Desktop配置文件中:
配置文件的位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
配置:
{
"mcpServers": {
"jira": {
"command": "uv",
"args": [
"run"
"--project",
"/path/to/jira-mcp-server",
"mcp",
"run",
"main.py"
],
"env": {
"JIRA_HOST": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@company.com",
"JIRA_TOKEN": "your-api-token"
}
}
}
}
重新启动克劳德桌面
添加配置后,重新启动Claude Desktop以加载MCP服务器。
可用工具
该服务器提供38多种工具,按类别组织:
核心业务
search_issues-使用JQL查询进行搜索get_issue-获取详细的问题信息create_issue-通过灵活的现场支持解决问题update_issue-更新所有问题字段transition_issue-通过工作流程解决问题
项目管理
get_projects-列出所有可访问的项目get_project-获取具体项目详细信息create_project-创建新项目get_project_components-列出项目组件get_project_versions-列出项目版本
用户和组管理
get_user-获取用户信息search_users-搜索用户get_groups-列出组create_group-创建新组add_user_to_group-管理组成员资格
评论与协作
add_comment-添加带有可见性控制的注释get_issue_comments-获取所有问题评论add_attachment-上传文件附件get_watchers-获取问题观察者add_watcher-添加问题观察者
高级功能
create_issue_link-将问题联系在一起add_worklog-记录工作时间get_fields-发现可用字段get_issue_types-获取可用的问题类型- 还有更多。..
例子
在史诗中创造一个问题
# Use the create_issue tool with:
{
"project": {"key": "PROJ"},
"summary": "Story in Epic",
"description": "Story description",
"issuetype": {"name": "Story"},
"parent": {"key": "EPIC-123"}
}
搜索问题
# JQL Examples:
"project = PROJ AND status = Open"
"assignee = currentUser() AND created >= -7d"
"project = PROJ AND issuetype = Bug AND priority = High"
"parent = EPIC-123"
高级问题更新
# Use update_issue with:
{
"assignee": {"name": "john.doe"},
"priority": {"name": "High"},
"components": [{"name": "Frontend"}],
"customfield_10000": "Epic Name",
"labels": ["urgent", "bug"]
}
安全说明
⚠️ 重要:永远不要将Jira凭据提交给版本控制!
- 对所有敏感配置使用环境变量
- 从配置文件中删除所有硬编码凭据
- 考虑在生产部署中使用机密管理
- 定期轮换API代币
故障排除
常见问题
-
身份验证错误
- 验证您的API令牌是否正确且未过期
- 检查您的电子邮件是否与Jira帐户匹配
- 确保Jira主机URL正确
-
权限错误
- 验证您的帐户在Jira中是否具有必要的权限
- 检查创建/编辑问题的项目级权限
- 确保您有权访问指定的项目
-
连接问题
- 验证与Jira实例的网络连接
- 检查您的组织是否使用VPN或防火墙限制
- 使用curl或浏览器手动测试连接
调试模式
设置详细日志记录的环境变量:
export MCP_LOG_LEVEL=debug
贡献
我们欢迎捐款!请随时提交问题、功能请求或拉取请求。
开发设置
- 分叉存储库
- 创建要素分支
- 安装开发依赖项
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
致谢
特别感谢:
- Anthropic 用于模型上下文协议框架
- 亚托西亚 用于Jira REST API和Python库
- Python Jira库贡献者 对于优秀的
jira包裹 - MCP社区 获取反馈和功能建议
- 开源贡献者 谁帮助改进这个项目
支持
对于问题和疑问:
- 在此存储库中创建问题
- 检查 Jira Python库文档
- 审查 MCP文件
- 咨询 Jira REST API文档
👨💻 代码背后
这个项目源于一个真正的企业痛点:人工智能助手无法在公司防火墙后访问Jira。有时,最好的解决方案是那些简单易行的。
更多实用技术项目: @it_jacger
捐赠:
以太坊(主网):0x765885e6Cb9e40E1504F80272A7b5B60ffF7b92d 美元兑日元(SOL):1美元兑1美元兑8美元兑8欧元兑5美元兑6美元兑6欧元兑6美元
由以下材料制成❤️ 面向人工智能和DevOps社区