Skip to main content
Glama

Jira & Confluence MCP Servers

PythonベースのMCP(Model Context Protocol)サーバーで、JiraとConfluenceのAPIと対話できます。

セットアップ

1. 依存関係のインストール

uv sync

2. 環境変数の設定

.env.example.envにコピーして、認証情報を設定します:

cp .env.example .env

以下の情報を設定してください:

  • JIRA_URL / CONFLUENCE_URL: AtlassianインスタンスのURL

  • JIRA_USERNAME / CONFLUENCE_USERNAME: メールアドレス

  • JIRA_API_TOKEN / CONFLUENCE_API_TOKEN: APIトークン(こちらから生成)

  • JIRA_CLOUD / CONFLUENCE_CLOUD: クラウド版の場合はtrue、サーバー版の場合はfalse

Related MCP server: MCP Atlassian

使用方法

Jira MCPサーバーの起動

uv run python src/jira_server.py

Confluence MCPサーバーの起動

uv run python src/confluence_server.py

利用可能なツール

Jira MCP

  • jira_search_issues: JQLを使用してイシューを検索

  • jira_get_issue: 特定のイシューの詳細を取得

  • jira_create_issue: 新しいイシューを作成

  • jira_update_issue: 既存のイシューを更新

  • jira_add_comment: イシューにコメントを追加

  • jira_transition_issue: イシューのステータスを変更

  • jira_get_projects: プロジェクト一覧を取得

Confluence MCP

  • confluence_search_content: CQLを使用してコンテンツを検索

  • confluence_get_page: ページの詳細を取得

  • confluence_create_page: 新しいページを作成

  • confluence_update_page: 既存のページを更新

  • confluence_delete_page: ページを削除

  • confluence_get_spaces: スペース一覧を取得

  • confluence_get_page_children: 子ページを取得

  • confluence_add_attachment: ページに添付ファイルを追加

Claude Desktopでの設定

Claude Desktopの設定ファイル(~/Library/Application Support/Claude/claude_desktop_config.json)に以下を追加:

{
  "mcpServers": {
    "jira": {
      "command": "/path/to/jira-confluence-mcp/run_jira.sh",
      "args": [],
      "env": {
        "JIRA_URL": "https://your-domain.atlassian.net",
        "JIRA_USERNAME": "your-email@example.com",
        "JIRA_API_TOKEN": "your-api-token",
        "JIRA_CLOUD": "true"
      }
    },
    "confluence": {
      "command": "/path/to/jira-confluence-mcp/run_confluence.sh",
      "args": [],
      "env": {
        "CONFLUENCE_URL": "https://your-domain.atlassian.net",
        "CONFLUENCE_USERNAME": "your-email@example.com",
        "CONFLUENCE_API_TOKEN": "your-api-token",
        "CONFLUENCE_CLOUD": "true"
      }
    }
  }
}

注意:

  • /path/to/jira-confluence-mcp/の部分は実際のプロジェクトパスに置き換えてください

  • APIトークンはAtlassianアカウント設定から生成できます

  • run_jira.shrun_confluence.shは、プロジェクトルートにあるシェルスクリプトです

使用例

Jira

# イシューの検索
await jira_search_issues({"jql": "project = PROJ AND status = 'In Progress'", "max_results": 10})

# イシューの作成
await jira_create_issue({
    "project_key": "PROJ",
    "summary": "新しいタスク",
    "description": "タスクの説明",
    "issue_type": "Task",
    "priority": "Medium"
})

# イシューのステータス変更
await jira_transition_issue({"issue_key": "PROJ-123", "status": "Done"})

Confluence

# ページの検索
await confluence_search_content({"cql": "space = DEV AND title ~ 'API'"})

# ページの作成
await confluence_create_page({
    "space_key": "DEV",
    "title": "新しいドキュメント",
    "content": "<p>ページの内容</p>"
})

# ページの更新
await confluence_update_page({
    "page_id": "123456",
    "content": "<p>更新された内容</p>",
    "version_comment": "APIドキュメントを更新"
})

ライセンス

MIT

Available Tools

7 tools
jira_add_commentC

Add a comment to a Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_keyYesIssue key (e.g., PROJ-123)
commentYesComment text

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 full burden but only states the basic action without behavioral details. It doesn't disclose if this requires specific permissions, rate limits, whether comments are editable/deletable, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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 with zero wasted words—it directly states the tool's purpose without redundancy or fluff. This makes it highly efficient and front-loaded for quick comprehension.

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 this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks crucial context like authentication needs, error handling, return values, or how it differs from sibling tools, leaving the agent under-informed for effective use.

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 both parameters ('issue_key' and 'comment') clearly documented in the schema. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints, so it meets the baseline for adequate but unenhanced 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 ('Add a comment') and target resource ('to a Jira issue'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its siblings like 'jira_update_issue' or 'jira_transition_issue' which might also involve modifying issues, missing an opportunity for clearer distinction.

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 doesn't mention prerequisites (e.g., needing issue access), exclusions (e.g., not for private comments), or comparisons to siblings like 'jira_update_issue' for other modifications, leaving the agent without contextual usage cues.

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

jira_create_issueC

Create a new Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
project_keyYesProject key
summaryYesIssue summary
descriptionNoIssue description
issue_typeNoIssue type (e.g., Bug, Task, Story)Task
priorityNoPriority (e.g., High, Medium, Low)Medium
assigneeNoAssignee username

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 'Create a new Jira issue,' implying a write operation, but fails to mention critical aspects such as required permissions, whether the creation is idempotent, error handling, or what happens upon success (e.g., returns an issue ID). This is a significant gap for a mutation tool with zero 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?

The description is a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly. Every word earns its place, adhering to best practices for conciseness.

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 creating an issue (a mutation operation) with no annotations and no output schema, the description is incomplete. It doesn't address behavioral traits like authentication needs, error cases, or what the tool returns (e.g., issue key or ID). For a tool with 6 parameters and significant implications, more context is needed to guide the agent 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%, with all parameters well-documented in the input schema (e.g., project_key, summary, description). The description adds no additional meaning beyond the schema, such as explaining parameter interactions or constraints. According to the rules, with high schema coverage (>80%), the baseline is 3 even without param info in the description.

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 ('Create') and resource ('new Jira issue'), making the purpose immediately understandable. It distinguishes from siblings like jira_get_issue or jira_update_issue by specifying creation rather than retrieval or modification. However, it doesn't explicitly differentiate from jira_add_comment or jira_transition_issue in terms of creating vs. adding or transitioning, keeping it from a perfect 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. It doesn't mention prerequisites (e.g., needing a valid project key), exclusions, or comparisons to siblings like jira_update_issue for modifying existing issues. This lack of context leaves the agent to infer usage based on tool names alone.

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

jira_get_issueC

Get details of a specific Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_keyYesIssue key (e.g., PROJ-123)

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 it 'gets details' but doesn't specify what details are returned, whether it's a read-only operation, if authentication is required, or any rate limits. This leaves significant gaps for a tool that likely interacts with an external API.

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 purpose without any fluff. It's appropriately sized and front-loaded, making it easy 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 lack of annotations and output schema, the description is incomplete. It doesn't explain what details are returned, the response format, or any behavioral traits like error handling. For a tool that likely fetches data from Jira, this leaves too much unspecified for effective agent use.

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% coverage with a clear description for the 'issue_key' parameter. The description adds no additional parameter information beyond what the schema provides, such as format examples or constraints. Since schema coverage is high, the baseline score of 3 is appropriate.

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 details') and resource ('specific Jira issue'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'jira_search_issues' or 'jira_get_projects' beyond the 'specific' qualifier, which is somewhat implied but not explicit.

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 doesn't mention that this is for retrieving a single issue by key, as opposed to 'jira_search_issues' for multiple issues or 'jira_get_projects' for project data. There are no exclusions or prerequisites stated.

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

jira_get_projectsA

Get list of Jira projects

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, so the description must carry the full burden. While the verb 'Get' implies a read-only operation, there is no explicit disclosure of safety, authentication needs, or scope (e.g., 'Does not modify any data'). The description lacks behavioral details beyond the implied read nature.

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 extremely concise (4 words), front-loading the core action and resource. Every word adds value, and no information is redundant or extraneous.

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 no parameters, output schema, or annotations, the description is minimal. It tells what the tool does but does not specify the format of the returned list, any default behavior, or scope (e.g., 'all projects accessible'). For a simple tool, this may be sufficient, but additional context could improve completeness.

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

Parameters4/5

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

The tool has no parameters, so the description cannot add parameter-specific meaning. Per guidelines, zero parameters warrants a baseline of 4. The description does not contradict or mislead regarding parameters.

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

Purpose5/5

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

The description 'Get list of Jira projects' clearly states the action (get) and resource (list of Jira projects), leaving no ambiguity. It distinguishes itself from sibling tools like jira_get_issue or jira_get_project_versions by specifying the resource type.

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 is provided on when to use this tool vs alternatives. There is no mention of context, prerequisites, or exclusions, leaving the agent to infer usage from the tool name alone.

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

jira_search_issuesC

Search for Jira issues using JQL

ParametersJSON Schema
NameRequiredDescriptionDefault
jqlYesJQL query string
max_resultsNoMaximum number of results to return

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but provides minimal behavioral insight. It doesn't disclose whether this is a read-only operation, its rate limits, authentication needs, pagination behavior, or what the return format looks like. The description only states what it does, not 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 with zero waste. It's front-loaded with the core action and resource, making it immediately clear without unnecessary elaboration.

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 search tool with no annotations and no output schema, the description is insufficient. It doesn't explain return values, error handling, or behavioral constraints, leaving significant gaps for an AI agent to understand how to use it 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 both parameters. The description adds no additional meaning beyond implying JQL usage, which is already covered in the schema's description of the 'jql' parameter. 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 ('Search') and resource ('Jira issues') with the method ('using JQL'), making the purpose immediately understandable. It doesn't explicitly differentiate from siblings like 'jira_get_issue' or 'jira_get_projects', but the JQL focus implies a more flexible querying approach.

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 is provided on when to use this tool versus alternatives. It doesn't mention scenarios where this is preferable to 'jira_get_issue' (for single issues) or 'jira_get_projects' (for project lists), nor does it specify prerequisites like JQL knowledge or when not to use it.

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

jira_transition_issueC

Transition a Jira issue to a different status

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_keyYesIssue key (e.g., PROJ-123)
statusYesTarget status (e.g., In Progress, Done)

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 the action ('Transition') but doesn't explain what this entails—e.g., whether it requires specific permissions, if it's reversible, what happens to workflow steps, or if there are side effects like notifications. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

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 purpose without any wasted words. It's front-loaded with the core action, making it easy to parse 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 complexity of a mutation tool (changing issue status in Jira) with no annotations and no output schema, the description is incomplete. It lacks crucial context like permission requirements, workflow implications, error conditions, or what the tool returns. This leaves significant gaps for an AI agent to use it 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?

The schema description coverage is 100%, with both parameters ('issue_key' and 'status') clearly documented in the input schema. The description adds no additional meaning beyond what the schema provides, such as examples of valid statuses or constraints on issue keys. 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 verb ('Transition') and resource ('a Jira issue') with the specific action ('to a different status'), making the purpose immediately understandable. It doesn't explicitly distinguish from sibling tools like 'jira_update_issue' which might also change status, but the verb 'transition' is specific enough for basic 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 like 'jira_update_issue' (which might handle status changes differently) or 'jira_get_issue' (for checking current status). There's no mention of prerequisites, such as needing valid issue keys or available status transitions, leaving usage context entirely implicit.

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

jira_update_issueC

Update an existing Jira issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issue_keyYesIssue key (e.g., PROJ-123)
fieldsYesFields to update

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 full burden but only states it's an update operation. It doesn't disclose behavioral traits like required permissions, whether updates are reversible, rate limits, error conditions, or what happens to unspecified fields. For a mutation tool with zero annotation coverage, this leaves critical 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 with zero wasted words. It's appropriately sized and front-loaded with the core purpose. Every word earns its place.

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 this is a mutation tool with no annotations, no output schema, and complex nested parameters, the description is inadequate. It should explain what the tool returns, error handling, permissions needed, and how it differs from sibling tools. The current description leaves too many contextual gaps.

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 documents both parameters thoroughly. The description adds no additional meaning about parameters beyond what's in the schema (e.g., format examples, field constraints, or update behavior). Baseline 3 is appropriate when 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 verb ('Update') and resource ('an existing Jira issue'), making the purpose immediately understandable. However, it doesn't differentiate this tool from its sibling 'jira_transition_issue' which also modifies issues, missing an opportunity for clearer distinction.

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. There's no mention of prerequisites (e.g., needing issue_key), comparison with 'jira_transition_issue' for workflow changes, or when to use 'jira_create_issue' instead. The agent receives no usage context.

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. 7 tool updates
    • First observedjira_add_comment
    • First observedjira_create_issue
    • First observedjira_get_issue
    • First observedjira_get_projects
    • First observedjira_search_issues
    • First observedjira_transition_issue
    • First observedjira_update_issue

TDQS

A3.5/5.0

Scored across 7 tools

Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity. Each targets a specific Jira action (e.g., create, get, update, search, transition, add comment, list projects) with no overlap in functionality. The descriptions make it easy to differentiate between tools like jira_update_issue and jira_transition_issue.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with a 'jira_' prefix (e.g., jira_create_issue, jira_get_issue). The naming is predictable and readable throughout, using snake_case uniformly without any deviations or mixed conventions.

Tool Count5/5

The 7 tools are well-scoped for a Jira-focused server, covering core operations without being excessive. Each tool earns its place by addressing essential Jira workflows (e.g., issue lifecycle, project management, searching). This count is appropriate for the domain, avoiding both thinness and bloat.

Completeness4/5

The tool set provides strong coverage for Jira operations, including CRUD for issues (create, get, update), search, transitions, comments, and project listing. A minor gap is the lack of tools for Confluence (implied by the server name), but for Jira alone, it's nearly complete with only small omissions like deleting issues or managing users.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

Appeared in Searches