Jira Weekly Reporter MCP サーバー
このプロジェクトは、Jiraインスタンス(クラウドまたはサーバー/データセンター)に接続し、課題のアクティビティに基づいて週次レポートを生成するFastMCPサーバーを提供します。Jiraとの連携にはpycontribs-jiraライブラリを活用し、オプションで接続クライアントの大規模言語モデル(LLM)を使用して、生成されたレポートを要約することもできます。
✨ 特徴
Jira 接続:
.envファイルに保存されている API トークンを使用して Jira に安全に接続します。**MCP ツール:**モデル コンテキスト プロトコル経由でアクセス可能な
generate_jira_reportツールを公開します。柔軟なレポート:
デフォルトでは、過去 7 日間に更新された問題が報告されます。
カスタム JQL クエリを指定できます。
特定の Jira プロジェクト キーでレポートをフィルターできます。
返される結果の数を制限します (構成可能)。
(オプション) LLM 要約: クライアントのLLM (
ctx.sample()経由) を使用して、レポートの簡潔な要約を提供できます。非同期処理:
asyncio.to_threadを使用して、非同期 FastMCP サーバー内で同期 Jira ライブラリ呼び出しを適切に処理します。
Related MCP server: mcp-jira-server
📋 前提条件
Python 3.10 以降。
パッケージ管理には
uv(推奨) またはpipします。Jira インスタンス (クラウド、サーバー、またはデータセンター) へのアクセス。
Jira API トークン (サーバー/DC の個人アクセス トークン)。
FastMCP CLIがインストールされ、システムの PATH で利用可能になります。
⚙️ セットアップ
リポジトリをクローンします (該当する場合)。
git clone https://github.com/Jongryong/jira_reporter.git cd jira_reporter依存関係のインストール:
uvの使用をお勧めします:uv pip install fastmcp "jira[cli]" python-dotenv httpx anyioあるいは、
pipを使用します。pip install fastmcp "jira[cli]" python-dotenv httpx anyio.envjira_reporter_server.pyと同じディレクトリに.envという名前のファイルを作成します。Jira の接続情報を追加します。# .env JIRA_URL=https://your-domain.atlassian.net # Your Jira Cloud URL or Self-Hosted URL JIRA_USERNAME=your_email@example.com # Your Jira login email JIRA_API_TOKEN=your_api_token_or_pat # Your generated API Token or PAT安全:
.envファイルに.env``.gitignore追加してください。Jira Cloud: Atlassian アカウント設定から API トークンを生成します: API トークンの管理。
Jira Server/Data Center: Jira ユーザー プロファイル設定から個人アクセス トークン (PAT) を生成します: 個人アクセス トークンの使用。
▶️ サーバーの実行(スタンドアロン)
テストやその他の目的のためにサーバーを独立して実行できます。
Python で直接:
python jira_reporter_server.pyFastMCP CLI の使用:
fastmcp run jira_reporter_server.pySSE で実行するには (例: リモート アクセス用):
fastmcp run jira_reporter_server.py --transport sse --port 8001
🖥️ Claude Desktop での使用
このサーバーを Claude Desktop アプリケーション内のツールとして使用できるようにするには、次の手順を実行します。
**前提条件の確認:**以下の構成では
fastmcpコマンドが使用されるため、fastmcpがインストールされ、システムの PATH でアクセス可能であることを確認してください。Claude Configファイルの場所:
claude_desktop_config.jsonファイルを見つけます。ファイルの場所はオペレーティングシステムによって異なります。macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json(通常はC:\Users\<YourUsername>\AppData\Roaming\Claude\claude_desktop_config.json)Linux:
~/.config/Claude/claude_desktop_config.json(または$XDG_CONFIG_HOME/Claude/)
**構成ファイルを編集します。**テキスト エディターで
claude_desktop_config.jsonを開きます。サーバー設定の追加: JSONファイル内の
"mcpServers"オブジェクトを探します(存在しない場合は、空のオブジェクト{}として作成します)。mcpServers 内に以下のエントリを追加します。"path/to/your/jira_reporter_server.py"``mcpServersへの絶対パスに置き換えてください。{ "mcpServers": { // ... other servers might be here ... "jira_report": { "command": "fastmcp", "args": [ "run", "/path/to/your/jira_reporter_server.py" // <-- IMPORTANT: Use the full, absolute path here ] } // ... other servers might be here ... } // ... rest of your Claude config ... }"jira_report": これはClaudeが使用する内部名です。必要に応じて変更できます。"command": "fastmcp": Claude にfastmcpコマンドライン ツールを使用するように指示します。"args": [...]: Claude にfastmcp run /path/to/your/jira_reporter_server.py実行するように指示します。
保存して再起動:
claude_desktop_config.jsonファイルを保存し、Claude Desktop アプリケーションを再起動します。ツールの呼び出し: Pythonスクリプトで定義されたサーバー名(
Jira Weekly Reporter)を指定することで、Claudeでツールを使用できるようになります。例:@Jira Weekly Reporter generate jira report for project MYPROJ and summarize it
🛠️ MCP ツールの詳細
ツール名:
generate_jira_report説明: JQLクエリに基づいてJiraの課題レポートを生成します(デフォルトは最近更新された課題)。オプションで、クライアントのLLMを使用してレポートを要約します。
パラメータ:
パラメータ | タイプ | 必須 | デフォルト | 説明 |
|
| いいえ |
| オプションのJQLクエリ。省略した場合はデフォルトが使用されます。 |
|
| いいえ |
| 検索範囲を制限するためのオプションの Jira プロジェクト キー (例: 「PROJ」) (
として追加されます)。 |
|
| いいえ |
| 生のレポート データに含める問題の最大数。 |
|
| いいえ |
|
場合、サーバーは
を介して クライアントの LLM からサマリーを要求します。 |
📦 サーバーの依存関係
FastMCPコンストラクタにはdependencies=["jira"]が含まれています。これは、 fastmcp installなどのツールに、分離された環境を作成する際にこのサーバーが正しく機能するためにjiraライブラリが必要であることを伝えます。
🤝 貢献する
貢献を歓迎します!問題やプルリクエストをお気軽にご提出ください。
📄 ライセンス
MITライセンス