Skip to main content
Glama
atlassian-mcp
by atatter

atlassian-mcp

A local MCP server that gives coding agents read-only access to Jira Cloud. You choose which projects an agent may read; everything else is denied. The API token stays in the OS keychain.

Status: proof of concept, not released. There is no npm package yet, so this README is for developers running it from a checkout. Jira Cloud only, tested on macOS. Confluence, Bitbucket and Data Center are planned.

Tools

Tool

Does

jira_search_issues

Search with JQL; returns a compact list per issue

jira_get_issue

Read an issue: details, description, parent, links, subtasks, latest comments, and any other fields you ask for

Both only read. No tool writes to Jira or changes permissions.

jira_get_issue lists the issue's other fields whose values it can show in otherFields, by ID and name. Ask for their values with fields:

{ "issue": "PROJ-1", "fields": ["customfield_10016", "components"] }

Values come back as readable text, numbers or lists. An empty, unknown or shortened value says so in its note; shortened lists say so in linksNote, subtasksNote, commentsNote and otherFieldsNote. A field in a format the server doesn't show, such as an object it has no readable label for, returns [not shown: unsupported field format]. Parent, linked and subtask issues appear by key and link only, whichever project they're in; their own details are read with jira_get_issue, which applies the same permissions.

Related MCP server: jira-mcp

Permissions

Read access is granted per Jira project. The server checks every call against the project Jira reports for each issue, so issue key prefixes, crafted JQL and tool annotations can't widen access. Permission changes made with the CLI apply to running servers on their next call.

Run it from a checkout

Needs Node.js 24 or later and pnpm (the version in packageManager in package.json).

git clone https://github.com/atatter/atlassian-mcp.git
cd atlassian-mcp
pnpm install
pnpm build
node dist/cli.js setup

Setup asks for your Jira site, account email and an API token (typed hidden), checks the connection, lets you pick a project to allow, and shows a summary before saving. It ends by printing the commands that register the server with Claude Code, Codex or any MCP client. They run this checkout's dist/cli.js with the Node.js that ran setup, and the client starts the server when it needs it. After changing the code, run pnpm build; a client picks up the new build the next time it starts the server.

API tokens with scopes need read:jira-user and read:jira-work. Tokens without scopes work too, but they carry everything your account can do; a token with only these two scopes is limited to reading.

Commands

Run them from the checkout after pnpm build:

node dist/cli.js setup           Connect to Jira Cloud and allow a first project
node dist/cli.js status          Show the setup and check the connection
node dist/cli.js allow <KEY>     Allow reading a project
node dist/cli.js deny <KEY>      Remove a project's access
node dist/cli.js token           Replace the stored API token
node dist/cli.js client-config   Print the MCP client configuration
node dist/cli.js reset           Delete the stored token and settings
node dist/cli.js serve           Run the MCP server over stdio (MCP clients start this)

Settings live in ~/.config/atlassian-mcp/config.json (or $XDG_CONFIG_HOME/atlassian-mcp). They hold the site, email and allowed projects, never the token.

What this does not protect against

The limits apply to what an agent can do through this server. Any program running as your user can still run the CLI, change the settings or read the keychain entry. Run untrusted agents in a sandbox that can't do those things. Jira issue text is written by other people, so treat it as untrusted input to your agent.

Development

pnpm format      # formats the code (oxfmt)
pnpm check       # typecheck, lint, format check, unit tests, secret scan
pnpm test:e2e    # builds, then runs the CLI and stdio server against a fake Jira and the real OS keychain
pnpm check:pack  # builds, then checks the npm package holds only the built CLI and docs

The end-to-end test writes one keychain entry with synthetic credentials and deletes it when it finishes. Tests never contact a real Jira site.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI assistants to manage Jira tasks, issues, and projects using Atlassian's modern scoped API tokens, with safety features like read-only default and delete confirmation.
      69 npm
      4
      Apache 2.0
    • A
      license
      A
      quality
      C
      maintenance
      Gives local coding agents safe, read-only access to an existing Jira instance through MCP over stdio, keeping Jira credentials out of the LLM. It exposes tools for reading issues, comments, linked items, JQL search results, assigned open issues, and project metadata.
      6
      5 npm
      MIT