mcp-jira-confluence-corp
A Model Context Protocol server for Atlassian Jira and Confluence that bypasses corporate proxies and self-signed certificates, enabling read/write operations on issues, projects, pages, and spaces using Personal Access Tokens.
README
mcp-jira-confluence-corp
A Model Context Protocol server for Atlassian Jira and Confluence, designed for corporate networks. It transparently bypasses system HTTP proxies for internal domains, handles self-signed certificates, and supports Personal Access Token (PAT) authentication.
Why this package exists
Generic MCP servers like mcp-atlassian work well against Atlassian Cloud but
struggle inside many corporate environments where:
- A global
HTTP_PROXYorHTTPS_PROXY(typically an SSH tunnel for a cloud API) silently intercepts on-prem traffic and causes timeouts. - Internal Jira and Confluence instances use self-signed TLS certificates.
- The only available credential is a Personal Access Token rather than a username/password pair.
mcp-jira-confluence-corp addresses all three by:
- Clearing
HTTP_PROXY-style environment variables on client construction. - Listing internal domains that should bypass any proxy (via the
MCP_BYPASS_DOMAINSenvironment variable orProxyConfig.bypass_domains). - Disabling SSL verification by default (configurable via
verify_ssl). - Accepting PATs through
JIRA_PERSONAL_TOKEN/CONFLUENCE_PERSONAL_TOKEN.
Installation
pip install mcp-jira-confluence-corp
Or run it without installing using uvx:
uvx mcp-jira-confluence-corp
Configuration
The server is configured through environment variables:
| Variable | Description |
|---|---|
JIRA_URL |
Base URL of your Jira instance |
JIRA_PERSONAL_TOKEN |
Personal Access Token for Jira |
JIRA_USERNAME / JIRA_TOKEN |
Optional Basic Auth pair (alternative to PAT) |
CONFLUENCE_URL |
Base URL of your Confluence instance |
CONFLUENCE_PERSONAL_TOKEN |
Personal Access Token for Confluence |
MCP_BYPASS_DOMAINS |
Comma-separated list of internal domains to bypass any proxy. Supports *.example.com wildcards. |
MCP client configuration
{
"mcpServers": {
"jira-confluence": {
"command": "uvx",
"args": ["mcp-jira-confluence-corp"],
"env": {
"JIRA_URL": "https://jira.example.com",
"JIRA_PERSONAL_TOKEN": "<your-token>",
"CONFLUENCE_URL": "https://confluence.example.com",
"CONFLUENCE_PERSONAL_TOKEN": "<your-token>",
"MCP_BYPASS_DOMAINS": "*.example.com,internal.corp",
"HTTP_PROXY": "",
"HTTPS_PROXY": ""
}
}
}
}
Available tools
Jira (read-only)
| Tool | Description |
|---|---|
jira_get_issue |
Get a Jira issue by key |
jira_search_issues |
Search issues using JQL with pagination |
jira_get_issue_comments |
List comments on an issue |
jira_get_issue_transitions |
List available workflow transitions |
jira_get_issue_changelog |
Get issue history (status, field changes) |
jira_list_projects |
List accessible projects |
jira_get_project |
Get details of a specific project |
jira_get_user |
Get a user profile |
Jira (write)
| Tool | Description |
|---|---|
jira_create_issue |
Create a new issue |
jira_update_issue |
Update fields of an existing issue |
jira_add_comment |
Add a comment to an issue |
jira_transition_issue |
Move an issue through its workflow |
jira_assign_issue |
Assign or unassign an issue |
Confluence (read-only)
| Tool | Description |
|---|---|
confluence_get_page |
Get a page by ID |
confluence_get_page_by_title |
Get a page by title and space |
confluence_search |
Search using CQL |
confluence_get_page_children |
List child pages |
confluence_get_page_comments |
List page comments |
confluence_get_page_labels |
List labels applied to a page |
confluence_list_spaces |
List Confluence spaces |
Confluence (write)
| Tool | Description |
|---|---|
confluence_create_page |
Create a new page |
confluence_update_page |
Update an existing page |
confluence_add_comment |
Add a comment to a page |
confluence_add_label |
Add a label to a page |
confluence_remove_label |
Remove a label from a page |
All tools support both markdown (default) and json response formats for
human-readability vs. programmatic consumption.
Programmatic usage
JiraConfluenceClient is a thin wrapper around
atlassian-python-api and is
fully usable outside of the MCP server.
from mcp_jira_confluence import JiraConfluenceClient
client = JiraConfluenceClient()
issue = client.get_issue("PROJ-123")
print(issue["fields"]["summary"])
page = client.get_page("123456")
print(page["title"])
client.update_page(
page_id="123456",
title="Release notes",
body="<p>Updated content in Confluence Storage Format.</p>",
)
Customizing proxy bypass
from mcp_jira_confluence import JiraConfluenceClient, ProxyConfig
proxy_config = ProxyConfig(
bypass_domains=["*.example.com", "internal.corp"],
verify_ssl=False,
)
client = JiraConfluenceClient(proxy_config=proxy_config)
Development
git clone https://github.com/mshegolev/mcp-jira-confluence-corp.git
cd mcp-jira-confluence-corp
pip install -e ".[dev]"
pytest tests/
ruff check src/
black --check src/
Releasing
This project uses PyPI Trusted Publishing, so no API tokens are stored in GitHub.
- Bump the version in
pyproject.toml. - Update
CHANGELOG.md. - Tag the release:
git tag v0.1.1 && git push --tags. - Create a GitHub release — the publish workflow runs automatically.
License
Author
Mikhail Shegolev — mshegolev@gmail.com
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。