Server data from the Official MCP Registry
MCP server for downloading Jira and Confluence Cloud attachments by attachment ID.
MCP server for downloading Jira and Confluence Cloud attachments by attachment ID.
Valid MCP server (2 strong, 4 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
12 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: ATLASSIAN_SITE_URL
Environment variable: ATLASSIAN_EMAIL
Environment variable: ATLASSIAN_API_TOKEN
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-alyiox-mcp-atlassian-attachments": {
"env": {
"ATLASSIAN_EMAIL": "your-atlassian-email-here",
"ATLASSIAN_SITE_URL": "your-atlassian-site-url-here",
"ATLASSIAN_API_TOKEN": "your-atlassian-api-token-here"
},
"args": [
"mcp-atlassian-attachments"
],
"command": "uvx"
}
}
}From the project's GitHub README.
A Model Context Protocol (MCP) server for downloading Jira Cloud attachments by attachment ID, using Atlassian Cloud granular API token authentication.
Supplement to the official Atlassian MCP server. The official Atlassian MCP server covers search, issue management, and content operations but does not support downloading attachment files to disk. This server fills that gap.
Requirements: Python 3.13+, an Atlassian Cloud account, and a granular API token with the read:attachment:jira scope.
This server uses granular API tokens — scoped tokens that limit access to exactly the permissions needed.
read:attachment:jiraGranular tokens route through api.atlassian.com instead of your org's domain, which requires Atlassian to verify your token's scope. This follows the least-privilege principle — the token can only read attachments, nothing else.
The server automatically resolves your Cloud ID from your site URL at startup (via /_edge/tenant_info), so you never need to look it up manually.
The fastest way to try the server is with the MCP Inspector. Set the three required environment variables and run:
From the published package (no clone needed):
ATLASSIAN_SITE_URL=https://yourorg.atlassian.net \
ATLASSIAN_EMAIL=your.email@example.com \
ATLASSIAN_API_TOKEN=your-api-token \
npx -y @modelcontextprotocol/inspector uvx mcp-atlassian-attachments
From a local clone:
ATLASSIAN_SITE_URL=https://yourorg.atlassian.net \
ATLASSIAN_EMAIL=your.email@example.com \
ATLASSIAN_API_TOKEN=your-api-token \
npx -y @modelcontextprotocol/inspector uv run mcp-atlassian-attachments
Set environment variables or create a config file. Environment variables take priority.
Environment variables:
export ATLASSIAN_SITE_URL="https://yourorg.atlassian.net"
export ATLASSIAN_EMAIL="your.email@example.com"
export ATLASSIAN_API_TOKEN="your-api-token"
Config file (~/.config/mcp-atlassian-attachments/config.json):
{
"site_url": "https://yourorg.atlassian.net",
"email": "your.email@example.com",
"api_token": "your-api-token"
}
The server resolves your Atlassian Cloud ID automatically from the site URL — no manual lookup required.
| Tool | Description | Required params |
|---|---|---|
download_jira_attachment_tool | Download a Jira attachment by ID. | attachment_id, output_dir |
| Parameter | Type | Description |
|---|---|---|
attachment_id | string | Jira attachment ID |
output_dir | string | Local directory for the saved file. Created automatically if it does not exist. |
filename | string (optional) | Override filename. Uses metadata filename when omitted. |
overwrite | bool (optional) | Replace an existing file. Defaults to false. |
The tool returns a JSON object:
{
"product": "jira",
"attachmentId": "439535",
"filename": "screenshot.png",
"mimeType": "image/png",
"size": 496724,
"path": "/your/output/dir/screenshot.png",
"sourceUrl": "https://api.atlassian.com/ex/jira/<cloud-id>/rest/api/3/attachment/content/439535"
}
Add the following to your MCP host's config file. The JSON is the same for Cursor (.cursor/mcp.json), Claude Desktop (claude_desktop_config.json), and Claude Code (.claude.json).
{
"mcpServers": {
"atlassian": {
"command": "uvx",
"args": ["mcp-atlassian-attachments"],
"env": {
"ATLASSIAN_SITE_URL": "https://yourorg.atlassian.net",
"ATLASSIAN_EMAIL": "your.email@example.com",
"ATLASSIAN_API_TOKEN": "your-api-token"
}
}
}
}
ATLASSIAN_API_TOKEN is never logged or included in error messages.Authorization header is never exposed in tool output or errors.output_dir.uv run pytest tests/ -v
download_confluence_attachment_tool — Confluence Cloud uses a different API (/wiki/api/v2/) and a different identifier model. Planned for a future release.MIT. See LICENSE.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.