Jira MCP Server
Provides tools to create Jira issues and list available issue types for a project using the Jira Cloud API.
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., "@Jira MCP Servercreate a task in project PROJ: update API documentation"
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.
Jira MCP Server
MCP (Model Context Protocol) server for Jira Cloud API integration. Create issues and list issue types using Basic Auth (email + API token).
Features
jira_create_issue – Create a new Jira issue with project, summary, and issue type
jira_list_issue_types – List available issue types for a project
Related MCP server: mcp-jira
Prerequisites
Node.js 24+
Jira Cloud site
Setup
Clone and install
cd jira_mcp npm installConfigure environment
Copy
.env.exampleto.envand fill in your values:cp .env.example .envJIRA_BASE_URL=https://your-domain.atlassian.net JIRA_EMAIL=user@example.com JIRA_API_TOKEN=your_api_token_hereBuild
npm run build
Usage
Run the server
npm startOr with env vars inline:
JIRA_BASE_URL=https://your-domain.atlassian.net JIRA_EMAIL=you@example.com JIRA_API_TOKEN=xxx npm startThe server runs via stdio and is intended to be used as a subprocess by MCP clients (e.g. Cursor, Claude Desktop).
Cursor configuration
Add to your Cursor MCP config (e.g. ~/.cursor/mcp.json):
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/path/to/jira_mcp/dist/index.js"],
"env": {
"JIRA_BASE_URL": "https://your-domain.atlassian.net",
"JIRA_EMAIL": "your-email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
}Tools
jira_list_issue_types
List issue types (Bug, Task, Story, etc.) for a project.
Parameter | Type | Required | Description |
project_key | string | Yes | Jira project key (e.g. PROJ) |
response_format | string | No |
|
jira_create_issue
Create a new Jira issue.
Parameter | Type | Required | Description |
project_key | string | Yes | Jira project key |
summary | string | Yes | Issue title |
issue_type | string | Yes | Issue type name (e.g. Bug, Task) or ID |
description | string | No | Issue description |
response_format | string | No |
|
Testing Without Cursor
The best way to test the MCP server interactively is with MCP Inspector, a web UI for exercising tools, resources, and prompts.
Build the project (if not already done):
npm run buildRun MCP Inspector with your server. With a
.envfile in the project root, the server loads it automatically:npm run inspectorOr run directly (env from
.envis loaded by the server):npx @modelcontextprotocol/inspector node dist/index.jsTo pass env vars explicitly instead:
npx @modelcontextprotocol/inspector \ -e JIRA_BASE_URL=https://your-domain.atlassian.net \ -e JIRA_EMAIL=you@example.com \ -e JIRA_API_TOKEN=your-token \ node dist/index.jsOpen the Inspector in your browser (typically
http://localhost:6274).Test tools – Use the Tools tab to call
jira_list_issue_typesandjira_create_issuewith sample inputs.
The Inspector runs your server as a subprocess and connects via stdio, so it behaves like a real MCP client.
Development
# Run with auto-reload
npm run dev
# Run all tests (unit + integration)
npm test
# Run tests with coverage
npm run test:coverage
# Run integration tests only (spawns MCP server + mock Jira)
npm run test:integration
# Lint code
npm run lint
npm run lint:fix
# Format code
npm run format
npm run format:checkPre-commit hooks (Husky)
On each git commit, Husky runs lint and Prettier on staged files. If there are errors, the commit is blocked with a message:
❌ Commit blocked: Fix the lint or Prettier errors above.
Tips: npm run lint:fix | npm run formatTo bypass (use sparingly): git commit --no-verify or HUSKY=0 git commit
CI
GitHub Actions runs on pull requests to main/master with separate stages on Node.js 24.x:
Unit Tests –
npm run test:unit(90% coverage enforced)Integration Tests –
npm run test:integration(MCP server + mock Jira)Lint & Format – ESLint and Prettier checks
Security Audit –
npm audit(fails on moderate+ vulnerabilities)CodeQL – Static security analysis (JavaScript/TypeScript)
Dependency Review – Checks for vulnerable deps in PRs
Dependabot is configured for weekly dependency updates (.github/dependabot.yml).
To block merges until PRs pass, enable branch protection in GitHub: Settings → Branches → Add rule → Require status checks to pass before merging.
API Reference
License
MIT
This server cannot be installed
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/vertigooxyz-devix/mcp-for-jira'
If you have feedback or need assistance with the MCP directory API, please join our Discord server