Skip to main content
Glama
imrnbeg

Jira MCP Server

by imrnbeg

MCP Jira Server

A Model Context Protocol (MCP) server that integrates Jira with Claude Desktop, allowing you to fetch and view Jira issue details directly through Claude.

Features

  • šŸ” Get Jira Issue Details: Fetch comprehensive information about any Jira issue by its key

  • šŸ“ Browse Projects: List projects and view project details

  • 🧭 Understand Workflows: See issue types and statuses per project

  • šŸ”Ž Search Issues (JQL): Flexible search with pagination and selected fields

  • šŸ“Œ Project Issue Lists: Quickly list issues in a project

  • šŸ’¬ Issue Comments: Read comments on an issue

  • šŸ—‚ļø Agile Views: Boards, sprints, and sprint issue listings

  • šŸ” Secure Authentication: Uses Jira API tokens for secure access

  • šŸŽÆ Structured Data: Returns both human-readable and structured JSON data

  • šŸš€ Claude Desktop Integration: Seamlessly works with Claude Desktop via MCP protocol

Related MCP server: Jira MCP Server

Prerequisites

  • Node.js (v18 or higher)

  • Claude Desktop application

  • Jira instance with API access

  • Jira API token

Installation

  1. Clone the repository

    git clone https://github.com/imrnbeg/jira-mcp.git
    cd jira-mcp
  2. Install dependencies

    npm install
  3. Build the project

    npm run build

Configuration

1. Create Environment File

Create a .env file in the project root with your Jira credentials:

# .env
JIRA_URL=https://yourcompany.atlassian.net
JIRA_EMAIL=your.email@company.com
JIRA_API_TOKEN=your_api_token_here

How to get your Jira API token:

  1. Go to Atlassian Account Settings

  2. Click "Create API token"

  3. Give it a label (e.g., "MCP Server")

  4. Copy the generated token

2. Update Server Path (Important!)

āš ļø CRITICAL: You must update the .env file path in the server code to match your system.

Edit src/server.ts and update line 8:

// Change this path to match your system
loadEnvFile('/Users/imranbeg/mcp-get-server/.env');

For different systems:

  • macOS/Linux: /full/path/to/your/jira-mcp/.env

  • Windows: C:\\full\\path\\to\\your\\jira-mcp\\.env

3. Rebuild After Path Update

After updating the path, rebuild the project:

npm run build

Claude Desktop Setup

1. Locate Claude Desktop Config

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

%APPDATA%\Claude\claude_desktop_config.json

2. Add MCP Server Configuration

Add this configuration to your Claude Desktop config file:

{
  "mcpServers": {
    "mcp-jira-server": {
      "command": "node",
      "args": ["/full/path/to/your/jira-mcp/dist/server.js"],
      "cwd": "/full/path/to/your/jira-mcp"
    }
  }
}

āš ļø Update the paths to match your system:

  • Replace /full/path/to/your/jira-mcp with your actual project path

  • Use forward slashes (/) even on Windows

3. Restart Claude Desktop

After updating the configuration, completely quit and restart Claude Desktop.

Usage

Once configured, you can use these example prompts in Claude Desktop:

Basic Issue Lookup

Get details for Jira issue PROJ-123
Show me information about ticket TASK-456
What's the status of issue BUG-789?

Detailed Issue Information

Get comprehensive details for Jira issue PROJ-123 including description, assignee, and priority
Show me the full details for ticket TASK-456 with all available information

Multiple Issues

Get details for these Jira issues: PROJ-123, TASK-456, BUG-789

Issue Status Check

What's the current status and assignee for issue PROJ-123?
Check the priority and due date for ticket TASK-456

Available Tools

get_jira_issue

Fetches detailed information about a Jira issue.

Parameters:

  • issueKey (string): The Jira issue key (e.g., PROJ-123, TASK-456)

Returns:

  • Issue summary, description, status, assignee, reporter

  • Priority, issue type, creation and update dates

  • Direct link to the issue in Jira

  • Structured JSON data for programmatic access

list_jira_projects

List accessible Jira projects with pagination and optional search query.

Parameters:

  • query (string, optional): Search by key/name

  • startAt (number, optional): Pagination start

  • maxResults (number, optional): Page size (1-100)

get_jira_project

Get full metadata for a Jira project by key or ID.

Parameters:

  • projectIdOrKey (string): Project key or ID

get_project_statuses

Get available statuses for each issue type in a project.

Parameters:

  • projectIdOrKey (string): Project key or ID

search_jira_issues

Search issues using JQL with pagination and field selection.

Parameters:

  • jql (string): JQL query

  • startAt (number, optional): Pagination start

  • maxResults (number, optional): Page size (1-100)

  • fields (string, optional): Comma-separated fields

list_project_issues

List issues in a specific project with optional extra JQL.

Parameters:

  • projectKey (string): Project key

  • jqlTail (string, optional): Extra JQL (e.g., AND status="In Progress")

  • startAt (number, optional): Pagination start

  • maxResults (number, optional): Page size (1-100)

get_jira_issue_comments

Retrieve comments for a Jira issue.

Parameters:

  • issueIdOrKey (string): Issue key or ID

  • startAt (number, optional): Pagination start

  • maxResults (number, optional): Page size (1-100)

list_boards

List Jira boards with optional filters.

Parameters:

  • type ("scrum"|"kanban", optional): Board type

  • projectKeyOrId (string, optional): Filter by project

  • startAt (number, optional): Pagination start

  • maxResults (number, optional): Page size (1-100)

list_board_sprints

List sprints on a board.

Parameters:

  • boardId (number): Board ID

  • state ("active"|"future"|"closed", optional): Sprint state

  • startAt (number, optional): Pagination start

  • maxResults (number, optional): Page size (1-100)

list_sprint_issues

List issues in a sprint with pagination.

Parameters:

  • sprintId (number): Sprint ID

  • startAt (number, optional): Pagination start

  • maxResults (number, optional): Page size (1-100)

  • jql (string, optional): Additional JQL filter

Example Prompts

Use these prompts in Claude Desktop to leverage the tools:

Project discovery

List my Jira projects.
Search Jira projects matching "platform".
Show details for project PROJ.
What issue types and statuses exist in project PROJ?

Issue search and browsing

Find issues in project PROJ assigned to me that are In Progress.
Search issues updated in the last 7 days with label "release".
List issues in project PROJ with status = "To Do".
Get comments for issue PROJ-123.

Agile views

List all Scrum boards for project PROJ.
Show active sprints on board 12.
List issues in sprint 345 ordered by priority.

Development

Running in Development Mode

npm run dev

Building for Production

npm run build

Type Checking

npm run typecheck

Troubleshooting

Server Not Loading Environment Variables

  1. Check the path in src/server.ts - Make sure it points to your actual .env file location

  2. Rebuild the project after changing the path:

    npm run build
  3. Verify .env file exists and contains valid credentials

Claude Desktop Not Connecting

  1. Check the config file paths - Ensure all paths in claude_desktop_config.json are correct

  2. Restart Claude Desktop completely

  3. Check Claude Desktop logs for connection errors

Jira API Errors

  1. Verify your API token is valid and not expired

  2. Check your Jira URL format (should include https://)

  3. Ensure your account has access to the Jira instance

Project Structure

jira-mcp/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ server.ts          # Main MCP server implementation
│   └── load-env.ts        # Custom environment loader
ā”œā”€ā”€ dist/                  # Compiled JavaScript files
ā”œā”€ā”€ .env                   # Environment variables (create this)
ā”œā”€ā”€ package.json           # Dependencies and scripts
ā”œā”€ā”€ tsconfig.json          # TypeScript configuration
└── README.md              # This file

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Test thoroughly

  5. Submit a pull request

License

ISC License

Support

For issues and questions:

  1. Check the troubleshooting section above

  2. Review the MCP documentation

  3. Open an issue on GitHub


Happy Jira integration with Claude! šŸš€

Available Tools

10 tools
get_jira_issueGet Jira IssueC

Get detailed information about a Jira issue by its key (e.g., PROJ-123)

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesThe Jira issue key (e.g., PROJ-123, TASK-456)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states it gets 'detailed information' but doesn't disclose what details are included, whether it's read-only, requires authentication, has rate limits, or error behaviors. This is a significant gap for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the core purpose, includes a helpful example, and has zero wasted words. Every element earns its place efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'detailed information' includes, return format, or error handling. For a tool with rich sibling context and no structured output, more detail is needed to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the schema fully documenting the issueKey parameter. The description adds an example (PROJ-123) which provides context, but doesn't add substantial meaning beyond what the schema already provides, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and resource 'detailed information about a Jira issue', specifying it's by issue key. It distinguishes from siblings like list_project_issues or search_jira_issues by focusing on a single issue, but doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_jira_issue_comments or search_jira_issues. The description implies usage for detailed info on a specific issue key, but lacks explicit when/when-not instructions or named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_jira_issue_commentsGet Jira Issue CommentsB

Retrieve comments for a Jira issue with pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdOrKeyYesIssue key or ID (e.g., PROJ-123)
startAtNoPagination start index (default 0)
maxResultsNoPage size (1-100, default 50)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions pagination, which is useful behavioral context, but doesn't cover other important aspects like authentication requirements, rate limits, error handling, or what the return format looks like. This is a minimal but not comprehensive disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function and key behavioral trait (pagination). It's front-loaded with no wasted words, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (a read operation with pagination), no annotations, and no output schema, the description is minimally adequate. It covers the core purpose and pagination but lacks details on authentication, errors, or return values, leaving gaps for the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents all three parameters. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't explain comment structure or pagination details), meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'retrieve' and the resource 'comments for a Jira issue', making the purpose unambiguous. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_jira_issue' which might also return comments, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_jira_issue' that might include comments, there's no indication of when this specific comment-focused tool is preferred, leaving usage unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_jira_projectGet Jira Project DetailsB

Get full metadata for a Jira project by key or ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdOrKeyYesProject key or ID (e.g., PROJ or 10001)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but offers minimal behavioral context. It doesn't disclose whether this is a read-only operation (implied by 'Get'), authentication requirements, rate limits, error conditions, or what 'full metadata' includes. The description doesn't contradict annotations (none exist), but fails to provide necessary operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose. Every word contributes meaning without redundancy. It's appropriately sized for a simple lookup tool with one parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with one parameter and 100% schema coverage, the description is minimally adequate. However, without annotations or output schema, it should better explain what 'full metadata' includes and any behavioral constraints. The description covers the basics but leaves gaps about the operation's scope and limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter is fully documented in the schema. The description adds marginal value by reinforcing that both 'key or ID' are accepted and providing examples ('e.g., PROJ or 10001'), but doesn't explain semantic differences between using key vs ID. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get full metadata') and resource ('for a Jira project'), specifying it works 'by key or ID'. It distinguishes from siblings like 'list_jira_projects' by focusing on individual project details rather than listing multiple projects. However, it doesn't explicitly contrast with 'get_project_statuses' which might provide overlapping information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing detailed metadata for a specific project, but provides no explicit guidance on when to choose this over alternatives like 'list_jira_projects' (for overviews) or 'get_project_statuses' (for status-specific data). No exclusion criteria or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_statusesGet Project Issue Types and StatusesC

Get available statuses for each issue type in a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdOrKeyYesProject key or ID (e.g., PROJ or 10001)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states a read operation ('Get') but does not mention any behavioral traits like authentication requirements, rate limits, error handling, or the format of the returned data (e.g., JSON structure). This leaves significant gaps for an agent to understand how to interact with the tool effectively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence that efficiently conveys the core purpose without any unnecessary words. It is front-loaded and appropriately sized, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a tool that retrieves structured data (statuses per issue type) and the lack of annotations and output schema, the description is insufficient. It does not explain what the output looks like (e.g., a list or mapping), potential errors, or any dependencies, leaving the agent with incomplete context for proper usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'projectIdOrKey' clearly documented. The description does not add any semantic details beyond what the schema provides, such as examples of valid project keys or how to handle invalid inputs. Thus, it meets the baseline for high schema coverage without compensating with extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'available statuses for each issue type in a project', making the purpose specific and understandable. However, it does not explicitly distinguish this tool from sibling tools like 'get_jira_project' or 'list_project_issues', which might also relate to project data, so it lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as when to choose it over 'get_jira_project' for project metadata or 'list_project_issues' for issue details. There is no mention of prerequisites, exclusions, or specific contexts, leaving usage unclear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_boardsList BoardsB

List Jira boards with optional type and project filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoBoard type filter
projectKeyOrIdNoFilter boards by project key or ID
startAtNoPagination start index (default 0)
maxResultsNoPage size (1-100, default 50)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it implies a read-only operation by using 'List', it lacks details on permissions, rate limits, pagination behavior (beyond what the schema covers), or what the output looks like. For a tool with no annotations, this leaves significant gaps in understanding how it behaves in practice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose and includes key details about filtering. There is no wasted language or redundancy, making it easy to parse and understand quickly. This exemplifies optimal conciseness for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and hints at filtering, but lacks details on output format, error handling, or integration with sibling tools. Without annotations or an output schema, more context would be needed for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions optional type and project filters, which aligns with two of the four parameters in the schema. However, with 100% schema description coverage, the schema already fully documents all parameters, including their types, constraints, and descriptions. The description adds minimal value beyond what the schema provides, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List') and resource ('Jira boards'), making the purpose immediately understandable. It also mentions optional filtering capabilities, which adds specificity. However, it doesn't differentiate this tool from its siblings (like 'list_jira_projects' or 'list_board_sprints'), which would require a more explicit distinction to reach a score of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions optional filters but doesn't specify scenarios where filtering by type or project is appropriate, nor does it reference sibling tools for related tasks. Without any context on usage boundaries or prerequisites, this falls short of providing meaningful guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_board_sprintsList Board SprintsB

List sprints for a given board with optional state filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
boardIdYesBoard ID
stateNoSprint state filter
startAtNoPagination start index (default 0)
maxResultsNoPage size (1-100, default 50)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions 'optional state filter' and implies pagination through parameters, but doesn't describe key behaviors like whether this is a read-only operation, what the output format looks like, error handling, or rate limits. For a tool with 4 parameters and no annotation coverage, this leaves significant gaps in understanding how it behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that immediately conveys the core functionality. Every word earns its place with no redundancy or unnecessary elaboration. It's appropriately sized for a straightforward listing tool and front-loads the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose but lacks details about output format, error conditions, or integration with sibling tools. Without annotations or output schema, more behavioral context would be helpful for the agent to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds minimal value beyond the schema by mentioning the 'optional state filter', which is already clear from the schema's enum. It doesn't provide additional context about parameter interactions or usage examples, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List sprints') and target resource ('for a given board'), making the purpose immediately understandable. It distinguishes from siblings like 'list_boards' or 'list_sprint_issues' by focusing specifically on sprints within a board. However, it doesn't explicitly differentiate from potential similar tools beyond the name, keeping it at a 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions an optional state filter but doesn't explain when to apply it or suggest other tools for related tasks like 'list_sprint_issues' or 'search_jira_issues'. There's no context about prerequisites or typical use cases, leaving the agent with minimal direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_jira_projectsList Jira ProjectsB

List accessible Jira projects with pagination and optional query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoOptional search query for project key/name
startAtNoPagination start index (default 0)
maxResultsNoPage size (1-100, default 50)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It mentions pagination and optional querying, which are useful behavioral details, but doesn't cover other important aspects like authentication requirements, rate limits, error handling, or what 'accessible' means in terms of permissions. The disclosure is partial but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('List accessible Jira projects') and adds two key features ('with pagination and optional query'). There's no wasted verbiage, and every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no annotations and no output schema, the description is minimally adequate. It covers the basic action and key features but lacks details on output format, error cases, or integration with sibling tools. Given the context, it should provide more guidance on usage and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents all three parameters. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't explain query syntax or pagination behavior further). This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('accessible Jira projects'), making the purpose immediately understandable. However, it doesn't explicitly distinguish this tool from sibling tools like 'get_jira_project' (singular) or 'list_project_issues', which might cause confusion about when to use each.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'get_jira_project' (for a single project) or 'search_jira_issues' (for issues rather than projects). It mentions optional querying but doesn't clarify use cases or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_project_issuesList Issues in ProjectB

List issues for a project with optional JQL tail filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectKeyYesProject key (e.g., PROJ)
jqlTailNoOptional extra JQL, e.g., AND status="In Progress"
startAtNoPagination start index (default 0)
maxResultsNoPage size (1-100, default 50)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'optional JQL tail filters' but doesn't disclose key behavioral traits such as pagination behavior (implied by parameters but not described), rate limits, authentication needs, or what the output looks like (e.g., list format, error handling). This leaves significant gaps for a tool with 4 parameters and no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('List issues for a project') and adds essential detail ('with optional JQL tail filters') without waste. Every word earns its place, making it easy to scan and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, no output schema, no annotations), the description is incomplete. It lacks details on behavioral aspects like pagination, output format, error conditions, or how it differs from siblings. Without annotations or output schema, the description should compensate more to guide effective use, but it falls short.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds minimal value beyond the schema by hinting at JQL usage ('optional JQL tail filters'), but doesn't provide additional syntax, examples, or constraints. With high schema coverage, the baseline is 3, as the description doesn't significantly enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('issues for a project'), specifying the action and target. It distinguishes from siblings like 'get_jira_issue' (single issue) and 'search_jira_issues' (general search) by focusing on project-specific listing with JQL filtering, though it doesn't explicitly name these alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through 'optional JQL tail filters,' suggesting it's for filtering within a project, but lacks explicit guidance on when to use this tool versus alternatives like 'search_jira_issues' (which might handle broader searches) or 'list_sprint_issues' (sprint-specific). No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sprint_issuesList Sprint IssuesC

List issues in a given sprint with pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
sprintIdYesSprint ID
startAtNoPagination start index (default 0)
maxResultsNoPage size (1-100, default 50)
jqlNoOptional additional JQL to filter sprint issues

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions 'with pagination,' which hints at behavior, but lacks details on permissions, rate limits, error handling, or response format. For a read operation with pagination, this is insufficient disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and includes a key behavioral trait (pagination), making it appropriately sized and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a read operation with pagination, the description is incomplete. It should cover more behavioral aspects like response format, error cases, or usage context relative to siblings to adequately inform the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all parameters. The description adds no additional meaning beyond implying pagination, which is already covered in the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List issues') and resource ('in a given sprint'), making the purpose understandable. However, it doesn't distinguish this tool from sibling tools like 'list_project_issues' or 'search_jira_issues' which might also retrieve issues, missing explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With siblings like 'list_project_issues' and 'search_jira_issues', there's no indication of context, prerequisites, or exclusions, leaving usage ambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_jira_issuesSearch Jira Issues (JQL)C

Search issues using JQL with pagination and field selection.

ParametersJSON Schema
NameRequiredDescriptionDefault
jqlYesJQL query (e.g., project=PROJ AND status="In Progress")
startAtNoPagination start index (default 0)
maxResultsNoPage size (1-100, default 50)
fieldsNoComma-separated fields to return (default: key,summary,status,assignee,priority,issuetype,updated)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'pagination and field selection,' which hints at some behavior, but doesn't describe critical aspects like authentication requirements, rate limits, error handling, or what the return format looks like (especially without an output schema). For a search tool with no annotation coverage, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence: 'Search issues using JQL with pagination and field selection.' It's front-loaded with the core purpose and includes all key capabilities without waste. Every word earns its place, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (search with JQL, pagination, field selection), no annotations, and no output schema, the description is incomplete. It doesn't explain the return format, error conditions, or behavioral constraints like rate limits or authentication needs. For a tool with 4 parameters and no structured output documentation, the description should provide more context to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all four parameters (jql, startAt, maxResults, fields) with descriptions and constraints. The description adds no additional parameter semantics beyond what's in the schema—it merely echoes 'JQL with pagination and field selection' without providing syntax examples or usage nuances. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search issues using JQL with pagination and field selection.' It specifies the verb ('Search'), resource ('issues'), and key capabilities (JQL, pagination, field selection). However, it doesn't explicitly differentiate from sibling tools like 'list_project_issues' or 'list_sprint_issues', which might also retrieve issues in different ways.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With multiple sibling tools that retrieve issues (e.g., 'list_project_issues', 'list_sprint_issues', 'get_jira_issue'), there's no indication that this is the primary tool for complex JQL-based searches versus simpler listing operations. The agent must infer usage from the name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv1.0.0
    • Changedget_jira_issue2 fields changed
      • addedInput schema / $schema
        Added value: +"http://json-schema.org/draft-07/schema#"
      • addedInput schema / additionalProperties
        Added value: +false
    • Addedget_jira_issue_comments
    • Addedget_jira_project
    • Addedget_project_statuses
    • Addedlist_board_sprints
    • Addedlist_boards
    • Addedlist_jira_projects
    • Addedlist_project_issues
    • Addedlist_sprint_issues
    • Addedsearch_jira_issues
  2. 1 tool update
    • First observedget_jira_issue

TDQS

B3.4/5.0

Scored across 10 tools

Disambiguation5/5

Every tool has a clearly distinct purpose targeting specific Jira resources and actions. There is no overlap between tools like get_jira_issue (single issue details), list_project_issues (project-specific listing), and search_jira_issues (general JQL search), making misselection unlikely.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case throughout. The naming convention is predictable with verbs like 'get', 'list', and 'search' clearly indicating the action type, and nouns specifying the target resource (e.g., jira_issue, project, boards).

Tool Count5/5

With 10 tools, this server is well-scoped for Jira operations, covering core workflows like issue retrieval, project management, and board/sprint handling. Each tool earns its place without feeling excessive or insufficient for the domain.

Completeness3/5

The toolset provides strong read/search capabilities but has notable gaps in write operations. There are no tools for creating, updating, or deleting issues, comments, or other resources, which limits agents to read-only workflows and may cause failures in scenarios requiring modifications.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language interaction with Jira for managing projects, issues, tasks, and workflows through the Model Context Protocol, allowing users to delegate PM tasks through Claude Desktop.
    27 npm
    64
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Connects Jira with Claude, enabling users to search issues, view issue details, update issues, add comments, and retrieve project information through natural language commands.
    1
    27 npm
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to interact with Jira Cloud instances for comprehensive issue management including creating, updating, searching issues, managing comments, workflow transitions, and project metadata discovery. Supports JQL queries, user search, and custom field operations with secure API token authentication.
    12
    1,883 npm
    8
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude AI to interact with JIRA for project management and issue tracking, supporting JQL queries, comprehensive issue details retrieval with subtasks and linked issues, and release planning analysis.
    MIT