Skip to main content
Glama

JIRA MCP 서버

대장간 배지

표준화된 도구와 컨텍스트를 통해 대규모 언어 모델(LLM)이 JIRA와 상호 작용할 수 있도록 하는 MCP 서버입니다. 이 서버는 JQL을 사용하여 이슈를 검색하고 자세한 이슈 정보를 가져오는 기능을 제공합니다.

특징

  • JQL 검색 : 페이지네이션 지원을 통해 복잡한 JQL 쿼리 실행

  • 이슈 세부 정보 : 특정 JIRA 이슈에 대한 자세한 정보를 검색합니다.

Related MCP server: JIRA MCP Server

필수 조건

  • npm 설치됨

  • API 액세스가 가능한 JIRA 인스턴스

  • JIRA API 토큰 또는 개인 액세스 토큰

  • API 토큰과 연결된 JIRA 사용자 이메일

JIRA API 자격 증명 얻기

  1. https://id.atlassian.com 에서 Atlassian 계정에 로그인하세요.

  2. 보안 설정으로 이동

  3. API 토큰에서 "API 토큰 만들기"를 선택하세요.

  4. 토큰에 의미 있는 이름을 지정하세요(예: "MCP 서버")

  5. 생성된 토큰을 복사하세요. 다시 볼 수 없게 됩니다!

  6. 이 토큰을 JIRA_API_KEY 로 사용하세요

  7. Atlassian 계정과 연결된 이메일 주소를 JIRA_USER_EMAIL 로 사용하세요.

용법

Claude Desktop과 통합

  1. Claude Desktop의 구성 파일에 서버 구성을 추가합니다.

macOS : ~/Library/Application Support/Claude/claude_desktop_config.json Windows : %APPDATA%\Claude\claude_desktop_config.json

지엑스피1

  1. 새로운 구성을 로드하려면 Claude Desktop을 다시 시작하세요.

사용 가능한 도구

1. JQL 검색( jql_search )

사용자 정의 가능한 매개변수를 사용하여 JQL 검색 쿼리를 실행합니다.

매개변수 :

  • jql (필수): JQL 쿼리 문자열

  • nextPageToken : 페이지 매김을 위한 토큰

  • maxResults : 반환할 최대 결과 수

  • fields : 포함할 필드 이름 배열

  • expand : 포함할 추가 정보

예 :

{
  "jql": "project = 'MyProject' AND status = 'In Progress'",
  "maxResults": 10,
  "fields": ["summary", "status", "assignee"]
}

2. 이슈 가져오기( get_issue )

특정 문제에 대한 자세한 정보를 검색합니다.

매개변수 :

  • issueIdOrKey (필수): 발급 ID 또는 키

  • fields : 포함할 필드 이름 배열

  • expand : 포함할 추가 정보

  • properties : 포함할 속성 배열

  • failFast : 오류 발생 시 빠르게 실패할지 여부

예 :

{
  "issueIdOrKey": "PROJ-123",
  "fields": ["summary", "description", "status"],
  "expand": "renderedFields,names"
}

개발

구성

서버를 실행하기 전에 환경 변수를 설정하세요. 루트 디렉터리에 .env 파일을 만드세요.

JIRA_INSTANCE_URL=https://your-instance.atlassian.net
JIRA_USER_EMAIL=your-email@company.com
JIRA_API_KEY=your-api-token

값을 다음으로 바꾸세요:

  • 실제 JIRA 인스턴스 URL

  • JIRA 계정과 연결된 이메일 주소

  • JIRA API 토큰(Atlassian 계정 설정에서 생성 가능)

설치

Smithery를 통해 설치

Smithery를 통해 Claude Desktop에 JIRA를 자동으로 설치하는 방법:

npx -y @smithery/cli install jira-mcp --client claude

수동 설치

  1. 이 저장소를 복제하세요:

git clone <repository-url>
cd jira-mcp
  1. 종속성 설치:

npm install

MCP Inspector로 실행

테스트 및 개발을 위해 MCP Inspector를 사용할 수 있습니다.

npm run inspect

새로운 도구 추가

새로운 도구를 추가하려면 index.js 에서 ListToolsRequestSchema 핸들러를 수정하세요.

server.setRequestHandler(ListToolsRequestSchema, async () => {
  return {
    tools: [
      // Existing tools...
      {
        name: "your_new_tool",
        description: "Description of your new tool",
        inputSchema: {
          // Define input schema...
        }
      }
    ]
  };
});

그런 다음 CallToolRequestSchema 핸들러에서 도구를 구현합니다.

특허

MIT

기여하다

기여를 환영합니다! PR을 제출해 주세요.

Available Tools

2 tools
get_issueC

Retrieve details about an issue by its ID or key.

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdOrKeyYesID or key of the issue
fieldsNoFields to include in the response
expandNoAdditional information to include in the response
propertiesNoProperties to include in the response
failFastNoFail quickly on errors

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 states the tool retrieves details, implying a read-only operation, but doesn't mention error handling (e.g., what happens if the ID/key is invalid), rate limits, authentication needs, or response format. This leaves significant gaps for an agent to understand how to use it 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, clear sentence that efficiently conveys the core purpose without any unnecessary words. It's front-loaded and easy to parse, making it highly concise and well-structured for quick understanding.

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 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what details are retrieved, how to handle optional parameters like 'fields' or 'expand', or what the response looks like. For a tool with multiple parameters and no structured output information, more context is needed to guide 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, so parameters are well-documented in the schema itself. The description adds no additional meaning beyond implying retrieval by 'ID or key', which aligns with the 'issueIdOrKey' parameter but doesn't elaborate on usage. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.

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 with a specific verb ('Retrieve') and resource ('details about an issue'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from the sibling tool 'jql_search', which likely serves a different purpose (searching vs. retrieving by ID/key).

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 'jql_search'. It mentions retrieving by 'ID or key', which implies a specific use case, but doesn't clarify when to choose this over a search tool or address any prerequisites or exclusions.

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. 2 tool updates
    • First observedget_issue
    • First observedjql_search

TDQS

B3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: get_issue retrieves a single issue by ID/key, while jql_search performs broader queries using JQL. There is no overlap or ambiguity between them, as they serve different use cases (specific lookup vs. flexible search).

Naming Consistency5/5

Both tools follow a consistent snake_case naming pattern with clear verb_noun structure: get_issue and jql_search. The naming is predictable and readable, with no deviations or mixed conventions.

Tool Count2/5

With only 2 tools, this server feels severely under-scoped for a Jira integration. A typical Jira MCP would need more operations like create_issue, update_issue, or list_projects to cover basic workflows. The current set is too thin for meaningful agent interaction.

Completeness2/5

The tool surface is significantly incomplete for Jira's domain. While get_issue and jql_search provide read/search capabilities, there are major gaps in CRUD operations (no create, update, or delete) and missing lifecycle management (e.g., transitions, comments). This will cause agent failures in common scenarios.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers