Jira MCP Server
MCP (Model Context Protocol) server for Jira integration. Allows Claude Code (or any MCP client) to interact with your Jira tasks.
Features
- ✅ Get your tasks - Fetch tasks assigned to you, filtered by project and status
- ✅ Get task details - Get detailed information about specific tasks
- ✅ Create tasks - Create new Jira tasks with description and issue type
Prerequisites
- Node.js 18+
- Jira account with API access
- Jira API token
Setup
1. Clone and Install
git clone <your-repo-url>
cd jira-mcp-server
npm install
2. Get Jira API Token
- Go to https://id.atlassian.com/manage-profile/security/api-tokens
- Click "Create API token"
- Give it a name (e.g., "MCP Server")
- Copy the token (you won't see it again!)
3. Get Your Account ID
curl -u your-email@example.com:your-api-token \
https://cryptobplatform.atlassian.net/rest/api/3/myself | jq .accountId
Or open in browser (after logging in): https://cryptobplatform.atlassian.net/rest/api/3/myself
4. Configure Environment Variables
Create .env file (or configure in Claude Code):
cp .env.example .env
# Edit .env with your credentials
Usage with Claude Code
Configuration
Add to your Claude Code config (usually ~/.config/claude/config.json or similar):
{
"mcpServers": {
"jira": {
"command": "node",
"args": ["/absolute/path/to/jira-mcp-server/index.js"],
"env": {
"JIRA_BASE_URL": "https://cryptobplatform.atlassian.net",
"JIRA_EMAIL": "andreu.slynchyk@gmail.com",
"JIRA_API_TOKEN": "your-api-token-here",
"JIRA_ASSIGNEE_ACCOUNT_ID": "6148ce85071141006ab17eb7"
}
}
}
}
Example Prompts for Claude Code
Once configured, you can ask Claude Code:
"Show me my current tasks in ART project"
"Get details about task ART-114"
"Create a new task in ART: Fix login bug"
"What tasks are in progress?"
Available Tools
1. get_my_tasks
Get your Jira tasks filtered by project and status.
Parameters:
projectKey(string, optional) - Project key (default: "ART")status(string, optional) - Task status (default: "In Progress")
Example:
{
"projectKey": "ART",
"status": "In Progress"
}
2. get_task_details
Get detailed information about a specific task.
Parameters:
issueKey(string, required) - Task key (e.g., "ART-114")
Example:
{
"issueKey": "ART-114"
}
3. create_task
Create a new Jira task.
Parameters:
projectKey(string, required) - Project keysummary(string, required) - Task titledescription(string, optional) - Task descriptionissueType(string, optional) - Issue type: "Задача", "Баг", "История" (default: "Задача")
Example:
{
"projectKey": "ART",
"summary": "Fix authentication issue",
"description": "Users cannot login with OAuth",
"issueType": "Баг"
}
Testing Locally
You can test the server directly:
npm start
Then send a JSON-RPC request via stdin:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node index.js
Troubleshooting
Authentication Error
Make sure your API token is correct and your email matches your Jira account.
"Task not found" Error
Check that:
- The task key is correct (e.g., "ART-114" not "art-114")
- You have permission to view the task
- The project key is correct
Environment Variables Not Loading
When using with Claude Code, make sure to set environment variables in the mcpServers config, not in a .env file.
Project Structure
jira-mcp-server/
├── index.js # Main MCP server implementation
├── package.json # Dependencies and scripts
├── .env.example # Example environment variables
└── README.md # This file
Security Notes
⚠️ Never commit your API token to git!
Add to .gitignore:
.env
node_modules/
License
MIT
Author
andreu slynchyk (andreu.slynchyk@gmail.com)