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インスタンスのURLJIRA_USERNAME/CONFLUENCE_USERNAME: メールアドレスJIRA_API_TOKEN/CONFLUENCE_API_TOKEN: APIトークン(こちらから生成)JIRA_CLOUD/CONFLUENCE_CLOUD: クラウド版の場合はtrue、サーバー版の場合はfalse
使用方法
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.shとrun_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