Content
# mcp-atlassian-go
Go **1.25+** (required by `github.com/modelcontextprotocol/go-sdk` v1.5.0). Go reimplementation of **[mcp-atlassian](https://github.com/sooperset/mcp-atlassian)** (Python): **Jira** and **Confluence** tools over **MCP streamable HTTP**, with **per-session PAT** (and optional shared `Authorization: Token` when using `JIRA_URL` / `CONFLUENCE_URL`).
## Tool parity (names)
- **51×** `jira_*` tools — same names as the Python server (`main_mcp.mount(jira_mcp, "jira")`).
- **22×** `confluence_*` tools — same as Python `confluence_mcp` mount.
Behavior is implemented via **Atlassian REST** (Jira `/rest/api/2|3`, agile `/rest/agile/1.0`, Service Desk `/rest/servicedeskapi/...`, Confluence `/rest/api/...`). This is a **best-effort port**: Cloud vs Server/DC differences, Proforma, SLA math, markdown/ADF, and some analytics endpoints **do not match Python line-for-line**. See **Gaps** below.
## MCP HTTP API key (chatbot → server)
When **`MCP_SERVER_API_KEY`** is set (non-empty), every request to the MCP endpoint must include:
`X-MCP-API-Key: <same value as MCP_SERVER_API_KEY>`
This is separate from Atlassian PAT headers so your chatbot can send both. If the env var is **unset**, no API key is required (local dev).
Docker Compose defaults to `dev-mcp-key-please-change` — **change it** for any real deployment.
## Auth (per user)
On the **first** MCP POST (no `Mcp-Session-Id`), provide at least one of:
1. **Jira** — `X-Atlassian-Jira-Url` + `X-Atlassian-Jira-Personal-Token`
2. **Confluence** — `X-Atlassian-Confluence-Url` + `X-Atlassian-Confluence-Personal-Token`
Or set `JIRA_URL` / `CONFLUENCE_URL` and send **`Authorization: Token <PAT>`** (same PAT used for each configured product — use per-product headers if tokens differ).
Optional host lockdown: `ATLASSIAN_ALLOWED_HOSTS=host1,host2`.
**On-prem HTTPS** with a **weak or self-signed** server certificate: set `ATLASSIAN_INSECURE_TLS=true` or run with **`-insecure-tls`**. That sets `InsecureSkipVerify` on the **outbound** HTTP client used for Jira and Confluence only (not for the MCP listener). This weakens TLS authentication; use only on trusted networks.
## Run
```bash
cd mcp-atlassian-go
go run ./cmd/server -listen :8081 -path /mcp
```
### Docker
```bash
cd mcp-atlassian-go
docker compose up --build
```
MCP endpoint: `http://localhost:8081/mcp` (Compose file format **3.2** in `docker-compose.yml`).
Environment:
- `JIRA_CLOUD=true` — force Jira Cloud-style `/rest/api/3` (otherwise `atlassian.net` in URL also forces Cloud).
- `JIRA_URL`, `CONFLUENCE_URL` — defaults when using `Authorization: Token`.
## Gaps vs Python `mcp-atlassian`
| Area | Notes |
|------|--------|
| **jira_get_issue_sla** | Simplified metrics from dates only; Python computes full SLA set from changelog + working hours. |
| **jira_search** (Cloud) | Uses `POST /rest/api/3/search/jql`; verify field names/pagination vs your site. |
| **Confluence markdown** | Create/update try `contentbody/convert`; may differ from Python preprocessor. |
| **confluence_get_page_views** | Placeholder on DC. |
| **confluence_get_page_diff** | History only; no HTML diff port. |
| **Attachments / images** | Fewer heuristics than Python (size limits, image detection). |
| **OAuth / Basic** | **Not implemented** — PAT / Bearer only in this Go port. |
## Layout
| Path | Role |
|------|------|
| `cmd/server` | HTTP MCP entrypoint |
| `internal/auth` | Session credential parsing |
| `internal/rest` | JSON HTTP + Bearer PAT |
| `internal/jira` | Jira REST helpers |
| `internal/confluence` | Confluence REST helpers |
| `internal/mcpserver` | Tool registration (`jira_part_*.go`, `confluence_tools.go`) |
## Tests
```bash
go test ./...
```
Connection Info
You Might Also Like
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
awesome-claude-skills
A curated list of awesome Claude Skills, resources, and tools for...
claude-flow
Claude-Flow v2.7.0 is an enterprise AI orchestration platform.
Appwrite
Build like a team of hundreds
semantic-kernel
Build and deploy intelligent AI agents with Semantic Kernel's orchestration...
Anthropic-Cybersecurity-Skills
734+ structured cybersecurity skills for AI agents · MITRE ATT&CK mapped ·...