Jira MCP ServerSAFE
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://www.npmjs.com/package/@nexus2520/jira-mcp-server) [](https://opensource.org/licenses/MIT)
A Model Context Protocol (MCP) server for Jira API integration. This server enables AI assistants like Claude to interact with Jira Cloud instances for issue management, search, comments, workflow transitions, and attachment handling.
Features
- Issue Management: Get, create, update, and assign Jira issues with custom field support
- JQL Search: Search issues using Jira Query Language
- Comments: Add and retrieve comments on issues
- Workflow: Get available transitions and change issue status
- Metadata Discovery: Get field requirements and allowed values for projects
- User Search: Find users by email or name for assignments
- Projects: List all accessible projects
- Attachments: List, upload, delete attachments and retrieve their content — text files returned as text, images rendered inline via Claude vision
- Issue Links: Add, remove, and list relationships between issues (relates, blocks, duplicates) without touching the constrained
parenthierarchy field - Token Efficient: 6 compound tools instead of 17+ flat tools — ~50% fewer tokens per session
Installation
Using npm (Recommended)
npm install -g @nexus2520/jira-mcp-server
From Source
- Clone the repository:
git clone https://github.com/pdogra1299/jira-mcp-server.git cd jira-mcp-server
- Install dependencies:
pnpm install
- Build the project:
pnpm run build
Prerequisites
- Node.js >= 16.0.0
- A Jira Cloud account with API access
- Jira API token (generate from Atlassian Account Settings)
Configuration
Environment Variable
6e7cdfa3720eOBSERVED · 2026-10-12Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add jira-mcp-server --env JIRA_API_TOKEN=${JIRA_API_TOKEN} -- npx -y @nexus2520/[email protected]{
"mcpServers": {
"jira-mcp-server": {
"command": "npx",
"args": [
"-y",
"@nexus2520/[email protected]"
],
"env": {
"JIRA_API_TOKEN": "${JIRA_API_TOKEN}"
}
}
}
}Exposed tools (6)
3 read · 1 write · 2 destructive. Blast radius: 2 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
jira_attachments | destructive | Manage Jira issue attachments: list, read, upload, or delete. |
jira_comments | write | Get or add comments on a Jira issue. |
jira_issues | read | Manage Jira issues. Use get_create_metadata action in jira_search first before creating issues. |
jira_links | destructive | Manage Jira issue links: add, remove, list relationships between two issues. Use get_link_types first to discover the available link names in the target Jira instance — they vary per project config. |
jira_search | read | Search and discover Jira resources: issues via JQL, projects, users, or field metadata. |
jira_workflow | read | Manage issue status transitions. Use get_transitions first, then transition with the ID. |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (3 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (3)
jira_attachments, jira_links
@modelcontextprotocol/sdk, axios, form-data, @types/node, typescript, vitest
Gates applied: no_behavioural_pass, no_license.
6e7cdfa3720efull audit observations/trust-audit/mcp-server/pdogra1299__jira-mcp-server.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | 6e7cdfa3720e | SAFE | B | 89 | first audit |
Questions
What tools does @nexus2520/jira-mcp-server expose?
6 in total: 3 read-only, 1 that write, and 2 that can delete or overwrite (jira_attachments, jira_links). Every one is listed on this page with its risk.
Is @nexus2520/jira-mcp-server safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 2 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does @nexus2520/jira-mcp-server need?
It reads JIRA_API_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does @nexus2520/jira-mcp-server run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as @nexus2520/jira-mcp-server at 1.2.0.
How current is this page?
The grade is for one exact copy of the source (6e7cdfa3720e), read on 2026-10-12. The repository is watched and re-audited when it changes.