通过自然语言与 Jira 交互,获取项目信息并修改项目。结合您创建的包含项目信息的自定义 README 文件,与 Claude Desktop 一起使用,以便您可以委托项目管理任务(例如,给定您的团队成员及其专长列表,将任何新问题分配给最相关的人员)。
使用 Model Context Protocol 构建。
该服务器支持以下功能:
所需的环境变量:
JIRA_HOST
:您的 Jira 实例主机名JIRA_EMAIL
:您的 Jira 账户电子邮件JIRA_API_TOKEN
:来自 https://id.atlassian.com/manage-profile/security/api-tokens 的 API 令牌// 通过电子邮件获取用户的账户 ID
{
email: "user@example.com";
}

// 列出所有可用的问题类型
// 返回:id、name、description、subtask status
// 不需要参数

// 列出所有可用的问题链接类型
// 返回:id、name、inward/outward descriptions
// 不需要参数

// 获取项目中的所有问题
{
projectKey: "PROJECT"
}
// 使用 JQL 过滤获取问题
{
projectKey: "PROJECT",
jql: "status = 'In Progress' AND assignee = currentUser()"
}
// 获取分配给用户的问题
{
projectKey: "PROJECT",
jql: "assignee = 'user@example.com' ORDER BY created DESC"
}

// 创建标准问题
{
projectKey: "PROJECT",
summary: "问题标题",
issueType: "Task", // 或 "Story"、"Bug" 等
description: "详细描述",
assignee: "accountId", // 来自 get_user 工具
labels: ["frontend", "urgent"],
components: ["ui", "api"],
priority: "High"
}
// 创建子任务
{
parent: "PROJECT-123",
projectKey: "PROJECT",
summary: "子任务标题",
issueType: "Subtask",
description: "子任务详情",
assignee: "accountId"
}

// 更新问题字段
{
issueKey: "PROJECT-123",
summary: "更新后的标题",
description: "新描述",
assignee: "accountId",
status: "In Progress",
priority: "High"
}

// 创建问题链接
{
linkType: "Blocks", // 来自 list_link_types
inwardIssueKey: "PROJECT-124", // 被阻塞的问题
outwardIssueKey: "PROJECT-123" // 阻塞的问题
}

// 删除单个问题
{
issueKey: "PROJECT-123"
}
// 删除带有子任务的问题
{
issueKey: "PROJECT-123",
deleteSubtasks: true
}
// 删除多个问题
{
issueKeys: ["PROJECT-123", "PROJECT-124"]
}

描述字段支持 Markdown 样式的格式化:
示例:
任务概述: 此任务涉及实现新功能: - 功能 A 的实现 - 功能 B 的测试 步骤: 1. 设计组件 2. 实现逻辑 3. 添加测试 验收标准: - 所有测试通过 - 文档更新
服务器为以下情况提供详细的错误消息:
克隆仓库:
git clone https://github.com/George5562/Jira-MCP-Server.git
cd Jira-MCP-Server

安装依赖项:
npm install
配置环境变量:
在根目录中创建一个 .env
文件:
JIRA_HOST=your-instance.atlassian.net JIRA_EMAIL=your-email@example.com JIRA_API_TOKEN=your-api-token
构建项目:
npm run build
启动服务器:
npm start
要将此 MCP 服务器与 Claude Desktop 一起使用:
找到您的 Claude Desktop 配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
将 Jira MCP 服务器添加到您的配置中:
{
"mcpServers": {
"jira-server": {
"name": "jira-server",
"command": "/path/to/node",
"args": ["/path/to/jira-server/build/index.js"],
"cwd": "/path/to/jira-server",
"env": {
"JIRA_HOST": "your-jira-instance.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}

将 /path/to/jira-server
替换为您克隆的仓库的绝对路径。
将 /path/to/node
替换为您的 Node.js 可执行文件的绝对路径(通常可以通过在终端中运行 which node
或 where node
找到)。
建议使用 Node.js 可执行文件的直接路径和构建的 JavaScript 文件(运行 npm run build
后的 build/index.js
)以确保可靠性。
重启 Claude Desktop 以应用更改。
要将此 Jira MCP 服务器与 Cursor 一起使用:
确保服务器已构建: 在 Jira-MCP-Server
目录中运行 npm run build
以创建必要的 build/index.js
文件。
找到或创建 Cursor 的 MCP 配置文件:
.cursor/mcp.json
。~/.cursor/mcp.json
。将 Jira MCP 服务器配置添加到 mcp.json
:
{
"mcpServers": {
"jira-mcp-server": {
"command": "node", // 或提供您的 Node.js 可执行文件的绝对路径
"args": [
"/path/to/your/Jira-MCP-Server/build/index.js" // Jira-MCP-Server 构建的 index.js 的绝对路径
],
"cwd": "/path/to/your/Jira-MCP-Server", // Jira-MCP-Server 目录的绝对路径
"env": {
"JIRA_HOST": "your-jira-instance.atlassian.net",
"JIRA_EMAIL": "your-email@example.com", // 您的 Jira 电子邮件
"JIRA_API_TOKEN": "your-api-token" // 您的 Jira API 令牌
}
}
// 您可以在此处添加其他 MCP 服务器配置
}
}

/path/to/your/Jira-MCP-Server
替换为您克隆的 Jira-MCP-Server
仓库的正确绝对路径。node
不在您的系统 PATH 中,或者您更喜欢使用绝对路径,请将 "node"
替换为您的 Node.js 可执行文件的完整路径(例如,/usr/local/bin/node
或 C:\Program Files\nodejs\node.exe
)。env
部分正确填写您的 Jira 实例详细信息和 API 令牌。重启 Cursor 以应用更改。
为了更顺畅地与 Jira 交互,您可以在 Cursor 的规则中定义您的默认 Jira 项目和用户标识符。这有助于 Cursor 的 AI 在不需要您在每个提示中指定上下文的情况下理解您的上下文。
创建或编辑您的 Cursor 规则文件(例如,在您的项目 .cursor/rules.json
或全局 ~/.cursor/rules.json
中(规则文件和方法可能因版本而异,请检查 Cursor 文档中的“Rules”或“Context Management”))。添加如下条目:
作为 AI 助手,当我被问及 Jira 任务时: - 假设主要 Jira 项目键是 'YOUR_PROJECT_KEY_HERE'。 - 假设 '我的分配任务' 或分配给 '我' 的任务指的是 Jira 用户,其电子邮件为 'your_jira_email@example.com'(或您的 Jira 账户 ID)。 然后,您可以在 JQL 查询中使用这些信息,例如:project = YOUR_PROJECT_KEY_HERE AND assignee = 'your_jira_email@example.com'。
将 YOUR_PROJECT_KEY_HERE
和 your_jira_email@example.com
替换为您的实际详细信息。
配置完成后(特别是使用 Cursor 规则设置上下文后),您可以询问 Cursor:
"使用 Jira MCP,列出我的分配任务。然后,基于这些任务,制定一个实施计划和工作时间表。"
如果您尚未设置规则,或需要指定不同的项目或用户,则需要更明确地说明:
"使用 Jira MCP,列出分配给 'user@example.com' 的 'PROJECT_KEY' 项目中的任务。然后,基于这些任务,制定一个实施计划和工作时间表。"
Cursor 的 AI 将使用 Jira MCP 服务器获取任务,然后继续进行计划和时间表请求。
要通过 Smithery 自动为 Claude Desktop 安装 Jira MCP 服务器:
npx -y @smithery/cli install @George5562/Jira-MCP-Server --client claude
克隆仓库:
git clone https://github.com/George5562/Jira-MCP-Server.git
cd Jira-MCP-Server

安装依赖项:
npm install
配置环境变量:
在根目录中创建一个 .env
文件:
JIRA_HOST=your-instance.atlassian.net JIRA_EMAIL=your-email@example.com JIRA_API_TOKEN=your-api-token
构建项目:
npm run build
启动服务器:
npm start