Skip to content

MCP stdio interface

This bounded adapter uses MCP 2026-07-28 over newline-delimited stdio and lists exactly one tool, eqiora.model.compile_check. The admitted framing boundary is one local subprocess, bounded framing and metadata, one active call, and best-effort response cancellation.

Request:

json
{
"jsonrpc": "2.0",
"id": "docs-discover",
"method": "server/discover",
"params": {
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientCapabilities": {}
}
}
}

Live response:

json
{
"jsonrpc": "2.0",
"id": "docs-discover",
"result": {
"resultType": "complete",
"supportedVersions": [
"2026-07-28"
],
"capabilities": {
"tools": {
"listChanged": false
}
},
"_meta": {
"io.modelcontextprotocol/serverInfo": {
"name": "eqiora-mcp",
"version": "0.1.0-alpha.2"
}
},
"instructions": "Compile/check Eqiora source in memory. This server does not read files, edit models, run solvers, or create tasks.",
"ttlMs": 3600000,
"cacheScope": "public"
}
}

Request:

json
{
"jsonrpc": "2.0",
"id": "docs-tools",
"method": "tools/list",
"params": {
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientCapabilities": {}
}
}
}

Live response:

json
{
"jsonrpc": "2.0",
"id": "docs-tools",
"result": {
"resultType": "complete",
"tools": [
{
"name": "eqiora.model.compile_check",
"title": "Compile/check an Eqiora Model",
"description": "Compile one in-memory Eqiora source string into the current Model descriptor, or return structured compiler diagnostics. filename is a diagnostic label and is never read from the filesystem.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"additionalProperties": false,
"properties": {
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 4096,
"default": "<memory>",
"description": "Diagnostic source label only; never a filesystem path."
},
"source": {
"type": "string",
"maxLength": 8388608,
"description": "Complete in-memory Eqiora source text."
}
},
"required": [
"source"
]
},
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"schema": {
"const": "eqiora.mcp.compile-check-result/v1"
},
"status": {
"const": "accepted"
},
"model": {
"type": "object",
"additionalProperties": false,
"properties": {
"schema": {
"const": "eqiora.model-envelope/v8"
},
"transactionSchema": {
"const": "eqiora.model-transaction-envelope/v8"
},
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"modelId": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"semanticRevision": {
"type": "integer",
"minimum": 0
},
"structuralFingerprint": {
"type": "object",
"additionalProperties": false,
"properties": {
"generation": {
"enum": [
"eqiora.structural-semantic-fingerprint/v1",
"eqiora.structural-semantic-fingerprint/v2",
"eqiora.structural-semantic-fingerprint/v3"
]
},
"digest": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"required": [
"generation",
"digest"
]
}
},
"required": [
"schema",
"transactionSchema",
"digest",
"modelId",
"semanticRevision",
"structuralFingerprint"
]
}
},
"required": [
"schema",
"status",
"model"
]
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"schema": {
"const": "eqiora.mcp.compile-check-result/v1"
},
"status": {
"const": "rejected"
},
"diagnostics": {
"type": "array",
"minItems": 1,
"maxItems": 1024,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"source": {
"enum": [
"mcp",
"kernel"
]
},
"severity": {
"enum": [
"error",
"warning",
"note"
]
},
"code": {
"type": "string",
"pattern": "^[A-Z]{2}[0-9]{4}$"
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 1048576
},
"graphPath": {
"oneOf": [
{
"type": "array",
"maxItems": 256,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 4096
}
},
{
"type": "null"
}
]
},
"span": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"file": {
"type": "string",
"maxLength": 4096
},
"start": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"end": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
}
},
"required": [
"file",
"start",
"end"
]
},
{
"type": "null"
}
]
},
"patch": {
"oneOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 4096
}
},
"required": [
"summary"
]
},
{
"type": "null"
}
]
}
},
"required": [
"source",
"severity",
"code",
"message",
"graphPath",
"span",
"patch"
]
}
}
},
"required": [
"schema",
"status",
"diagnostics"
]
}
]
}
}
],
"ttlMs": 3600000,
"cacheScope": "public",
"_meta": {
"io.modelcontextprotocol/serverInfo": {
"name": "eqiora-mcp",
"version": "0.1.0-alpha.2"
}
}
}
}

This is not a general framing reference. It does not publish numeric line limits, a metadata/token/cancellation grammar, an error table, exit behavior, HTTP, sessions, persistence, remote hosting, resources, prompts, tasks, a generic MCP layer, or tools not returned above.