Jira 服务器助手
一个基于 TypeScript 的服务器,它 enables 与 Jira 进行交互,提供执行 JQL 查询、管理工单、通过自然语言列出项目和状态的工具。 (注:原文中的“enables”在中文表达中需适当调整以符合语法习惯,这里保留了其意义但稍作优化以使句子更通顺。)
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"Jira communication server": {
"args": [
"/PATH_TO_THE_PROJECT/build/index.js"
],
"command": "node",
"env": {
"JIRA_API_KEY": "KEY_FROM : https://id.atlassian.com/manage-profile/security/api-tokens",
"JIRA_API_MAIL": "Your email",
"JIRA_URL": "https://XXXXXXXX.atlassian.net"
}
}
}
}
该服务需要配置环境变量:JIRA_API_KEY、JIRA_API_MAIL、JIRA_URL
可用工具 (11 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
execute_jql 2 个参数 需填 1 项
Execute a JQL query on Jira on the api /rest/api/3/search
必填参数:jql
get_only_ticket_name_and_description 2 个参数 需填 1 项
Get the name and description of the requested tickets on the api /rest/api/3/search
必填参数:jql
create_ticket 5 个参数 需填 4 项
Create a ticket on Jira on the api /rest/api/3/issue
必填参数:project、summary、description、issuetype
list_projects 1 个参数
List all the projects on Jira on the api /rest/api/3/project
该工具无需必填参数,直接调用即可
delete_ticket 1 个参数 需填 1 项
Delete a ticket on Jira on the api /rest/api/3/issue/{issueIdOrKey}
必填参数:issueIdOrKey
edit_ticket 5 个参数 需填 1 项
Edit a ticket on Jira on the api /rest/api/3/issue/{issueIdOrKey}
必填参数:issueIdOrKey
get_all_statuses 1 个参数
Get all the status on Jira on the api /rest/api/3/status
该工具无需必填参数,直接调用即可
assign_ticket 2 个参数 需填 2 项
Assign a ticket on Jira on the api /rest/api/3/issue/{issueIdOrKey}/assignee
必填参数:accountId、issueIdOrKey
query_assignable 1 个参数 需填 1 项
Query assignables to a ticket on Jira on the api /rest/api/3/user/assignable/search?project={project-name}
必填参数:project_key
add_attachment_from_public_url 2 个参数 需填 2 项
Add an attachment from a public url to a ticket on Jira on the api /rest/api/3/issue/{issueIdOrKey}/attachments
必填参数:issueIdOrKey、imageUrl
add_attachment_from_confluence 3 个参数 需填 3 项
Add an attachment to a ticket on Jira from a Confluence page by its name on the api /rest/api/3/issue/{issueIdOrKey}/attachments
必填参数:issueIdOrKey、pageId、attachmentName
服务介绍
Jira 通信服务器 MCP Server
与 Jira 通信
这是一个基于 TypeScript 的 MCP 服务器,提供了与 Jira 交互的工具。它通过提供以下功能来演示核心的 MCP 概念:
- 执行 JQL 查询的工具
- 创建、编辑和删除 Jira 工单的工具
- 列出 Jira 项目和状态的工具
功能
Jira 工具
execute_jql
- 目的:运行 JQL 查询。
- 参数:
jql,number_of_results(默认: 1)。
get_only_ticket_name_and_description
- 目的:获取工单名称和描述。
- 参数:
jql,number_of_results(默认: 1)。
create_ticket
- 目的:创建一个 Jira 工单。
- 参数:
project.key,summary,description,issuetype.name,parent(可选)。
list_projects
- 目的:列出 Jira 项目。
- 参数:
number_of_results(默认: 1)。
delete_ticket
- 目的:删除一个工单。
- 参数:
issueIdOrKey。
edit_ticket
- 目的:修改一个工单。
- 参数:
issueIdOrKey,summary(可选),description(可选),labels(可选),parent(可选)。
get_all_statuses
- 目的:检索所有状态。
- 参数:
number_of_results(默认: 1)。
assign_ticket
- 目的:将工单分配给用户。
- 参数:
accountId,issueIdOrKey。
query_assignable
- 目的:查找项目中可分配的用户。
- 参数:
project_key。
add_attachment
- 目的:向工单添加附件。
- 参数:
issueIdOrKey,imageUrl。
开发
安装依赖:
npm install
构建服务器:
npm run build
开发时自动重建:
npm run watch
安装
要与 Claude Desktop 一起使用,请添加服务器配置:
在 MacOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"Jira communication server": {
"command": "node",
"args": [
"/PATH_TO_THE_PROJECT/build/index.js"
],
"env": {
"JIRA_URL": "https://XXXXXXXX.atlassian.net",
"JIRA_API_MAIL": "Your email",
"JIRA_API_KEY": "KEY_FROM : https://id.atlassian.com/manage-profile/security/api-tokens"
}
}
}
}
调试
由于 MCP 服务器通过标准输入输出进行通信,调试可能会有挑战。我们建议使用 MCP Inspector,它作为一个包脚本提供:
npm run inspector
Inspector 将提供一个 URL,您可以在浏览器中访问调试工具。