OpenLigaDbLlm について
OpenLigaDbLlmは、OpenLigaDb API用のMCPサーバーとチャットクライアントを含む.NETのサンプルプロジェクトです。MCPツールの利用例に加え、OpenTelemetry Collector、Loki、GrafanaによるDocker Compose監視環境も備えています。
主な機能
- 01.NET製MCPサーバーとチャットクライアント
- 02ツール経由でOpenLigaDbを検索
- 03利用可能なリーグと絞り込み結果を取得
- 04リーグとシーズンごとのチームを取得
- 05OpenTelemetry監視設定を同梱
活用シーン
- 01チャットクライアントからMCPサーバーへの接続を実演
- 02利用可能または条件に合うリーグを取得
- 03リーグのシーズン別チームを確認
- 04LokiとGrafanaで監視データを表示
MCP 対応
MCPサーバーは、リーグやチームの検索を含むOpenLigaDb照会ツールを公開します。同梱のChatWithToolsクライアントはサーバーに接続し、ツールを検出して呼び出します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OpenLigaDbLlm
このプロジェクトでは、OpenLigaDb API と連携するツールを提供する MCP(Model Context Protocol)サーバーと、.NET ChatClient の統合方法を紹介します。プロジェクトには ChatClient と MCP サーバーが含まれており、Docker Compose を使用して監視スタック(OpenTelemetry Collector、Loki、Grafana)を構築します。
プロジェクト構成
src/ChatWithTools:.NET ChatClient アプリケーションが含まれています。src/McpServer:OpenLigaDb ツールを備えた .NET MCP サーバーアプリケーションが含まれています。docker-compose.yml:Docker を使用して OpenTelemetry Collector、Loki、Grafana を実行するためのサービスを定義します。otel-collector-config.yaml:OpenTelemetry Collector の設定ファイルです。
前提条件
- Docker と Docker Compose がインストールされていること。
- .NET SDK(C# プロジェクトの実行に必要)。
はじめに
このプロジェクトでは、Docker Compose を使用して C# アプリケーションと監視スタックを実行します。
-
リポジトリをクローンします:
git clone https://github.com/FelixDamrau/OpenLigaDbLlm.git cd OpenLigaDbLlm -
Docker Compose で監視スタックを起動します:
docker-compose up -dこのコマンドを実行すると、OpenTelemetry Collector、Loki、Grafana のコンテナーがデタッチモードで起動します。
-
.NET プロジェクトを実行します:
アプリケーションを実行する前に、次の環境変数が設定されていることを確認してください。
HELICONE_API_KEY:Helicone API キーです。Helicone 経由で API 呼び出しを監視・記録するために使用します。OPENROUTER_API_KEY:OpenRouter API キーです。OpenRouter API の認証に使用します。
各プロジェクトのディレクトリに移動し、.NET CLI を使用してアプリケーションを実行します。
cd src/McpServer dotnet run # In a new terminal: cd src/ChatWithTools dotnet runChatClient を起動する前に、McpServer が実行中であることを確認してください。
MCP サーバー
McpServer プロジェクトは、OpenLigaDb API と連携するツールを公開する MCP サーバーを実装しています。これらのツールを使用すると、MCP 対応クライアント(付属の ChatClient など)から OpenLigaDb のデータを取得できます。
MCP サーバーのツール
MCP サーバーは次のツールを公開します。
getAvailableLeagues:利用可能なすべてのリーグを取得しますgetFilteredLeagues:指定したフィルターに一致する、利用可能なすべてのリーグを取得しますgetAllTeams:指定したリーグの指定シーズンに参加するすべてのチームを取得しますecho:指定したメッセージをそのまま返します。このツールは主にデバッグ用です。
ChatClient
ChatWithTools プロジェクトは、MCP サーバーのクライアントとして動作する .NET コンソールアプリケーションです。MCP サーバーへの接続、利用可能なツールの検出、およびツールを使用した操作(ここでは OpenLigaDb API との連携)の方法を紹介します。
ChatClient を実行する前に、HELICONE_API_KEY と OPENROUTER_API_KEY の環境変数を設定してください。
ChatClient 経由で MCP ツールを使用するには、実行中の ChatWithTools コンソールアプリケーションを操作します。具体的なコマンドやインターフェースは、ChatWithTools プロジェクトの実装によって異なります。操作方法や MCP ツールの利用方法については、ChatClient の出力やドキュメント(ある場合)を参照してください。
監視(OpenTelemetry)
このプロジェクトには、OpenTelemetry を使用した監視スタックを構築するための Docker Compose 設定が含まれています。
- OpenTelemetry Collector: アプリケーションからテレメトリデータを収集します。
- Loki: ログ集約システムです。
- Grafana: データの可視化とダッシュボードの作成に使用するツールです。
Docker コンテナーの起動後、http://localhost:3000 から Grafana にアクセスできます。
監視(Helicone)
このプロジェクトは、Helicone 経由での API 呼び出しの監視と記録にも対応しています。有効にするには、HELICONE_API_KEY 環境変数を設定してください。
リンク
- OpenLigaDB のウェブサイト:https://www.openligadb.de/
- OpenLigaDB のサンプル GitHub:https://github.com/OpenLigaDB/OpenLigaDB-Samples
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。