Jira & Confluence MCP Server
A Model Context Protocol (MCP) server that connects AI assistants to Jira and Confluence, enabling search, create, update, and comment operations with rich Markdown-to-ADF conversion.
README
Jira & Confluence MCP Server
A Model Context Protocol (MCP) server that connects AI assistants to Jira and Confluence.
Features
- 🔍 Search & View - Query Jira issues with JQL and Confluence pages with CQL
- ✏️ Create & Edit - Add new issues and pages, update existing content
- 🎨 Rich Formatting - Automatically converts AI-generated Markdown to ADF (Atlassian Document Format) for beautiful, native-looking content in Jira and Confluence
- 🔒 Safe Operations - No delete operations—read-heavy with controlled write access
- 🚀 Easy Setup - One-command integration with OpenCode, GitHub Copilot, Claude Desktop, and more
- 🔐 Secure - Uses Atlassian API tokens with optional TLS configuration for corporate networks
AI Agent Skill
Installation
Copy and paste this prompt to your LLM agent (Claude Code, AmpCode, Cursor, etc.):
Install and configure the Jira & Confluence CLI agent skill by following the instructions here:
https://raw.githubusercontent.com/thamaraiselvam/mcp-jira-confluence/main/docs/agent-skill-setup.md
MCP Server
Add to OpenCode CLI
Quick Add (Interactive - Recommended)
Use OpenCode's interactive MCP add command:
opencode mcp add
Then follow the prompts:
┌ Add MCP server
│
◇ Enter MCP server name
│ jira-confluence
│
◇ Select MCP server type
│ Local
│
◇ Enter command to run
│ npx mcp-jira-confluence
After adding, edit ~/.config/opencode/opencode.json to add your credentials:
{
"mcp": {
"jira-confluence": {
"type": "local",
"command": ["npx", "mcp-jira-confluence"],
"environment": {
"ATLASSIAN_URL": "https://your-org.atlassian.net",
"ATLASSIAN_EMAIL": "your.email@example.com",
"ATLASSIAN_API_TOKEN": "your-api-token",
"IGNORE_TLS_ERRORS": "true"
}
}
}
}
Get your API token from Atlassian API Tokens.
Manual Configuration
Create or edit ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"jira-confluence": {
"type": "local",
"command": ["npx", "mcp-jira-confluence"],
"environment": {
"ATLASSIAN_URL": "https://your-org.atlassian.net",
"ATLASSIAN_EMAIL": "your.email@example.com",
"ATLASSIAN_API_TOKEN": "your-api-token",
"IGNORE_TLS_ERRORS": "true"
}
}
}
}
Get your API token from Atlassian API Tokens.
Usage in OpenCode
After configuration, use natural prompts to interact with Jira and Confluence:
Search and Query:
Show me all high-priority bugs in the AUTH project
What are the open issues assigned to me in Jira?
Search Confluence for API documentation in the DEV space
View and Analyze:
Get details of issue PROJ-123
Show me the latest comments on PROJ-456
What's in the "Architecture Decisions" Confluence page?
Create and Update:
Create a new bug in Jira: The login page shows a 500 error when...
Update PROJ-789 to mark it as in progress
Add a comment to PROJ-101: "Fixed in latest deployment"
Workflow:
What transitions are available for PROJ-234?
Move PROJ-567 to Done status
The AI will automatically use the Jira and Confluence tools when it detects you're asking about issues, projects, or documentation.
Other MCP Clients
GitHub Copilot CLI
Create or edit ~/.config/github-copilot/mcp.json:
{
"mcpServers": {
"jira-confluence": {
"command": "npx",
"args": ["mcp-jira-confluence"],
"env": {
"ATLASSIAN_URL": "https://your-org.atlassian.net",
"ATLASSIAN_EMAIL": "your.email@example.com",
"ATLASSIAN_API_TOKEN": "your-api-token",
"IGNORE_TLS_ERRORS": "true"
}
}
}
}
Claude Desktop & VS Code
Same configuration format. For Claude Desktop, edit your Claude config file. For VS Code, add to .vscode/mcp.json.
Connect to Running Server
If you prefer to run the server manually, use this configuration:
{
"mcpServers": {
"jira-confluence": {
"type": "http",
"url": "http://127.0.0.1:9339/mcp"
}
}
}
Quick Start (Manual Usage)
If you prefer to run the server manually instead of auto-starting:
- Create
.envfile in your home directory or project root:
# ~/.env or current directory
ATLASSIAN_URL=https://your-org.atlassian.net
ATLASSIAN_EMAIL=your.email@example.com
ATLASSIAN_API_TOKEN=your-api-token
IGNORE_TLS_ERRORS=true
Get your API token from Atlassian API Tokens.
- Run with npx:
npx mcp-jira-confluence
Server runs on http://127.0.0.1:9339 by default.
Available Tools
Confluence
search_confluence- Search pages with CQLget_confluence_page- Read page contentcreate_confluence_page- Create pages from Markdownupdate_confluence_page- Update pages from Markdownadd_confluence_comment- Add commentsget_confluence_page_versions- Read version historycheck_confluence_permissions- Check permissions
Jira
jira_search- Search issues with JQLjira_get_issue- Read issue detailsjira_create_issue- Create issues from Markdownjira_update_issue- Update issue fieldsjira_transition_issue- Change workflow statusjira_get_transitions- List available transitionsjira_add_comment- Add a Markdown comment to an issuejira_update_comment- Update an existing comment on an issue
CLI Usage
The same package also ships a command-line interface, so you can drive Jira and Confluence straight from a terminal, a shell script, or a Claude skill — without an MCP client. Every MCP tool above has a matching CLI command, grouped under jira and confluence.
The CLI shares the single mcp-jira-confluence entry point — there is no separate executable. Invoke it as <entry> <group> <command>, where <group> is jira or confluence. With no group, the same entry point starts the MCP server instead.
It reads the same environment variables as the server (ATLASSIAN_*, or service-specific JIRA_* / CONFLUENCE_*). Set them in your shell or a .env file.
Run it with npx (no install needed):
npx -y mcp-jira-confluence@latest --help
Installed the package globally (
npm install -g mcp-jira-confluence@latest)? Drop thenpx -y …@latestprefix and callmcp-jira-confluence <group> <command>directly. The examples below use the npx form.
# List all command groups and commands
npx -y mcp-jira-confluence@latest --help
# Per-command help (shows required/optional arguments)
npx -y mcp-jira-confluence@latest jira create-issue --help
# --- Jira ---
npx -y mcp-jira-confluence@latest jira search --jql "status = 'In Progress'" --limit 10
npx -y mcp-jira-confluence@latest jira get-issue PROJ-123
npx -y mcp-jira-confluence@latest jira create-issue \
--projectKey PROJ --issueType Story \
--summary "New story" --description ./description.md \
--priority High --labels "backend,urgent"
# Update plain fields as JSON, and/or the description from a Markdown file:
npx -y mcp-jira-confluence@latest jira update-issue PROJ-123 --fields '{"summary":"Updated title"}'
npx -y mcp-jira-confluence@latest jira update-issue PROJ-123 --descriptionFile ./description.md
npx -y mcp-jira-confluence@latest jira transition-issue PROJ-123 "In Progress"
npx -y mcp-jira-confluence@latest jira get-transitions PROJ-123
npx -y mcp-jira-confluence@latest jira add-comment PROJ-123 ./comment.md
npx -y mcp-jira-confluence@latest jira update-comment PROJ-123 100042 ./comment.md
# --- Confluence ---
npx -y mcp-jira-confluence@latest confluence search --cql "type=page AND title~'Roadmap'"
npx -y mcp-jira-confluence@latest confluence get-page 12345
npx -y mcp-jira-confluence@latest confluence create-page \
--spaceKey ENG --title "Design Notes" --markdownContent ./notes.md
npx -y mcp-jira-confluence@latest confluence update-page 12345 "New Title" ./notes.md
npx -y mcp-jira-confluence@latest confluence add-comment 12345 ./comment.md
npx -y mcp-jira-confluence@latest confluence get-page-versions 12345 --limit 5
npx -y mcp-jira-confluence@latest confluence check-permissions
Notes:
- Arguments can be passed as named flags (
--summary "...") or as positionals in the order shown by--help. - Markdown rich-text content is supplied as a path to a Markdown file, not as an inline string — this keeps multi-line content reliable across shells. This applies to: Confluence
create-page/update-pagebodies andadd-comment; Jiracreate-issuedescription,add-comment/update-comment, andupdate-issue --descriptionFile. (BREAKING: inline Markdown for these arguments is no longer accepted.) update-issuetakes a JSON--fieldsobject for plain fields and/or a--descriptionFilefor the description (the file wins if both set a description); at least one is required.- Markdown is converted exactly as the MCP server does — to HTML for Confluence and to ADF for Jira. The file's raw Markdown is passed to the API layer, which performs the conversion.
- Add
--jsonto any command to print the raw result as JSON for scripting; the default is a human-readable summary. - Commands exit
0on success and non-zero on any failure (missing argument, missing config, or API error). - Like the MCP server, the CLI has no delete operations.
Configuration
Optional Variables
# Custom port (default: 9339)
MCP_PORT=8080
# Service-specific credentials (overrides ATLASSIAN_*)
CONFLUENCE_URL=https://your-confluence.atlassian.net
CONFLUENCE_API_TOKEN=confluence-token
JIRA_URL=https://your-jira.atlassian.net
JIRA_API_TOKEN=jira-token
# Project/Space scoping
CONFLUENCE_SPACE_KEY=MYSPACE
JIRA_PROJECT_KEY=PROJ
# Corporate network
IGNORE_TLS_ERRORS=true
# Debug logging
VERBOSE=true
Note: When using the command configuration approach, set variables in the env object. When running manually with npx, use a .env file.
Troubleshooting
Manual Testing
Run the server manually to test your configuration:
npx mcp-jira-confluence
Check server health:
curl http://127.0.0.1:9339/health
Common Issues
- Connection refused: Check VPN/proxy and URLs in your configuration
- TLS errors: Add
"IGNORE_TLS_ERRORS": "true"to theenvobject - Authentication errors: Verify your API token at Atlassian API Tokens
Development
Clone and validate:
git clone https://github.com/thamaraiselvam/mcp-jira-confluence
cd mcp-jira-confluence
npm install
npm run build
npm run validate
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。