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 ライブラリ呼び出しを適切に処理します。
📋 前提条件
- Python 3.10 以降。
- パッケージ管理には
uv
(推奨) またはpip
します。 - Jira インスタンス (クラウド、サーバー、またはデータセンター) へのアクセス。
- Jira API トークン (サーバー/DC の個人アクセス トークン)。
- FastMCP CLIがインストールされ、システムの PATH で利用可能になります。
⚙️ セットアップ
- リポジトリをクローンします (該当する場合)。
- 依存関係のインストール:
uv
の使用をお勧めします:あるいは、pip
を使用します。 .env
ファイルの作成:jira_reporter_server.py
と同じディレクトリに.env
という名前のファイルを作成します。Jira の接続情報を追加します。- 安全:
.env
ファイルをバージョン管理にコミットしないでください。.gitignoreファイルに.env``.gitignore
追加してください。- Jira Cloud: Atlassian アカウント設定から API トークンを生成します: API トークンの管理。
- Jira Server/Data Center: Jira ユーザー プロファイル設定から個人アクセス トークン (PAT) を生成します: 個人アクセス トークンの使用。
- 安全:
▶️ サーバーの実行(スタンドアロン)
テストやその他の目的のためにサーバーを独立して実行できます。
- Python で直接:
- FastMCP CLI の使用:SSE で実行するには (例: リモート アクセス用):
🖥️ Claude Desktop での使用
このサーバーを Claude Desktop アプリケーション内のツールとして使用できるようにするには、次の手順を実行します。
- **前提条件の確認:**以下の構成では
fastmcp
コマンドが使用されるため、fastmcp
がインストールされ、システムの PATH でアクセス可能であることを確認してください。 - Claude Configファイルの場所:
claude_desktop_config.json
ファイルを見つけます。ファイルの場所はオペレーティングシステムによって異なります。- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%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/
)
- macOS:
- **構成ファイルを編集します。**テキスト エディターで
claude_desktop_config.json
を開きます。 - サーバー設定の追加: JSONファイル内の
"mcpServers"
オブジェクトを探します(存在しない場合は、空のオブジェクト{}
として作成します)。mcpServers 内に以下のエントリを追加します。"path/to/your/jira_reporter_server.py"``mcpServers
への絶対パスに置き換えてください。"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_query | string | いいえ | updated >= -7d ORDER BY updated DESC | オプションのJQLクエリ。省略した場合はデフォルトが使用されます。 |
project_key | string | いいえ | None | 検索範囲を制限するためのオプションの Jira プロジェクト キー (例: 「PROJ」) ( project = 'KEY' AND ... として追加されます)。 |
max_results | integer | いいえ | 50 | 生のレポート データに含める問題の最大数。 |
summarize | boolean | いいえ | false | true 場合、サーバーはctx.sample() を介してクライアントのLLM からサマリーを要求します。 |
📦 サーバーの依存関係
FastMCP
コンストラクタにはdependencies=["jira"]
が含まれています。これは、 fastmcp install
などのツールに、分離された環境を作成する際にこのサーバーが正しく機能するためにjira
ライブラリが必要であることを伝えます。
🤝 貢献する
貢献を歓迎します!問題やプルリクエストをお気軽にご提出ください。
📄 ライセンス
MITライセンス
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Jira インスタンスに接続して、課題アクティビティに基づいて毎週レポートを生成し、カスタム JQL クエリとオプションの LLM 要約をサポートします。
Related MCP Servers
- AsecurityAlicenseAqualityProvides capabilities for searching Jira issues using JQL and retrieving detailed issue information.Last updated -215217JavaScriptMIT License
- AsecurityAlicenseAqualityProvides integration with Jira's REST API, allowing AI assistants to manage Jira issues programmatically.Last updated -68JavaScriptMIT License
- -securityFlicense-qualityA server implementation that allows AI models to interact with Jira through the Model Context Protocol, enabling tasks like JQL searches and retrieving issue details.Last updated -Python
- AsecurityAlicenseAqualityA TypeScript-based server that enables interaction with Jira, providing tools to execute JQL queries, manage tickets, list projects and statuses through natural language.Last updated -1120JavaScriptMIT License