mcpField
D
dsr_mcp_server

dsr_mcp_server

Local
grupo-avispa.github.ioScience & Education1Updated 16w ago

About dsr_mcp_server

dsr_mcp_server connects AI assistants to Deep State Representation (DSR) graphs used for robot perception and scene understanding. It offers graph query and editing operations, plus read-only resources for graph data.

Key features

  1. 01Retrieve and filter graph nodes
  2. 02Inspect node attributes and connected edges
  3. 03Insert, update, or delete nodes and edges
  4. 04Save the graph to a JSON file
  5. 05Read graph data through resources

Use cases

  1. 01Inspect robot or scene graph entities
  2. 02Query nodes by type and review relationships
  3. 03Update graph attributes during scene operations
  4. 04Export the current graph state

MCP support

It exposes DSR graph operations as MCP tools and provides read-only resources for nodes and edges.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

DSR MCP Server

License Build

An MCP (Model Context Protocol) server that provides a comprehensive set of tools to query, manipulate, and analyze Deep State Representation (DSR) graphs. This server enables AI assistants to interact with robot perception and scene understanding data through standardized MCP tools with real-time graph operations and intelligent node relationship management.

Tools
Tool NameDescriptionParameters
check_dsr_connectionCheck DSR connection and return status information—
get_all_nodesRetrieve all nodes from the DSR graph—
get_nodes_by_typeFilter nodes by their type (e.g., robot, person, room)node_type: str
get_node_detailsGet detailed information about a specific node including attributes and edgesnode_identifier: str
get_all_edgesRetrieve all edges from the DSR graph—
insert_nodeInsert a new node into the DSR graphname: str, node_type: str
insert_edgeInsert a new edge between two nodes in the DSR graphorigin_id: str, destination_id: str, edge_type: str
insert_edge_attributeInsert or update an attribute for an edge in the DSR graphorigin_id: str, destination_id: str, attribute_name: str, attribute_value: str, attribute_type: str = 'string'
update_nodeUpdate a node with new attributes in the DSR graphnode_id: str, attribute_name: str, attribute_value: str, attribute_type: str = 'string'
delete_nodeDelete a node from the DSR graphnode_id: str
delete_edgeDelete an edge from the DSR graphorigin_id: str, destination_id: str, edge_type: str
save_graphSave the current state of the DSR graph to a JSON fileInteractive file path selection
Resources

Resources provide read-only, efficient access to DSR graph data. They are ideal for querying information without modifying the graph state.

Resource URIDescriptionReturns
dsr://nodesAll nodes in the DSR graph with basic informationJSON with nodes array, count, and DSR name
dsr://nodes/type/{type}Nodes filtered by type with full details (attributes, edges)JSON with detailed nodes array, count, and type
dsr://nodes/{node_id}Detailed information about a specific nodeJSON with node details, attributes, and connected edges
dsr://edgesAll edges in the DSR graphJSON with edges array, count, and DSR name

Environment Variables

VariableDefaultDescription
DSR_AGENT_ID42Unique agent identifier for DSR connection
DSR_NAMEmcp_serverTarget DSR graph name to connect to
SERVER_HOST127.0.0.1Server host address
SERVER_PORT3000Server port number

Installation

Dependencies
  • fastmcp: MCP server framework (>= 2.2.7)
  • Cortex: DSR library for graph operations
  • Python: 3.12+ required

Note: You must build Cortex inside the virtual environment to ensure compatibility.

cd dsr_mcp_server
source .venv/bin/activate
cd ${CORTEX_DIR} && make -p build && cd build
cmake .. && make -j$(nproc) && sudo make install
Install with uv (recommended)

Clone the repository and install with uv:

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

Or install directly from the repository:

uv add git+https://github.com/grupo-avispa/dsr_mcp_server.git
Install with pip

Install the package in mode:

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

Or install directly from the repository:

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

Usage

Running with uv
uv run dsr_mcp_server
Running with pip installation
python3 -m dsr_mcp_server

The server will start and attempt to initialize the DSR connection automatically using the configured parameters.

Configuration example for Claude Desktop/Cursor/VSCode
Using uv (recommended)

Add this configuration to your application's settings (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"
    }
  }
}
Using pip installation
{
  "dsr mcp server": {
    "type": "stdio",
    "command": "python3",
    "args": [
      "-m",
      "dsr_mcp_server"
    ],
    "env": {
      "DSR_AGENT_ID": "42", 
      "DSR_NAME": "your_dsr_graph_name"
    }
  }
}
HTTP Server Mode

For HTTP transport integration:

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

Technical Notes

  • Connection to DSR is performed with automatic initialization and connection monitoring.
  • Node attributes are filtered to exclude internal rendering properties (color, depth, height, level, etc.) for cleaner output.
  • Edge relationships support various types including spatial (near), ownership (has), identity (is), and association (is_with) semantics.
  • Graph operations maintain consistency through the DSR library's built-in validation mechanisms.
  • All tools return standardized JSON responses with success/error status and detailed information.
  • Interactive file selection for graph export operations through MCP elicit mechanism.
  • Resources provide read-only, idempotent access to DSR graph data with efficient caching and lower overhead compared to tools. Use resources for querying data and tools for modifications.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes following the coding conventions
  4. Add tests if applicable
  5. Submit a pull request

Support

For issues, questions, or contributions, please refer to the project's issue tracker or contact the development team.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.