mcpField
J
JIRA MCP Server 🚀

JIRA MCP Server 🚀

ロヌカル
github.com/karolswdevバヌゞョン管理080 週間前に曎新

JIRA MCP Server 🚀 に぀いお

JIRA MCP Serverは、JIRA Cloud REST APIを通じおJIRAプロゞェクトを操䜜するGo補のMCPサヌバヌです。MCPクラむアントから課題の䜜成、怜玢、取埗や、Epic内の課題取埗ができ、環境倉数たたは蚭定ファむルで構成できたす。

䞻な機胜

  1. 01JIRA課題の䜜成
  2. 02JQLによる課題怜玢
  3. 03課題詳现の取埗
  4. 04Epic内の課題取埗
  5. 05環境倉数ず蚭定ファむルで構成

掻甚シヌン

  1. 01MCPクラむアントからJIRA課題を䜜成
  2. 02JQLでプロゞェクトの課題を怜玢
  3. 03課題たたはEpicに属する課題を確認

MCP 察応

課題の䜜成、JQL怜玢、課題詳现の取埗、Epic内の課題取埗などのJIRA操䜜をMCPむンタヌフェヌスで公開したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

JIRA MCP Server 🚀

Go CI Go Report Card codecov Go Version License: MIT

JIRA Cloud REST API ず連携する Model Context ProtocolMCPを実装した柔軟な Go サヌバヌです。LLMツヌルず JIRA プロゞェクトをシヌムレスに統合できたす。

これは䜕ですか 🀔

このプロゞェクトは、Model Context Protocol特定の AI アシスタントや開発ツヌルなどを利甚するシステムず、匷力な JIRA Cloud API の橋枡しをしたす。暙準化された MCP むンタヌフェヌスを通じお、䞀般的な JIRA 操䜜課題の䜜成、怜玢、詳现の取埗をプログラムから実行できたす。これにより、JIRA API を盎接呌び出す耇雑さを抜象化したす。

✹ 特長

  • MCP むンタヌフェヌス 暙準の MCP ゚ンドポむントを通じお JIRA 操䜜を提䟛したす。
  • JIRA Cloud 連携 課題の䜜成、JQL による怜玢、課題の詳现取埗、゚ピック内の課題の取埗ができたす。
  • 柔軟な蚭定 Viper を䜿甚し、環境倉数、蚭定ファむル、たたはデフォルト倀から蚭定できたす。
  • Docker サポヌト Docker ず Docker Compose を䜿甚したコンテナヌデプロむに察応しおいたす。
  • 堅牢なテスト 包括的な単䜓テストず統合テストが含たれおいたす。
  • 構造化ログ slog を䜿甚しお、明確な構造化ログを出力したす。
  • 䟝存性泚入 wire を䜿甚した䟝存性泚入など、クリヌンアヌキテクチャの原則に基づいお構築されおいたす。

前提条件

  • Go 1.20+ロヌカルでのビルド実行甚
  • Docker ず Docker Compose任意、コンテナヌデプロむ甚
  • JIRA Cloud むンスタンス
  • ナヌザヌのメヌルアドレスに玐づいた JIRA API トヌクン

🚀 はじめに

  1. リポゞトリをクロヌンしたす

    git clone https://github.com/karolswdev/jira-mcp-server.git # TODO: Replace with actual URL
    cd jira-mcp-server # e.g., cd jira-mcp
    
  2. サヌバヌディレクトリに移動したす

    cd jira-mcp-server
    

    ➡ 重芁 以降のコマンドmake ...、go run ...、docker ...は、jira-mcp-server/ ディレクトリ内で実行しおください。

  3. サヌバヌを蚭定したす 必須の環境倉数を蚭定するか、config.yaml を䜜成したす。詳しくは、以䞋の蚭定セクションをご芧ください。

  4. サヌバヌを実行したす 詳しくは、以䞋のサヌバヌの実行セクションをご芧ください。

⚙ 蚭定

蚭定はViperを䜿甚しお管理され、以䞋の゜ヌスから優先順䜍の高い順に読み蟌たれたす。

  1. 環境倉数 JIRA_MCP_ を接頭蟞ずしお指定したす䟋JIRA_MCP_JIRA_URL。最優先です。
  2. 蚭定ファむル jira-mcp-server/ ディレクトリ内にある config.yamlたたは .json、.toml。構造ずすべおのオプションに぀いおは、config.yaml.exampleを参照しおください。
  3. デフォルト倀 アプリケヌションコヌド内で定矩されおいるデフォルト倀です。

必須の蚭定

以䞋の倀は、環境倉数たたは蚭定ファむルで指定する必芁がありたす。

  • JIRA_MCP_JIRA_URLJIRA Cloud むンスタンスのベヌス URL䟋https://your-domain.atlassian.net。
  • JIRA_MCP_JIRA_USER_EMAILAPI トヌクンに関連付けられた JIRA ナヌザヌのメヌルアドレス。
  • JIRA_MCP_JIRA_API_TOKENJIRA API トヌクンです。パスワヌドず同様に取り扱っおください

任意の蚭定

  • JIRA_MCP_PORTサヌバヌがリッスンするポヌトデフォルト8080。
  • JIRA_MCP_LOG_LEVELログレベルdebug、info、warn、errorデフォルトinfo。
  • JIRA_MCP_EPIC_LINK_FIELD_IDJIRA むンスタンスの「Epic Link」のカスタムフィヌルド ID䟋customfield_10014。/jira_epic/{epicKey}/issues ゚ンドポむントを正しく動䜜させるために必須です。この ID は JIRA API たたは管理蚭定から確認できたす。

䟋環境倉数

export JIRA_MCP_JIRA_URL="https://your-domain.atlassian.net"
export JIRA_MCP_JIRA_USER_EMAIL="[email protected]"
export JIRA_MCP_JIRA_API_TOKEN="your-api-token-secret"
export JIRA_MCP_PORT="9000" # Optional
export JIRA_MCP_EPIC_LINK_FIELD_ID="customfield_10014" # Optional but needed for Epic endpoint

▶ サヌバヌの実行

jira-mcp-server/ ディレクトリ内に移動し、必須の蚭定が枈んでいるこずを確認しおください。

オプション 1盎接実行Go を䜿甚

# Ensure required JIRA_MCP_... environment variables are set
make run
# Or: go run ./cmd/main.go

サヌバヌは、蚭定されたポヌトデフォルトは 8080でリッスンを開始したす。

オプション 2Docker で実行

  1. Docker むメヌゞをビルドしたす
    make docker-build
    
  2. .env ファむルを䜜成したす jira-mcp-server/ ディレクトリ内に .env ずいう名前のファむルを䜜成し、JIRA_MCP_ 環境倉数を蚘述したす1 行に 1 ぀。䟋JIRA_MCP_JIRA_URL=...。
    # .env file content example
    JIRA_MCP_JIRA_URL=https://your-domain.atlassian.net
    [email protected]
    JIRA_MCP_JIRA_API_TOKEN=your-api-token-secret
    JIRA_MCP_PORT=8080 # Optional, ensure it matches docker-compose.yml mapping if changed
    JIRA_MCP_EPIC_LINK_FIELD_ID=customfield_10014 # Optional
    
  3. Docker Compose を䜿甚しお実行したす
    make docker-run
    # This command uses docker-compose up -d
    
    コンテナを停止するには、docker-compose down を実行したす。

🔌 API ゚ンドポむント

サヌバヌは、以䞋の䞻芁な゚ンドポむントを公開したす。

  • POST /create_jira_issue新しい JIRA 課題を䜜成したす。
  • POST /search_jira_issuesJQL を䜿甚しお JIRA 課題を怜玢したす。
  • GET /jira_issue/{issueKey}指定した JIRA 課題の詳现を取埗したす。
  • GET /jira_epic/{epicKey}/issues指定した゚ピックに属するすべおの課題を取埗したすJIRA_MCP_EPIC_LINK_FIELD_ID の蚭定が必芁です。

リク゚ストずレスポンスの䟋

各゚ンドポむントの詳现なリク゚ストずレスポンスの䟋に぀いおは、以䞋を参照しおください。

➡ API_EXAMPLES.md

✅ テスト

このプロゞェクトには、ナニットテストず統合テストの䞡方が含たれおいたす。jira-mcp-server/ ディレクトリから以䞋のコマンドを実行しおください。

  • ナニットテストを実行 各コンポヌネントを個別にテストしたすJIRA API をモックしたす。
    make test
    
  • 統合テストを実行 モック JIRA サヌバヌを䜿甚しお HTTP API レむダヌをテストしたす。
    make test-integration
    
  • ナニットテストのカバレッゞを衚瀺 coverage.html を生成しおブラりザヌで開きたす。
    make coverage
    
  • 統合テストのカバレッゞを衚瀺 coverage-integration.html を生成しおブラりザヌで開きたす。
    make coverage-integration
    

🏗 アヌキテクチャ

このサヌバヌはクリヌンアヌキテクチャの原則に埓い、䟝存性泚入wire、構造化ログslog、関心事の階局的な分離ハンドラヌ、JIRA クラむアント、コアロゞックを採甚しおいたす。

詳しい説明に぀いおは、**アヌキテクチャドキュメント**をご芧ください。

🀝 貢献

貢献を歓迎しおおり、倧倉感謝しおいたすバグの報告、機胜の提案、ドキュメントの改善、プルリク゚ストの提出など、皆さたの協力がこのプロゞェクトをより良いものにしたす。

始める前に、**貢献ガむドラむン**をお読みください。

たた、このプロゞェクトには**コントリビュヌタヌ行動芏範**が適甚されおいるこずにご留意ください。このプロゞェクトに参加するこずで、その芏玄に埓うこずに同意したものずみなされたす。

📜 ラむセンス

このプロゞェクトは MIT ラむセンスの䞋でラむセンスされおいたす。詳现に぀いおは、**LICENSE**ファむルをご芧ください。

⚠ セキュリティに関する泚意

JIRA API トヌクンやその他の機密性の高い認蚌情報を、バヌゞョン管理䞋のコヌドや蚭定ファむルに盎接コミットしないでください。 特に本番環境ぞのデプロむでは、環境倉数たたは安党なシヌクレット管理システムを䜿甚しおください。Docker で .env ファむルを䜿甚する堎合は、そのファむルが .gitignore に含たれおいるこずを確認しおください。

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。