mcp-server-jira
Manages Jira Stories via the Jira REST API v2, providing CRUD operations, workflow transitions, search, and project info for Jira issues.
Provides agile burndown data, sprint and board listing for Jira Software projects, enabling AI-driven analysis of sprint progress.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-jirashow me open stories in project PRD"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server-jira
An MCP (Model Context Protocol) server that lets an AI agent manage Jira Stories in a self-hosted Jira instance via the Jira REST API v2. Built for a PRD automation workflow.
Setup
npm install
cp .env.example .env # then fill in your values
npm run buildRelated MCP server: Jira MCP Integration
Configuration
All config comes from environment variables (loaded from .env):
Variable | Required | Description |
| ✅ | Base URL of the Jira instance, e.g. |
| ✅ | Account email/username used for Basic Auth |
| ✅ | API token / password used for Basic Auth |
| ✅ | Project key, e.g. |
| Issue type name for stories (default | |
| Custom field id for the Outline link (e.g. | |
| Custom field id for story points (default |
Authentication uses HTTP Basic Auth: base64(JIRA_USER_EMAIL:JIRA_API_TOKEN).
All API calls target ${JIRA_BASE_URL}/rest/api/2.
Running
The server speaks MCP over stdio.
npm start # runs dist/index.js
npm run dev # ts-node src/index.tsExample MCP client config
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/absolute/path/to/mcp-server-jira/dist/index.js"],
"env": {
"JIRA_BASE_URL": "https://jira.yourcompany.com",
"JIRA_USER_EMAIL": "bot@yourcompany.com",
"JIRA_API_TOKEN": "...",
"JIRA_PROJECT_KEY": "PRD"
}
}
}
}Tools
Story CRUD
Tool | Purpose |
| Create a Story from a PRD (with acceptance criteria + Outline link) |
| Fetch a Story's key fields by issue key |
| Update selected fields of a Story |
| JQL text search for Stories (duplicate detection) |
| Project metadata: priorities, issue types, story type id |
| Add a plain-text comment to a Story |
Workflow & guarded actions
Tool | Purpose |
| List or perform workflow transitions. Transitions to Done/Closed need |
| Permanently delete a Story. Requires |
Agile / burndown (requires Jira Software)
Tool | Purpose |
| List Agile boards (scrum/kanban) — get a board id |
| List a board's sprints with start/end dates and state |
| Burndown data for AI analysis (committed vs done vs remaining) |
Safety: human approval for risky actions
Two complementary mechanisms protect destructive operations:
MCP annotations — every tool declares
readOnlyHint/destructiveHint/idempotentHint/openWorldHint. The host (e.g. Claude) uses these to decide when to prompt the human before running a tool. Read-only tools (get_*,search_*,list_*) are flagged as such;update_story,delete_storyare flagged destructive.Server-enforced confirmation —
delete_storyand terminaltransition_storycalls require an explicitconfirm: true. Without it the tool performs no API call and instead returns arequires_confirmationwarning describing the impact, so the agent (and human) must opt in deliberately.
Burndown charts
An MCP server can't return a rendered chart image, but get_sprint_burndown
returns the underlying data: a reliable computed summary (committed/completed/
remaining story points and issue counts by status, derived from the sprint's
issues) plus a best-effort raw GreenHopper burndown time-series
(burndown_chart_raw) when that internal endpoint is available. The AI can
summarize progress, flag scope changes, and describe the burndown from this data.
Story points are read from JIRA_STORY_POINTS_FIELD.
All tools return structured JSON. Errors are returned as structured objects
({ error: true, message, ... }) — the server never throws unhandled exceptions
out of a tool. Logs are written to stderr only; stdout is reserved for the
MCP protocol.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sina-haseli/mcp-server-jira'
If you have feedback or need assistance with the MCP directory API, please join our Discord server