Skip to content
Shellsmith logo

MCP Integration

aas-mcp provides a Model Context Protocol (MCP) server that enables AI assistants to interact with Asset Administration Shells through the Shellsmith ecosystem.


What is MCP?

The Model Context Protocol (MCP) is an open standard for connecting AI assistants to external data sources and tools. It allows AI models to securely access and interact with various services, databases, and APIs through a standardized interface.

MCP servers expose capabilities as tools that AI assistants can invoke to perform specific tasks, like querying databases, calling APIs, or managing resources.


Installation

aas-mcp is automatically installed when you install Shellsmith with the optional mcp dependency shellsmith[mcp]. You can also install aas-mcp independently:

pip install aas-mcp

MCP Client Configuration

Claude Desktop

Add aas-mcp to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "aas-mcp": {
      "command": "aas-mcp",
      "env": {
        "SHELLSMITH_BASYX_ENV_HOST": "http://localhost:8081"
      }
    }
  }
}

Other MCP Clients

The configuration format is similar for other MCP-compatible clients like LM Studio, Continue, or custom MCP implementations.

Consult your client's documentation for the specific configuration syntax.


BaSyx Environment Configuration

The MCP server connects to an Eclipse BaSyx environment. Configure the connection using:

Environment Variable

export SHELLSMITH_BASYX_ENV_HOST=https://your-basyx-host:8081

.env File

Create a .env file in your working directory:

SHELLSMITH_BASYX_ENV_HOST=https://your-basyx-host:8081

Dynamic Configuration

Each MCP tool accepts an optional host parameter to override the default configuration on a per-request basis.


Available MCP Tools

The aas-mcp server exposes 25+ tools for comprehensive AAS management:

Shell Management

Tool Description
get_shells Retrieve all available Asset Administration Shells
get_shell Get a specific Shell by its identifier
create_shell Create a new Asset Administration Shell
update_shell Update an existing Shell (full replacement)
delete_shell Delete a Shell and optionally its Submodels

Submodel Management

Tool Description
get_submodels Retrieve all available Submodels
get_submodel Get a specific Submodel by its identifier
create_submodel Create a new Submodel
update_submodel Update an existing Submodel (full replacement)
delete_submodel Delete a Submodel and optionally unlink from Shells
get_submodel_value Get the raw $value of a Submodel
update_submodel_value Update the $value of a Submodel (partial update)
get_submodel_metadata Get the $metadata of a Submodel

Submodel Element Management

Tool Description
get_submodel_elements Get all elements from a Submodel
get_submodel_element Get a specific element by its path
create_submodel_element Create a new Submodel Element
update_submodel_element Update an existing element (full replacement)
delete_submodel_element Delete a Submodel Element
get_submodel_element_value Get the raw $value of a Submodel Element
update_submodel_element_value Update the $value of an element (partial update)

Reference Management

Tool Description
get_submodel_refs Get all Submodel references from a Shell
create_submodel_ref Create a Submodel reference in a Shell
delete_submodel_ref Remove a Submodel reference from a Shell

Health & Monitoring

Tool Description
get_health_status Check the health status of the BaSyx environment
is_healthy Boolean check for environment health

Starting the Server

Run the MCP server directly:

aas-mcp

The server runs in stdio mode by default. It will listen for MCP requests and respond with tool results.

Note

The server typically runs as a background process managed by your MCP client (like Claude Desktop).