loading…
Search for a command to run...
loading…
Fetches structured Jira issue context from a URL, enabling coding agents to quickly understand issue intent and implementation details.
Fetches structured Jira issue context from a URL, enabling coding agents to quickly understand issue intent and implementation details.
jira-context-mcp is a production-focused MCP server that fetches structured Jira issue context from a Jira URL. It is designed for coding agents like Codex and Claude Code so they can quickly understand issue intent and implementation context.
get_jira_issue_from_urlJIRA_BASE_URLGET /rest/api/3/issue/{issueIdOrKey}?expand=names,renderedFieldsThis server is issue-type agnostic. It works for any Jira issue type, including:
JIRA_EMAIL: Jira account emailJIRA_API_TOKEN: Jira API tokenJIRA_BASE_URL: Jira Cloud tenant URL (example: https://your-domain.atlassian.net)codex mcp add jira \
--env [email protected] \
--env JIRA_API_TOKEN=your-token \
--env JIRA_BASE_URL=https://your-domain.atlassian.net \
-- npx -y github:TastyHeadphones/jira-context-mcp
claude mcp add jira \
-e [email protected] \
-e JIRA_API_TOKEN=your-token \
-e JIRA_BASE_URL=https://your-domain.atlassian.net \
-- npx -y github:TastyHeadphones/jira-context-mcp
npm install -g github:TastyHeadphones/jira-context-mcp
Then add with local binary:
codex mcp add jira \
--env [email protected] \
--env JIRA_API_TOKEN=your-token \
--env JIRA_BASE_URL=https://your-domain.atlassian.net \
-- jira-context-mcp
claude mcp add jira \
-e [email protected] \
-e JIRA_API_TOKEN=your-token \
-e JIRA_BASE_URL=https://your-domain.atlassian.net \
-- jira-context-mcp
get_jira_issue_from_urlInput:
{
"url": "string"
}
Supported URL examples:
${JIRA_BASE_URL}/browse/ABC-123${JIRA_BASE_URL}/jira/software/projects/ABC/boards/1/backlog?selectedIssue=ABC-123JIRA_BASE_URL containing an issue key like ABC-123Returned structured data includes:
issueKey, issueUrl, summarydescription (plain text where possible)issueType, status, statusCategory, priorityassignee, reporterlabels, componentsfixVersions, affectedVersionscreated, updated, dueDateparent, epicsubtasks, linkedIssuesattachments (metadata only)comments (most recent 10)acceptanceCriteria (best-effort extraction from description/custom fields)customFields (non-empty, normalized, human-readable)JIRA_API_TOKEN.npm install
Set environment variables (for example via .env in your shell/session).
Build:
npm run build
npm start
Development mode:
npm run dev
Use this server entry in your MCP client config:
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/absolute/path/to/jira-context-mcp/dist/index.js"],
"env": {
"JIRA_EMAIL": "[email protected]",
"JIRA_API_TOKEN": "your-token",
"JIRA_BASE_URL": "https://your-domain.atlassian.net"
}
}
}
}
Use the same JSON block above in your Claude Code MCP server configuration file.
Use the same JSON block above in your Codex MCP server configuration file.
{
"name": "get_jira_issue_from_url",
"arguments": {
"url": "https://your-domain.atlassian.net/browse/ABC-123"
}
}
{
"issueKey": "ABC-123",
"issueUrl": "https://your-domain.atlassian.net/browse/ABC-123",
"summary": "Prevent duplicate webhook retries",
"description": "As a platform engineer, I need retry deduplication ...",
"acceptanceCriteria": "- Duplicate deliveries are ignored\n- Metrics include dropped duplicates",
"issueType": "Story",
"status": "In Progress",
"statusCategory": "In Progress",
"priority": "High",
"assignee": {
"accountId": "5b10ac8d82e05b22cc7d4ef5",
"displayName": "Alex Example",
"emailAddress": null,
"active": true
},
"labels": ["webhook", "idempotency"],
"components": ["API"],
"fixVersions": ["2026.05"],
"affectedVersions": ["2026.04"],
"subtasks": [],
"linkedIssues": [],
"attachments": [],
"comments": [],
"customFields": []
}
JIRA_API_TOKEN secret. Never commit it to source control.JIRA_BASE_URL.Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"jira-context-mcp": {
"command": "npx",
"args": []
}
}
}