jira-mcp
Jira Cloud MCP server providing Jira-first tools for common workflows and full REST API coverage through a generic request tool.
README
jira-mcp
Jira Cloud MCP server built from the skeleton architecture, with Jira-first tools and full REST coverage through a generic Jira API request tool.
What this solution provides
- Jira-focused MCP tools for common workflows:
- profile lookup (
jira_get_myself) - project discovery (
jira_list_projects,jira_get_project) - issue search and retrieval (
jira_search_issues,jira_get_issue) - issue mutation (
jira_create_issue,jira_edit_issue,jira_transition_issue,jira_add_comment)
- profile lookup (
- Full Jira REST v3 coverage via:
jira_api_request(generic method/path/query/body)jira_operation_request(operation-key based request for documented high-value endpoints)
- Existing hardened HTTP transport and auth controls from the skeleton:
- bearer token gate on
/mcp - request limits and rate limits
- IP/origin allow-lists
- optional Vault-backed token verification path
- bearer token gate on
Jira API sources used
- Jira docs landing page: https://confluence.atlassian.com/jira
- Jira Cloud REST API v3 intro: https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/
- Jira Cloud REST API groups (issues/projects/search/users), plus operation references from Atlassian documentation.
Architecture
src/index.js: stdio MCP entrypointsrc/http/index.js: HTTP MCP entrypointsrc/http/server.js: streamable HTTP transport with auth/rate-limit/access logssrc/mcp/server.js: Jira tool registration and auth wrappersrc/services/targetService.js: Jira service client (JiraServiceClient) and operation catalogsrc/config/env.js: environment parsing and validation
Tool catalog
Read tools:
jira_connection_infojira_scope_infojira_list_operationsjira_health_checkjira_get_myselfjira_list_projectsjira_get_projectjira_search_issuesjira_get_issue
Mutating tools (require authorizationKey if MCP_ADMIN_AUTH_KEY is set):
jira_create_issuejira_edit_issuejira_transition_issuejira_add_commentjira_operation_request(when selected operation is mutating)jira_api_request(forPOST,PUT,PATCH,DELETE)
Registering the MCP server
VS Code / local stdio
{
"mcpServers": {
"jira-mcp": {
"command": "npm",
"args": ["run", "start:stdio"],
"cwd": "/Users/lesterjohn/Documents/GitHub/jira-mcp"
}
}
}
HTTP transport
Run:
npm run start:http
Default URLs:
- MCP:
http://127.0.0.1:3000/mcp - Health:
http://127.0.0.1:3000/healthz
Environment variables
Core
APP_NAME(defaultjira)MCP_SERVER_NAME(defaultjira-mcp)MCP_SERVER_VERSIONMCP_ADMIN_AUTH_KEYMCP_TRANSPORT_MODE(stdio,http,both)
Jira service integration
JIRA_BASE_URL(e.g.https://your-domain.atlassian.net)JIRA_TIMEOUT_MSJIRA_AUTH_MODE(none,bearer,basic)JIRA_BEARER_TOKENJIRA_BASIC_USERNAMEJIRA_BASIC_PASSWORD(use Jira API token for basic auth)JIRA_API_PREFIX(default/rest/api/3)
HTTP transport gate
MCP_HTTP_HOST,MCP_HTTP_PORT,MCP_HTTP_PATH,MCP_HTTP_HEALTH_PATHMCP_HTTP_AUTH_MODE(token)MCP_HTTP_AUTH_TOKENSMCP_HTTP_ALLOWED_ORIGINSMCP_HTTP_ALLOWED_IPSMCP_HTTP_MAX_BODY_BYTESMCP_HTTP_RATE_LIMIT_WINDOW_MSMCP_HTTP_RATE_LIMIT_MAX_REQUESTS
Postgres / Vault support (retained from skeleton)
POSTGRES_HOST,POSTGRES_PORT,POSTGRES_DB,POSTGRES_USER,POSTGRES_PASSWORDVAULT_ADDR,VAULT_TOKEN
Quick start
- Install dependencies:
npm install - Copy
.env.exampleto.env - Fill in Jira credentials (
JIRA_BASE_URL, auth variables) - Start server:
- stdio:
npm run start:stdio - HTTP:
npm run start:http
- stdio:
- Run tests:
npm test
External Services Mode
This repository keeps the skeleton's app-only mode for external infrastructure, including docker-compose.external.yml.
Use this mode when Vault and Postgres are managed outside this repository.
Required environment variables include:
POSTGRES_HOST,POSTGRES_PORT,POSTGRES_DB,POSTGRES_USER,POSTGRES_PASSWORDVAULT_ADDR,VAULT_TOKEN
Run:
docker compose -f docker-compose.external.yml up -d
Notes on "full coverage"
Jira REST v3 has a very large endpoint surface. This solution provides practical full coverage by combining:
- high-value first-class tools for common Jira workflows
- operation-key execution for curated documented endpoints
- unrestricted Jira REST pass-through via
jira_api_request
That means any Jira REST path documented by Atlassian can be called through MCP without waiting for a dedicated wrapper tool.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.