一个容器化的Python MCP服务器,用于Cursor访问Jira。
[!IMPORTANT] 该项目是实验性的,并最初作为学习练习创建。 请注意,还有更多功能强大且成熟的Jira MCP解决方案可用, 如sooperset/mcp-atlassian, 以及Atlassian自己的MCP Server。
另见redhat-ai-tools/jira-mcp-snowflake,它提供了另一种访问Red Hat Jira数据的方法。
准备Jira令牌
.env文件配置Cursor
mcpServers键下插入jiraMcp对象)。"/path/to/your/dotenv/file.env"指向步骤1中的文件。{
"mcpServers": {
"jiraMcp": {
"command": "podman",
"args": [
"run",
"-i",
"--rm",
"--env-file",
"/path/to/your/dotenv/file.env",
"quay.io/sbaird/jira-mcp:latest"
],
"description": "一个容器化的MCP服务器,用于查询Jira问题"
}
}
}
前提条件
sudo dnf install podman(Fedora/RHEL)或brew install podman(macOS)安装sudo dnf install yq(Fedora/RHEL)或brew install yq(macOS)安装获取代码
git clone git@github.com:redhat-ai-tools/jira-mcp.git
cd jira-mcp
~/.rh-jira-mcp.env文件。make setup
准备Jira令牌
.rh-jira-mcp.env文件并粘贴令牌决定是否启用写操作
启用你的MCP服务器对Jira进行编辑可能非常有用,但如果使用不当也可能导致很多问题。
默认情况下,服务器禁用了写操作。
如果你想启用它,请编辑家目录下的.rh-jira-mcp.env文件,设置JIRA_ENABLE_WRITE=true。
确认其正常工作,运行Cursor,前往设置并点击“工具与集成”。在MCP工具下你应该能看到“jiraMcp”,如果JIRA_ENABLE_WRITE=false(默认值),则有20个工具启用;如果JIRA_ENABLE_WRITE=true,则有30个工具启用。
如果你希望使用此MCP服务器与通过HTTP通信的应用程序一起使用,则需要使用基于HTTP的传输机制运行服务器。 这是一个使用Streamable HTTP的示例,这是目前推荐的基于http的传输机制:
export $(grep -v '^#' ~/.rh-jira-mcp.env | xargs) && python server.py --transport http --port 3075
这是一个使用SSE的示例,这是一种已弃用的基于http的传输机制(例如,因为你有一个依赖于SSE的老版本MCP客户端应用程序):
export $(grep -v '^#' ~/.rh-jira-mcp.env | xargs) && python server.py --transport sse --port 3075
此MCP服务器提供以下工具:
get_jira - 根据键获取特定Jira问题的详细信息。search_issues - 使用JQL搜索问题create_issue - 创建新的Jira问题,包括总结、描述、类型、优先级和分配人update_issue - 更新现有问题的总结、描述、优先级或分配人delete_issue - 删除Jira问题(谨慎使用)get_issue_comments - 获取Jira问题的所有评论add_comment - 向Jira问题添加评论delete_comment - 从Jira问题删除评论assign_issue - 将Jira问题分配给用户unassign_issue - 取消分配Jira问题transition_issue - 将Jira问题过渡到新状态(如“进行中”,“完成”)get_issue_transitions - 获取Jira问题的可用转换add_issue_labels - 向Jira问题添加标签remove_issue_labels - 从Jira问题移除标签list_projects - 列出所有项目get_project - 根据键获取项目详细信息get_project_components - 获取项目的组件get_project_versions - 获取项目的版本get_project_roles - 获取项目的角色get_project_permission_scheme - 获取项目的权限方案get_project_issue_types - 获取项目的问题类型list_boards - 列出所有看板list_sprints - 列出看板的冲刺get_sprint - 根据ID获取冲刺详细信息get_sprints_by_name - 根据名称获取看板的冲刺,可选地根据状态过滤search_users - 根据查询搜索用户get_user - 根据账户ID获取用户详细信息get_current_user - 获取当前用户信息get_assignable_users_for_project - 获取项目可分配用户get_assignable_users_for_issue - 获取问题可分配用户make build - 构建镜像make run - 运行容器make clean - 清理构建的镜像make cursor-config - 修改~/.cursor/mcp.json以安装此MCP服务器make setup - 构建镜像,配置Cursor,并创建~/.rh-jira-mcp.env(如果不存在)make run可以正常工作podman images jira-mcp验证镜像是否成功构建mcp.json文件中jiraMcp的args部分,包含到.rh-jira-mcp.env文件的完整路径。"~/.rh-jira-mcp.env", 更改为 "/Users/your_username/.rh-jira-mcp.env",本项目采用MIT许可证。详情参见LICENSE文件。