mcpField
D
dsr_mcp_server

dsr_mcp_server

ローカル
grupo-avispa.github.io科学・教育116 週間前に更新

dsr_mcp_server について

dsr_mcp_serverは、ロボット認識やシーン理解に使われるDeep State Representation(DSR)グラフとAIアシスタントを接続します。グラフの検索・編集操作に加え、読み取り専用リソースも提供します。

主な機能

  1. 01グラフノードの取得と絞り込み
  2. 02ノード属性と接続エッジの確認
  3. 03ノードやエッジの追加・更新・削除
  4. 04グラフをJSONファイルに保存
  5. 05リソースからグラフデータを読み取り

活用シーン

  1. 01ロボットやシーンのグラフ要素を調べる
  2. 02種類別にノードを検索して関係を確認
  3. 03シーン操作中にグラフ属性を更新
  4. 04現在のグラフ状態をエクスポート

MCP 対応

DSRグラフの操作をMCPツールとして公開し、ノードとエッジを読み取る読み取り専用リソースも提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

DSR MCP サーバー

License Build

Deep State Representation(DSR)グラフのクエリ、操作、分析を行うための包括的なツールセットを提供するMCP(Model Context Protocol)サーバーです。このサーバーにより、AI アシスタントは標準化されたMCPツールを使ってロボットの知覚データやシーン理解データを操作でき、リアルタイムのグラフ操作とインテリジェントなノード間関係の管理が可能になります。

ツール
ツール名説明パラメーター
check_dsr_connectionDSR接続を確認し、ステータス情報を返します—
get_all_nodesDSRグラフからすべてのノードを取得します—
get_nodes_by_typeノードの種類(例:ロボット、人、部屋)で絞り込みますnode_type: str
get_node_details属性とエッジを含む、特定のノードの詳細情報を取得しますnode_identifier: str
get_all_edgesDSRグラフからすべてのエッジを取得します—
insert_nodeDSRグラフに新しいノードを挿入しますname: str, node_type: str
insert_edgeDSRグラフ内の2つのノード間に新しいエッジを挿入しますorigin_id: str, destination_id: str, edge_type: str
insert_edge_attributeDSRグラフ内のエッジの属性を挿入または更新しますorigin_id: str, destination_id: str, attribute_name: str, attribute_value: str, attribute_type: str = 'string'
update_nodeDSRグラフ内のノードを新しい属性で更新しますnode_id: str, attribute_name: str, attribute_value: str, attribute_type: str = 'string'
delete_nodeDSRグラフからノードを削除しますnode_id: str
delete_edgeDSRグラフからエッジを削除しますorigin_id: str, destination_id: str, edge_type: str
save_graphDSRグラフの現在の状態をJSONファイルに保存しますファイルパスを対話的に選択
リソース

リソースを使用すると、DSR グラフデータに読み取り専用で効率的にアクセスできます。グラフの状態を変更せずに情報を照会する場合に最適です。

リソース URI説明戻り値
dsr://nodes基本情報を含む、DSR グラフ内のすべてのノードノード配列、件数、DSR 名を含む JSON
dsr://nodes/type/{type}タイプで絞り込んだ、詳細情報(属性、エッジ)を含むノード詳細なノード配列、件数、タイプを含む JSON
dsr://nodes/{node_id}特定のノードに関する詳細情報ノードの詳細、属性、接続されたエッジを含む JSON
dsr://edgesDSR グラフ内のすべてのエッジエッジ配列、件数、DSR 名を含む JSON

環境変数

変数デフォルト説明
DSR_AGENT_ID42DSR 接続に使用する一意のエージェント識別子
DSR_NAMEmcp_server接続先の DSR グラフ名
SERVER_HOST127.0.0.1サーバーのホストアドレス
SERVER_PORT3000サーバーのポート番号

インストール

依存関係
  • fastmcp:MCP サーバーのフレームワーク(>= 2.2.7)
  • Cortex:グラフ操作用の DSR ライブラリ
  • Python:3.12 以降が必要です

注: 互換性を確保するため、仮想環境内で Cortex をビルドする必要があります。

cd dsr_mcp_server
source .venv/bin/activate
cd ${CORTEX_DIR} && make -p build && cd build
cmake .. && make -j$(nproc) && sudo make install
uv でインストール(推奨)

リポジトリをクローンし、uv でインストールします:

git clone https://github.com/grupo-avispa/dsr_mcp_server.git
cd dsr_mcp_server
uv sync

または、リポジトリから直接インストールします:

uv add git+https://github.com/grupo-avispa/dsr_mcp_server.git
pip でインストール

パッケージを次のモードでインストールします:

git clone https://github.com/grupo-avispa/dsr_mcp_server.git
cd dsr_mcp_server
python3 -m pip install .

または、リポジトリから直接インストールします:

python3 -m pip install git+https://github.com/grupo-avispa/dsr_mcp_server.git

使い方

uv で実行
uv run dsr_mcp_server
pip でインストールして実行
python3 -m dsr_mcp_server

サーバーが起動し、設定されたパラメーターを使用して DSR 接続の初期化を自動的に試みます。

Claude Desktop/Cursor/VSCode の設定例
uv を使用(推奨)

アプリケーションの設定(mcp.json)に、次の設定を追加します:

{
  "dsr mcp server": {
    "type": "stdio",
    "command": "uv",
    "args": [
      "run",
      "--directory",
      "/path/to/dsr_mcp_server",
      "dsr_mcp_server"
    ],
    "env": {
      "DSR_AGENT_ID": "42",
      "DSR_NAME": "your_dsr_graph_name"
    }
  }
}
pip でインストールして使用
{
  "dsr mcp server": {
    "type": "stdio",
    "command": "python3",
    "args": [
      "-m",
      "dsr_mcp_server"
    ],
    "env": {
      "DSR_AGENT_ID": "42", 
      "DSR_NAME": "your_dsr_graph_name"
    }
  }
}
HTTP サーバーモード

HTTP トランスポートと連携する場合:

{
  "servers": {
    "dsr_mcp_server": {
      "type": "http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

技術的な注意事項

  • DSR への接続は、自動初期化と接続監視を行って実行されます。
  • ノードの属性は、出力を見やすくするため、内部レンダリング用のプロパティ(color、depth、height、level など)を除外するようにフィルタリングされます。
  • エッジの関係には、空間(near)、所有(has)、同一性(is)、関連(is_with)のセマンティクスなど、さまざまなタイプがサポートされています。
  • グラフ操作の整合性は、DSR ライブラリに組み込まれた検証メカニズムによって維持されます。
  • すべてのツールは、成功/エラーのステータスと詳細情報を含む、標準化された JSON レスポンスを返します。
  • グラフのエクスポート操作では、MCP の elicit メカニズムを通じてファイルを対話的に選択できます。
  • リソースは、ツールと比べて効率的なキャッシュと低いオーバーヘッドで、DSR グラフデータに読み取り専用かつ冪等にアクセスできます。データの照会にはリソースを、変更にはツールを使用してください。

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. コーディング規約に従って変更を加えます
  4. 該当する場合はテストを追加します
  5. プルリクエストを送信します

サポート

問題や質問、コントリビューションについては、プロジェクトの課題トラッカーを参照するか、開発チームにお問い合わせください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。