MCP server for connecting AI assistants to your own Jira instance
SaferSkills independently audited Mcp Jira Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server for interacting with self-hosted Jira instances using Personal Access Token (PAT) authentication.
Direct usage with npx:
npx mcp-jira-serverOr install globally:
npm install -g mcp-jira-servergit clone https://github.com/edrich13/mcp-jira-server.git
cd mcp-jira-servernpm installnpm run buildAdd the following to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
Option 1: Using npx (Recommended)
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "mcp-jira-server"],
"env": {
"JIRA_BASE_URL": "https://jira.domain.com",
"JIRA_PAT": "your-personal-access-token-here"
}
}
}
}Option 2: Using source build
{
"mcpServers": {
"jira": {
"type": "stdio",
"command": "node",
"args": ["/Users/edrich.rocha/.nvm/versions/node/v22.6.0/bin/mcp-jira-server"],
"env": {
"JIRA_BASE_URL": "https://jira.domain.com",
"JIRA_PAT": "your-personal-access-token-here"
}
}
}
}Create or update .vscode/mcp.json in your workspace:
Option 1: Using npx (Recommended)
{
"servers": {
"jira": {
"command": "npx",
"args": ["-y", "mcp-jira-server"],
"env": {
"JIRA_BASE_URL": "https://jira.domain.com",
"JIRA_PAT": "your-personal-access-token-here"
}
}
}
}Option 2: Using source build
{
"servers": {
"jira": {
"command": "node",
"args": ["/absolute/path/to/mcp-jira-server/build/index.js"],
"env": {
"JIRA_BASE_URL": "https://jira.domain.com",
"JIRA_PAT": "your-personal-access-token-here"
}
}
}
}JIRA_BASE_URL: The base URL of your self-hosted Jira instance (e.g., https://jira.domain.com)JIRA_PAT: Your Personal Access TokenJIRA_USER_AGENT (optional): Custom User-Agent header for Jira instances behind reverse proxies (oauth2-proxy, nginx, etc.) that filter requests by User-Agent. If your API requests get redirected to SSO login despite valid PAT, your reverse proxy may require a specific User-Agent to bypass authentication for API clients.jira_get_issueGet details of a specific Jira issue by its key.
Parameters:
issueKey (string, required): The Jira issue key (e.g., "PROJ-123")Example:
Get details for issue PROJ-123jira_search_issuesSearch for Jira issues using JQL (Jira Query Language).
Parameters:
jql (string, required): JQL query stringmaxResults (number, optional): Maximum number of results (default: 50)Example:
Search for all open issues in project PROJ assigned to meCommon JQL Examples:
project = PROJ AND status = Openassignee = currentUser() AND status != Donepriority = High AND created >= -7dreporter = john.doe AND status IN (Open, "In Progress")jira_create_issueCreate a new Jira issue.
Parameters:
projectKey (string, required): Project keysummary (string, required): Issue title/summaryissueType (string, required): Issue type (e.g., "Bug", "Task", "Story")description (string, optional): Detailed descriptionpriority (string, optional): Priority level (e.g., "High", "Medium", "Low")assignee (string, optional): Username to assign tolabels (array, optional): Array of labelscomponents (array, optional): Array of component namescustomfield_ (e.g., customfield_10001)Example:
Create a new bug in project PROJ with summary "Login page not loading" and high priorityCustom Fields Example:
Create a story in PROJ with custom field customfield_10001 set to "Sprint 1"jira_update_issueUpdate an existing Jira issue.
Parameters:
issueKey (string, required): Issue key to updatesummary (string, optional): New summarydescription (string, optional): New descriptionassignee (string, optional): New assignee usernamepriority (string, optional): New prioritylabels (array, optional): New labels arraystatus (string, optional): New status (e.g., "In Progress", "Done")customfield_ (e.g., customfield_10002)Example:
Update issue PROJ-123 to set status to "In Progress" and assign to john.doejira_add_commentAdd a comment to a Jira issue.
Parameters:
issueKey (string, required): Issue keycomment (string, required): Comment textExample:
Add a comment to PROJ-123 saying "Fixed in latest deployment"jira_get_commentsGet all comments from a Jira issue.
Parameters:
issueKey (string, required): Issue keyjira_get_projectsList all available Jira projects.
Parameters: None
Example:
List all Jira projectsjira_get_projectGet details of a specific project.
Parameters:
projectKey (string, required): Project keyjira_get_issue_typesGet available issue types for a project.
Parameters:
projectKey (string, required): Project keyjira_assign_issueAssign a Jira issue to a user.
Parameters:
issueKey (string, required): Issue keyassignee (string, required): Username to assign tojira_delete_issueDelete a Jira issue permanently.
Parameters:
issueKey (string, required): Issue key to delete⚠️ Warning: This action is permanent and cannot be undone.
jira_get_current_userGet information about the currently authenticated user.
Parameters: None
npm run buildnpm run watchnpm run devAfter configuring the server, restart Claude Desktop or VS Code to load the new MCP server.
Get my current Jira user information Show me all Jira projects Search for all issues assigned to me that are not done Create a new task in project PROJ with summary "Test MCP integration"npm run build)https://jira.domain.com/rest/api/2/myselfnpm install and npm run buildjira_get_issue_types to see valid types for the projectJIRA_USER_AGENT environment variable to a whitelisted User-Agent string. Contact your system administrator to get the allowed User-Agent value.This MCP server uses the Jira REST API v2. For more information about Jira's API:
https://your-jira-instance/rest/api/2/MIT
For issues related to:
Contributions are welcome! Please ensure:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.