内容
# Jira MCP Server
一个用于与Jira API交互的模型上下文协议(Model Context Protocol,MCP)服务器。提供管理问题、项目和工作流的工具。
## 特性
- 创建、更新和删除Jira问题
- 使用JQL过滤列出问题
- 管理问题链接和关系
- 获取项目元数据(字段、问题类型等)
- 用户账户查找
## 安装
1. 克隆此仓库
2. 安装依赖:
```bash
npm install
```
3. 创建一个包含您Jira凭据的`.env`文件:
```env
# 您的Jira实例URL(例如:https://company.atlassian.net)
JIRA_HOST=your-instance.atlassian.net
# 您的Jira账户邮箱
JIRA_EMAIL=your-email@example.com
# 从Atlassian账户设置中生成的个人访问令牌
JIRA_API_TOKEN=your-api-token
```
## 配置
### 对于Cursor
在`~/.cursor/mcp.json`中添加到Cursor MCP设置:
```json
{
"mcpServers": {
"jira-mcp": {
"type": "command",
"autoApprove": ["get_issues", "get_assigned_issues", "create_issue"],
"disabled": false,
"timeout": 180,
"command": "node",
"args": ["/Path/To/jira-mcp/build/index.js"],
"env": {
"JIRA_HOST": "您的Jira主机",
"JIRA_API_TOKEN": "Jira个人访问令牌",
"JIRA_EMAIL": "您的Jira邮箱",
"NODE_ENV": "production"
},
"transportType": "stdio",
"models": ["*"]
}
}
}
```
有关生成API令牌的更多信息,请阅读Jira中的PAT文档。
## 可用工具
### delete_issue
通过问题键删除Jira问题或子任务。
**参数:**
- `issueKey` (string):要删除的问题的键(例如,“PROJ-123”)
### get_issues
获取项目或快速视图的所有问题和子任务。
**参数:**
- `projectKey` (string):项目键(例如,“PROJ”)
- 或者 `rapidView` (number|string):快速视图ID
- `jql` (string, optional):用于过滤问题的JQL查询
### get_assigned_issues
获取分配给用户的问题,并可以按分配状态进行过滤。
**参数:**
- `accountId` (string):用户的账户ID。使用`get_user`查找此信息。
- `status` (string, optional):按分配状态过滤:“current”(默认)、“past”或“all”。
- `additionalJql` (string, optional):可选的JQL以进一步过滤问题(例如,`project = "PROJ" AND updated > -1d`)。
### update_issue
更新现有Jira问题的字段。
**参数:**
- `issueKey` (string):要更新的问题的键
- `summary` (string, optional):新摘要/标题
- `description` (string, optional):新描述
- `assignee` (string, optional):新分配人的账户ID
- `status` (string, optional):新状态名称
- `priority` (string, optional):新优先级名称
### create_issue
创建一个新的Jira问题。
**参数:**
- `projectKey` (string):项目键
- `summary` (string):问题摘要/标题
- `issueType` (string):问题类型名称
- `description` (string, optional):详细描述
- `assignee` (string, optional):分配人的账户ID
- `labels` (array, optional):标签数组
- `components` (array, optional):组件名称数组
- `priority` (string, optional):优先级名称
### create_issue_link
在两个Jira问题之间创建关系。
**参数:**
- `inwardIssueKey` (string):内向问题的键
- `outwardIssueKey` (string):外向问题的键
- `linkType` (string):链接类型名称
## 开发
构建项目:
```bash
npm run build
```
运行测试:
```bash
npm test
```
启动服务器:
```bash
npm start
```
使用MCP Inspector测试服务器:
```bash
npm run inspector
```
## 技术细节
- 使用Model Context Protocol SDK版本1.18.0
- 与Cursor和其他支持MCP的AI助手兼容
- 使用TypeScript和Node.js构建