使用说明
DSR MCP服务器
MCP(模型上下文协议)服务器,提供一套全面的工具来查询、操作和分析深度状态表示(DSR)图。该服务器使AI助手能够通过具有实时图形操作和智能节点关系管理的标准化MCP工具与机器人感知和场景理解数据进行交互。
工具
| 工具名称 | 描述 | 参数 |
|---|---|---|
| check_dsr_connection | 检查DSR连接并返回状态信息 | -- |
| 获取所有节点 | 从DSR图中检索所有节点 | -- |
| get_nodes_by_type | 按类型过滤节点(例如,机器人、人、房间) | node_type: str |
| get_node_details | 获取特定节点的详细信息,包括属性和边 | node_identifier: str |
| 获取所有奖励 | 从DSR图中检索所有边 | -- |
| insert_node | 在DSR图中插入新节点 | name: str, node_type: str |
| insert_edge | 在DSR图中的两个节点之间插入新边 | origin_id: str, destination_id: str, edge_type: str |
| insert_edge_attribute | 在DSR图中插入或更新边的属性 | origin_id: str, destination_id: str, attribute_name: str, attribute_value: str, attribute_type: str = 'string' |
| update_node | 在DSR图中用新属性更新节点 | node_id: str, attribute_name: str, attribute_value: str, attribute_type: str = 'string' |
| delete_node | 从DSR图中删除节点 | node_id: str |
| 删除_边缘 | 从DSR图中删除边 | origin_id: str, destination_id: str, edge_type: str |
| 保存图形 | 将DSR图的当前状态保存到JSON文件 | 交互式文件路径选择 |
资源
资源提供对DSR图数据的只读、高效访问。它们非常适合在不修改图形状态的情况下查询信息。
| 资源URI | 描述 | 返回 |
|---|---|---|
| dsr://nodes | DSR图中的所有节点及其基本信息 | JSON,包含节点数组、计数和DSR名称 |
| dsr://nodes/type/{类型} | 按类型筛选的节点,具有完整的细节(属性、边) | JSON,具有详细的节点数组、计数和类型 |
| dsr://nodes/{node_id} | 关于特定节点的详细信息 | 包含节点详细信息、属性和连接边的JSON |
| dsr://edges | DSR图中的所有边 | 带有边数组、计数和DSR名称的JSON |
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
DSR_AGENT_ID |
42 | DSR连接的唯一代理标识符 |
DSR_NAME |
mcp_server | 要连接的目标DSR图名称 |
SERVER_HOST |
127.0.0.1 | 服务器主机地址 |
SERVER_PORT |
3000 | 服务器端口号 |
安装
依赖项
注: 您必须在虚拟环境中构建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安装:
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 run dsr_mcp_server
使用pip安装运行
python3 -m dsr_mcp_server
服务器将启动并尝试使用配置的参数自动初始化DSR连接。
Claude桌面/光标/VCode的配置示例
使用紫外线(推荐)
将此配置添加到应用程序的设置中(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的连接。
- 节点属性被过滤以排除内部渲染属性(颜色、深度、高度、级别等),从而获得更清晰的输出。
- 边缘关系支持多种类型,包括空间(near)、所有权(has)、身份(is)和关联(is_with)语义。
- 图操作通过DSR库的内置验证机制保持一致性。
- 所有工具都会返回标准化的JSON响应,其中包含成功/错误状态和详细信息。
- 通过MCP引导机制进行图形导出操作的交互式文件选择。
- 资源 与工具相比,提供对DSR图数据的只读、幂等访问,具有高效的缓存和较低的开销。使用资源查询数据和工具进行修改。
贡献
- 分叉存储库
- 创建要素分支
- 按照编码约定进行更改
- 如果适用,添加测试
- 提交拉取请求
支持
有关问题、疑问或贡献,请参阅 项目的问题跟踪器 或联系开发团队。
