Docs & MCP

Configure the boundary in two MCP servers

Builder defines what's allowed. Runtime enforces it live. Both are native MCP servers your orchestrator already knows how to talk to.

1. Install

$ npm install @x12i/lscp

2. Register MCP servers

{
  "mcpServers": {
    "lscp-builder": {
      "command": "npx",
      "args": ["@x12i/lscp-builder"],
      "env": { "LSCP_API_KEY": "..." }
    },
    "lscp-runtime": {
      "command": "npx",
      "args": ["@x12i/lscp-runtime"],
      "env": { "LSCP_API_KEY": "...", "NEXUM_SOURCE": "graph:prod" }
    }
  }
}

3. Define a bound schema (Builder)

{
  "schema": "invoice.v1",
  "allow": ["invoice.total", "invoice.status", "invoice.due_date"],
  "deny_all_others": true,
  "require_approval_for": ["writes"]
}

4. Enforce at runtime

Every request from an agent is checked against the bound schema before it reaches Nexum's graph core — and every response is stamped with provenance.

const result = await lscpRuntime.extract({
  schema: "invoice.v1",
  field: "invoice.total",
  agentId: "agent:billing-assistant"
});

// result.value          -> "$12,400.00"
// result.sourceHash     -> "sha256:7c1e..."
// result.decision       -> "ALLOWED"

Builder MCP

Define and version bound-extraction schemas.

Runtime MCP

Enforce schemas live against agent requests.

Provenance Ledger

Immutable, queryable record of every extraction.

Haven't compiled a graph yet?

LSCP governs access — Nexum is what compiles your sources into the graph it governs.

Nexum Docs →