使用说明
Jira MCP服务器
用于创建Jira问题的模型上下文协议(MCP)服务器。此服务器实现了MCP协议,可以与MCP兼容的客户端(如Postman MCP客户端)一起使用,也可以作为ChatGPT的自定义GPT操作进行集成。
概述
这是一个两用服务器,提供:
- MCP协议端点 (
/mcp)-对于使用模型上下文协议的MCP兼容客户端 - REST API端点 (
/api/create-issue)-对于自定义GPT操作和其他REST API客户端
这两个端点都会产生Jira问题,但使用不同的协议。MCP端点使用JSON-RPC格式,而REST端点使用标准HTTP/JSON。
先决条件
- Node.js(v16或更高版本)
- npm或纱线
- 具有API访问权限的Jira帐户
- Postman(或任何HTTP客户端)用于测试
安装
- 克隆存储库:
git clone https://github.com/coollikeabreeze/jira-mcp-server.git
cd jira-mcp-server
- 安装依赖项:
npm install
配置
环境变量
创建一个 .env 根目录中的文件,包含以下变量:
# YOUR JIRA ACCOUNT & TOKEN INFORMATION
JIRA_BASE_URL=https://your-domain.atlassian.net
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-api-token
JIRA_PROJECT_KEY=YOUR_PROJECT_KEY
PORT=3000
获取Jira API代币:
- 首选 Atlassian帐户设置
- 点击“创建API令牌”
- 复制令牌并将其添加到您的
.env文件
SSL证书
服务器使用HTTPS和自签名证书。使用以下方法生成它们:
openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.cert -days 365 -nodes -subj "/C=US/ST=State/L=City/O=Organization/CN=localhost"
这将创建:
server.key-私钥(已在.gitignore)server.cert-证书文件(已在.gitignore)
运行服务器
启动开发服务器:
npm run dev
服务器将于启动 https://localhost:3000/mcp (或您配置的端口)。
用法
作为MCP服务器
主要用例是作为MCP服务器。使用任何兼容MCP的客户端进行连接:
使用Postman MCP客户端进行测试
Postman通过MCP客户端内置了对MCP服务器的支持。以下是如何连接:
-
打开邮差MCP客户端:
- 在Postman中,导航到MCP客户端部分
- 点击“添加服务器”或“连接到服务器”
-
配置HTTPS连接:
- 选择 超文本传输安全协议 作为连接类型
- 服务器URL:
https://localhost:3000/mcp - 端口:
3000(或您配置的端口) - 重要:由于我们使用自签名证书,您可能需要:
- 接受证书警告,或
- 转到邮递员设置→ 常规并暂时禁用“SSL证书验证”
-
连接到服务器:
- 点击“连接”以建立连接
- 邮递员将自动从MCP服务器中发现可用工具
使用create_jira_issue工具
连接后,您可以使用 create_jira_issue 工具:
所需参数:
summary(string)-问题摘要/标题description(字符串或ADF JSON对象)-问题描述。接受:- 字符串:纯文本描述(将转换为ADF格式)
- ADF JSON对象:用于富文本的Atlassian文档格式(首选)。这是自定义GPT操作发送的格式,支持粗体、斜体、链接、列表和其他格式。
issuetype(string)-问题类型名称(例如,“任务”、“Bug”、“故事”)
可选参数:
parentKey(string)-子任务的父问题密钥labels(字符串数组)-应用于问题的标签
示例工具调用:
-
工具:
create_jira_issue -
参数(带字符串描述):
{ "summary": "Test Issue from Postman", "description": "This is a test issue created via the MCP server", "issuetype": "Task", "parentKey": "PROJ-123", "labels": ["test", "postman"] } -
参数(带有ADF JSON描述-由自定义GPT操作使用):
{ "summary": "Test Issue from GPT", "description": { "type": "doc", "version": 1, "content": [ { "type": "paragraph", "content": [ { "type": "text", "text": "This is a test issue with " }, { "type": "text", "text": "rich text formatting", "marks": [ { "type": "strong" } ] } ] } ] }, "issuetype": "Task", "labels": ["test", "gpt"] }
示例响应
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "Created Jira issue PROJ-456"
}
],
"meta": {
"issueKey": "PROJ-456",
"issueId": "12345",
"url": "https://your-domain.atlassian.net/rest/api/3/issue/12345"
}
}
}
错误处理
如果出现错误,您将收到如下响应:
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32603,
"message": "Internal error",
"data": "Jira error 400: ..."
}
}
故障排除
- SSL证书错误:
- 连接时接受证书警告,或
- 在邮递员设置中暂时禁用SSL验证→ 将军
- 连接被拒绝:
- 确保服务器正在运行(
npm run dev) - 验证服务器URL是否匹配:
https://localhost:3000/mcp - 检查端口是否与您的
PORT环境变量
- 确保服务器正在运行(
- MCP客户端连接问题:
- 确保您在Postman MCP客户端中使用HTTPS选项
- 验证服务器是否可以在配置的URL上访问
- Jira API错误:
- 在中检查您的API令牌和项目密钥是否正确
.env文件 - 验证您的Jira帐户是否有权在项目中创建问题
- 在中检查您的API令牌和项目密钥是否正确
- 缺少环境变量:
- 验证所有必需的变量是否已在您的
.env文件 - 更新后重新启动服务器
.env文件
- 验证所有必需的变量是否已在您的
要渲染的部署
此服务器可以部署到公共HTTPS终结点的Render。
先决条件
- 渲染帐户(可用免费层)
- 您的存储库已推送到GitHub(或连接到Render)
部署步骤
-
将存储库连接到渲染:
- 首选 渲染仪表板
- 点击“新建+”→ “Web服务”
- 连接您的GitHub存储库
- 选择
jira-mcp-server仓库
-
配置服务:
- 名字:
jira-mcp-server(或您喜欢的名字) - 环境:
Node - 生成命令:
npm install && npm run build - 启动命令:
npm start - 计划:免费(或选择付费计划)
- 名字:
-
设置环境变量: 在Render的仪表板中添加以下环境变量:
JIRA_BASE_URL-您的Jira实例URL(例如。,https://your-domain.atlassian.net)JIRA_EMAIL-您的Jira帐户电子邮件JIRA_API_TOKEN-您的Jira API代币JIRA_PROJECT_KEY-您的Jira项目密钥USE_HTTPS-设置为false(渲染处理HTTPS终止)NODE_ENV-设置为production
-
部署:
- 点击“创建Web服务”
- Render将自动构建和部署您的服务
- 您的服务将在
https://your-service-name.onrender.com/mcp
使用render.yaml(替代)
如果您更喜欢配置为代码,可以使用附带的 render.yaml 文件:
- 将代码推送到GitHub(确保
render.yaml包括在内) - 在渲染面板中,转到“新建+”→ “蓝图”
- 连接您的存储库
- 渲染将自动检测和使用
render.yaml - 设置环境变量(标记为
sync: false在YAML中)
部署后
部署后,您的MCP服务器将在以下位置可用:
- MCP端点:
https://your-service-name.onrender.com/mcp - REST API端点:
https://your-service-name.onrender.com/api/create-issue
测试MCP端点:
- 使用Postman MCP客户端或任何兼容MCP的客户端
- 服务器URL:
https://your-service-name.onrender.com/mcp - 连接类型:HTTPS(由于Render提供了有效的SSL,因此没有证书警告)
测试REST API端点:
- 使用任何HTTP客户端或作为自定义GPT操作集成
- 端点:
https://your-service-name.onrender.com/api/create-issue - 需要承载令牌身份验证(设置
API_KEY在渲染中)
作为自定义GPT操作
此MCP服务器还公开了与自定义GPT操作兼容的REST API端点,允许您将Jira问题创建直接集成到ChatGPT中。
设置步骤:
- 部署以渲染 (见下面的部署部分)
- 复制OpenAPI模式:复制以下内容
openapi.yaml从您的存储库 - 添加到自定义GPT:在自定义GPT配置中,转到操作→ 创建新操作→ 粘贴架构
- 配置身份验证:
- 选择“承载”身份验证
- 输入您的
API_KEY值(在渲染环境变量中设置)
- 描述格式:使用自定义GPT操作时
description字段将自动以ADF JSON格式发送,支持Jira问题中的富文本格式(粗体、斜体、链接、列表等)
终点:
/mcp-MCP协议端点(用于MCP客户端)/api/create-issue-REST API终结点(用于自定义GPT操作)
发展
服务器使用:
- 用于HTTP服务器的Express.js
- 用于MCP协议处理的模型上下文协议SDK
- TypeScript用于类型安全
许可证
ISC