@ama-work/mcp-atlassian
v1.2.3
Published
Standalone TypeScript MCP server wrapping the Atlassian REST API (Jira + Confluence)
Readme
ama-mcp-atlassian
Standalone TypeScript MCP server wrapping the Atlassian REST API (Jira + Confluence). Works standalone via env vars or registry-integrated via ama-mcp-registry.
Install
npx -y @ama-work/mcp-atlassian
# or
bunx @ama-work/mcp-atlassianUsage
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"atlassian": {
"command": "npx",
"args": ["-y", "@ama-work/mcp-atlassian"],
"env": {
"ATLASSIAN_EMAIL": "[email protected]",
"ATLASSIAN_API_TOKEN": "your-api-token",
"ATLASSIAN_CLOUD_ID": "your-cloud-id"
}
}
}
}Works with
bunxtoo — replacenpxwithbunxand remove-y.
Standalone mode
Provide your Atlassian credentials directly via environment variables.
1. Create an API token:
Go to Atlassian API Tokens and create a new token.
2. Find your Cloud ID:
Your Cloud ID is the first part of your Atlassian URL. For example, if your Jira is at https://mycompany.atlassian.net, your Cloud ID is mycompany.
3. Configure the env vars:
[email protected]
ATLASSIAN_API_TOKEN=ATATT3xFfGF0...
ATLASSIAN_CLOUD_ID=mycompanyRegistry-integrated mode
If you run ama-mcp-registry, the server fetches its token automatically:
{
"mcpServers": {
"atlassian": {
"command": "npx",
"args": ["-y", "@ama-work/mcp-atlassian"],
"env": {
"REGISTRY_URL": "https://your-registry.example.com",
"INSTANCE_ID": "your-instance-id",
"GATEWAY_PSK": "your-pre-shared-key"
}
}
}
}The token is cached and proactively refreshed 5 minutes before expiry.
MCP Registry Integration
Import the canonical definition via URL:
https://raw.githubusercontent.com/Ask-Me-Anything-dot-work/ama-mcp-atlassian/main/definitions/atlassian.jsonTools
Jira: jira_search_issues, jira_get_issue, jira_create_issue, jira_update_issue, jira_transition_issue, jira_add_comment, jira_get_projects
Confluence: confluence_search, confluence_get_page, confluence_create_page, confluence_update_page, confluence_add_comment, confluence_get_spaces
Meta: atlassian_whoami
Tool arguments pass through the MCP gateway verbatim — gateway namespacing ({instanceId}.{toolName}) does not affect argument forwarding. Past bugs where confluence_create_page dropped spaceId (400 INVALID_REQUEST_BODY) were server-side request mapping in this repo, fixed against the confluence.js v2 client contract ({ body: { spaceId, title, ... } } nesting).
Development
bash bootstrap.sh
bun run typecheck
bun run lintLicense
MIT
