relative-interpreter-mcp
An MCP server that enables LLMs to act as an interpreter for the Relative service, providing tools for navigating, reading, editing, executing, and managing models through natural language.
README
Relative — MCP Interpreter
An MCP server that lets an LLM (Claude Code,
Claude Desktop, any MCP host) act as a third interpreter for the
Relative service — alongside
relative-interpreter-list and relative-interpreter-graph, which are browser
UIs for a human. This one exposes a model as tools instead of buttons.
See DESIGN.md for why it is shaped the way it is.
Run
npm install
RELATIVE_SERVICE_URL=http://localhost:4000/api npm start
Needs a running relative service (see that repo's README.md).
RELATIVE_SERVICE_URL defaults to http://localhost:4000/api.
Register it as a local stdio server. For Claude Code, in .mcp.json:
{
"mcpServers": {
"relative": {
"command": "npx",
"args": ["tsx", "/path/to/relative-interpreter-mcp/src/main.ts"],
"env": { "RELATIVE_SERVICE_URL": "http://localhost:4000/api" }
}
}
}
What it gives the model
Reads return a compact outline, not JSON — names as identifiers, links as arrows, submodels summarised to a line:
Model "Switch Circuit" · 4 nodes, 3 links, 1 view · rev 0
Scope: (root)
Nodes:
battery const boolean = true out out:boolean
switch var boolean = false in in:boolean out out:boolean
circuit fn python runtimes/python/examples/circuit.py [onUpdate] in powered:boolean,closed:boolean out lit:boolean
bulb var boolean = false in in:boolean out out:boolean
Links:
battery.out -> circuit.powered [power flow] battery powers circuit
switch.out -> circuit.closed [power flow] switch closes circuit
circuit.lit -> bulb.in [power flow] circuit lights bulb
Views:
power flow (3 links)
One edit_model tool takes many steps, applied as a single undoable
operation via the service's /batch endpoint, with later steps able to
reference what earlier ones create:
{ "steps": [
{ "action": "addValueNode", "input": { "name": "Switch", "mutability": "variable",
"initialValue": { "type": "boolean", "value": false } } },
{ "action": "addValueNode", "input": { "name": "Bulb", "mutability": "variable",
"initialValue": { "type": "boolean", "value": false } } },
{ "action": "addView", "input": { "name": "Power" } },
{ "action": "addLinkWithEndpoints", "input": { "name": "sw-to-bulb",
"endpointA": "Switch.out", "endpointB": "Bulb.in",
"direction": "forward", "views": ["Power"] } }
] }
References are names, and bad ones are refused. The service's state layer is total, so a mutation aimed at something that does not exist silently succeeds; every reference is resolved and checked here first:
Step 1 (updateNode): No node "NoSuchNode" in this scope.
Available: Switch#4e64975c, Bulb#159d3b8a
Names are not unique in Relative, so an ambiguous one is an error offering
name#uuidprefix handles — the same handles reads print.
Staleness is reported, not assumed. The server consumes the service's SSE
stream, pushes resources/updated to subscribed hosts, and prefixes any read
whose revision moved since the caller last saw it:
[changed outside this conversation since you last looked: rev 3 -> 4,
views 0->1. The view below is current.]
Tools
| Group | Tools |
|---|---|
| Navigation | list_models, select_model, create_model, import_model, delete_model, get_scope, enter_submodel, exit_submodel |
| Read | get_model, get_element, get_validation, get_script_source |
| Edit | edit_model, link_external_submodel |
| Execution & history | run_node, undo, redo, list_snapshots, save_snapshot, restore_snapshot |
Resources: relative://models, relative://models/{id} (subscribable).
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.