Jira数据中心MCP服务器
MCP(模型上下文协议)服务器,使AI代理能够与 Atlassian Jira数据中心 通过66个工具,涵盖问题、项目、董事会、冲刺、史诗、用户、元数据和附件。
为使用REST API v2和Agile REST API v1.0的企业Jira数据中心部署而构建。
特性
- 66工具 跨8个域组,实现Jira的全面覆盖
- 双重运输 --stdio用于本地MCP主机,可流式HTTP用于远程/容器化部署
- 个人访问令牌(PAT) 认证
- 选择性工具加载 --通过仅启用所需的工具组
ENABLED_TOOL_GROUPS - 双响应格式 --每个请求的Markdown(人类可读)或JSON(结构化)
- 分页支持 --一致性
startAt/maxResults在所有列表操作中 - Docker就绪 --多级Alpine映像,可在GitHub容器注册表上找到
工具
| 组 | 工具 | 描述 |
|---|---|---|
| 问题 | 18 | CRUD、JQL搜索、转换、评论、工作日志、观察者、远程链接、排名 |
| 项目 | 13 | 项目、组件CRUD、版本CRUD、状态 |
| 板子 | 7 | 列出/获取板、配置、问题、积压工作、疾跑、史诗(敏捷API) |
| 冲刺 | 7 | CRUD,sprint问题,将问题转移到sprint/backlog(敏捷API) |
| 史诗 | 5 | 获取/更新史诗,史诗问题,移动到史诗/从史诗(敏捷API) |
| 用户 | 3 | 获取用户、搜索用户、获取当前用户 |
| 元数据 | 10 | 字段、优先级、状态、问题类型、解决方案、过滤器、仪表板 |
| 附件 | 3 | 获取、删除、上传(base64) |
Full tool list (66 tools)
问题: jira_create_issue, jira_get_issue, jira_update_issue, jira_delete_issue, jira_search_issues, jira_get_transitions, jira_transition_issue, jira_add_comment, jira_get_comments, jira_update_comment, jira_delete_comment, jira_add_worklog, jira_get_worklogs, jira_add_watcher, jira_get_watchers, jira_add_remote_link, jira_get_remote_links, jira_rank_issues
项目: jira_list_projects, jira_get_project, jira_get_project_versions, jira_get_project_components, jira_get_project_statuses, jira_create_component, jira_get_component, jira_update_component, jira_delete_component, jira_create_version, jira_get_version, jira_update_version, jira_delete_version
板子: jira_list_boards, jira_get_board, jira_get_board_configuration, jira_get_board_issues, jira_get_board_backlog, jira_get_board_sprints, jira_get_board_epics
短跑: jira_create_sprint, jira_get_sprint, jira_update_sprint, jira_delete_sprint, jira_get_sprint_issues, jira_move_issues_to_sprint, jira_move_issues_to_backlog
史诗: jira_get_epic, jira_update_epic, jira_get_epic_issues, jira_move_issues_to_epic, jira_remove_issues_from_epic
用户: jira_get_user, jira_search_users, jira_get_myself
元数据: jira_list_fields, jira_create_custom_field, jira_list_priorities, jira_list_statuses, jira_list_issue_types, jira_list_resolutions, jira_create_filter, jira_get_filter, jira_get_favourite_filters, jira_list_dashboards
附件: jira_get_attachment, jira_delete_attachment, jira_add_attachment
快速开始
先决条件
- Node.js 18+
- Jira数据中心实例 个人访问令牌
安装和构建
git clone https://github.com/williace/jira-dc-mcp-server.git
cd jira-dc-mcp-server
npm install
npm run build配置
cp .env.example .env编辑 .env:
JIRA_BASE_URL=https://jira.company.com
JIRA_PAT=your-personal-access-token
TRANSPORT=stdio跑
# stdio mode (for Claude Desktop, Cursor, etc.)
npm run start:stdio
# HTTP mode (for remote/containerized deployments)
npm run start:http配置
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
JIRA_BASE_URL | 是 | -- | 您的Jira数据中心URL(例如。, https://jira.company.com) |
JIRA_PAT | 是 | -- | 用于身份验证的个人访问令牌 |
TRANSPORT | 没有 | stdio | 运输方式: stdio 或 http |
PORT | 没有 | 3000 | HTTP服务器端口(仅与 TRANSPORT=http) |
ENABLED_TOOL_GROUPS | 否 | 全部 | 逗号分隔的工具组列表(例如。, issues,projects,boards) |
选择性工具加载
如果您的MCP主机有工具限制,或者您只需要特定的功能,请使用 ENABLED_TOOL_GROUPS:
ENABLED_TOOL_GROUPS=issues,projects,boards可用组: issues, projects, users, boards, sprints, epics, metadata, attachments
MCP主机配置
克劳德桌面版
添加 claude_desktop_config.json:
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/path/to/jira-dc-mcp-server/dist/index.js"],
"env": {
"JIRA_BASE_URL": "https://jira.company.com",
"JIRA_PAT": "your-personal-access-token"
}
}
}
}克劳德代码
claude mcp add jira -- node /path/to/jira-dc-mcp-server/dist/index.js \
--env JIRA_BASE_URL=https://jira.company.com \
--env JIRA_PAT=your-personal-access-tokenHTTP模式(远程)
启动服务器:
TRANSPORT=http JIRA_BASE_URL=https://jira.company.com JIRA_PAT=your-pat node dist/index.jsMCP端点位于 http://localhost:3000/mcp 健康检查在 /health.
码头工人
从GitHub容器注册表中提取
docker pull ghcr.io/williace/jira-dc-mcp-server:latest跑
docker run -p 3000:3000 \
-e JIRA_BASE_URL=https://jira.company.com \
-e JIRA_PAT=your-personal-access-token \
ghcr.io/williace/jira-dc-mcp-server:latest本地建设
docker build -t jira-dc-mcp-server .项目结构
src/
├── index.ts # Entry point — transport selection (stdio/HTTP)
├── server.ts # MCP server creation and tool group registration
├── constants.ts # API paths, defaults, tool group definitions
├── types.ts # TypeScript interfaces for Jira entities
├── schemas/
│ └── common.ts # Shared Zod schemas (pagination, response format, IDs)
├── services/
│ ├── jira-client.ts # Axios-based HTTP client with PAT auth and error mapping
│ └── formatters.ts # Markdown/JSON response formatting for all entities
├── utils/
│ ├── errors.ts # Error handling utilities
│ └── pagination.ts # Pagination metadata helpers
└── tools/
├── issues.ts # 18 tools — CRUD, search, transitions, comments, worklogs
├── projects.ts # 13 tools — projects, components, versions
├── boards.ts # 7 tools — boards, configuration, backlog (Agile API)
├── sprints.ts # 7 tools — sprint management (Agile API)
├── epics.ts # 5 tools — epic management (Agile API)
├── users.ts # 3 tools — user lookup and search
├── metadata.ts # 10 tools — fields, statuses, filters, dashboards
└── attachments.ts # 3 tools — attachment get, delete, uploadAPI覆盖范围
此服务器的目标是 Jira数据中心 REST API:
- 核心REST API v2 (
/rest/api/2/)--问题、项目、用户、字段、过滤器等。 - 敏捷REST API v1.0 (
/rest/agile/1.0/)--棋盘、短跑、史诗、排名
备注:此服务器是为Jira数据中心(本地/自托管)构建的。它不是为Jira Cloud设计的,Jira Cloud使用不同的API端点和身份验证机制。
安全
此存储库使用GitHub安全最佳实践:
- GitHub操作被固定以提交SHA 防止供应链攻击
- 最低权限 在所有工作流作业上
- CodeQL 对每次推送和PR进行静态分析(SAST)
- 三叉戟 容器映像扫描操作系统和库漏洞
- OSSF记分卡 供应链安全评分
- 依赖机器人 用于自动依赖更新(npm、Actions、Docker)
- 依赖性审查 在pull请求中标记有风险的新依赖关系
- 分支保护 上
main要求通过检查和PR审查
许可证
麻省理工学院
