cimoxide-mcp 0.6.2

cimmcp: Model Context Protocol server for ENTSO-E CGMES and NC RDF/XML — lets an LLM chat look up, validate and query a model set
cimoxide-mcp-0.6.2 is not a library.

cimoxide-mcp

cimmcp is a Model Context Protocol server for ENTSO-E CGMES and Network Code RDF/XML, built on cimoxide. It lets an LLM chat answer questions about a model: which generators a model has and their set points, why an object fails validation, what a CIM class or attribute means.

Its tools read; export and edit write a file, inside the workspace, over an existing one only when told to and never over a model set's own files:

Tool
list_model_sets directories holding CIM files, with each file's profiles
summary a model set's files, model headers and object counts by class
find_objects search by class (abstract classes included), name/mRID text and attribute value
get_object one object's fields, references resolved, what references it, and the files that define or describe it
validate the ENTSO-E SHACL and SPARQL rules, as cimcli validate runs them
conflicts objects more than one file defines, and objects the files type with unrelated classes
sparql a SPARQL query over the merged CGMES data
export one profile (CGMES or NC) or the whole set as RDF/XML, as to_xml_for_profile / to_xml write it; or every decoded object as JSON
edit update, copy, create and delete objects, and write the result as export does
describe_class definitions of classes, attributes and enumerations from the ENTSO-E vocabulary

A model set is every CIM XML file in one directory (path), or the files and directories listed in files, for a model whose files lie apart (an IGM with its boundary and common data). --dir <path> (else CIMOXIDE_MODEL_DIR, else the working directory) is where relative paths resolve.

Install

With uv, nothing needs installing first; clients start it as

uvx --from cimoxide-mcp cimmcp --dir /path/to/models

or install it once with uv tool install cimoxide-mcp (or pipx install cimoxide-mcp) and run cimmcp. It is also on crates.io (cargo install cimoxide-mcp), as binaries on each GitHub release, and bundled in the VS Code extension.

Configure a client

Claude Code (servers start in the project directory, so --dir can be left out):

claude mcp add cimoxide -- uvx --from cimoxide-mcp cimmcp

Codex (~/.codex/config.toml):

[mcp_servers.cimoxide]
command = "uvx"
args = ["--from", "cimoxide-mcp", "cimmcp", "--dir", "/path/to/models"]

Claude Desktop, Cursor, Windsurf, Antigravity and most others take an mcpServers block:

{
  "mcpServers": {
    "cimoxide": {
      "command": "uvx",
      "args": ["--from", "cimoxide-mcp", "cimmcp", "--dir", "/path/to/models"]
    }
  }
}

RDFS and SHACL can be loaded at runtime instead of the built-in tables with CIMOXIDE_RDFS_DIR / CIMOXIDE_SHACL_DIR in the server's environment.