remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Gausium OpenAPI MCP サーバー
このプロジェクトは、Gausium OpenAPI へのブリッジとして機能する MCP (モデル制御プロトコル) サーバーを実装し、AI モデルやその他のクライアントが標準化されたインターフェースを介して Gausium ロボットと対話できるようにします。
リポジトリ: https://github.com/cfrs2005/mcp-gs-robot
建築
サーバーは、懸念事項を分離し保守性を促進する階層化アーキテクチャに従います。
MCPプロトコルフロー
下の図は、AI モデルが MCP プロトコルを介して Gausium ロボットと対話する方法を示しています。
特徴
サーバーは現在、MCP ツールとして次の機能をサポートしています。
list_robots
: APIキーでアクセスできるロボットを一覧表示します。( List Robots APIに基づいています)get_robot_status
: 特定のロボットのシリアル番号から詳細なステータスを取得します。( Get Robot Status APIに基づく)list_robot_task_reports
: 特定のロボットの清掃タスクレポートを取得します。オプションで時間フィルタリングも可能です。( List Robot Task Reports APIに基づいています)list_robot_maps
: 特定のロボットに関連付けられたマップを一覧表示します。( List Robot Maps APIに基づいています)
プロジェクト構造
このプロジェクトは、Python のベスト プラクティスに基づいた構造化されたレイアウトに従います。
src/gs_openapi/config.py
: ベース URL、API パス、環境変数名が含まれます。src/gs_openapi/auth/token_manager.py
: OAuth トークンの取得と更新を管理します。src/gs_openapi/api/
:httpx
を使用して Gausium OpenAPI エンドポイントを直接呼び出す関数を含むモジュール (robots.py
、maps.py
) が含まれています。src/gs_openapi/mcp/gausium_mcp.py
: API 呼び出しとトークン管理を統合するGausiumMCP
クラスを定義します。main.py
:GausiumMCP
を初期化し、@mcp.tool()
を使用して API 機能を MCP ツールとして登録し、基本的なログ記録を構成し、mcp.run()
を使用してサーバーを起動します。
セットアップと実行
- リポジトリをクローンします。Copy
uv
を使用して仮想環境を作成し、アクティブ化します。Copyuv
を使用して依存関係をインストールします。Copy- **資格情報の構成:**アプリケーションでは、Gausium API 資格情報が環境変数として設定される必要があります。
GS_CLIENT_ID
: Gausium アプリケーションのクライアント ID。GS_CLIENT_SECRET
: Gausium アプリケーション クライアント シークレット。GS_OPEN_ACCESS_KEY
: Gausium OpenAPI アクセス キー。
これらはシェルで直接設定できます:
Copy(または、開発用に
src/gs_openapi/config.py
を変更しますが、資格情報はコミットしないでください)。 - サーバーを実行します。デフォルトでは、Copy
http://0.0.0.0:8000
でSSEトランスポートを使用してサーバーを起動します。必要に応じて、main.py
変更してstdio
トランスポートを使用するように設定できます。
MCPクライアントの接続
サーバーが実行される場合、MCP クライアント (Cursor や他の互換性のあるツールなど) は適切なトランスポート (SSE または stdio) を介してサーバーに接続し、定義されたツールを利用できるようになります。
カーソルとの使用
以下は、Cursor がこの MCP サーバーと対話する方法の例です。
デバッグ
デバッグ情報を得るためにサーバーログを監視できます。main.py main.py
基本的なログ設定では、タイムスタンプ、レベル、ソース情報が提供されます。
以下は操作中のサーバーログ出力の例です。
This server cannot be installed
GS 清掃ロボットを制御し、ロボットのリスト表示、ステータス監視、ナビゲーション コマンド、タスク実行、リモート制御操作をサポートするモデル制御プロトコル プラグイン。