docs.vin

mcp

The mcp noun — identity, lifecycle, events, and every capability as an anchored section: 3 capabilities, 0 live, 3 sandbox, 0 declared.

mcp is one of the estate's 317 automotive nouns — a job a car needs done. It carries 3 capabilities: 0 live, 3 sandbox, 0 declared · doors aggregator.vin.

Identity

Nounmcp
PillarData (facets: 3 data)
Capabilities3 — 0 live · 3 sandbox · 0 declared
EntitiesConnection
Doorsaggregator.vin
SDKVin.mcp.* from apis.vin
Address/catalog/mcp#{action} — the anchor IS the wire name minus mcp.

Events

The vocabulary this noun can append to the record — 2 past-tense, versioned event types, each linked to the capability that emits it:

Apply & book

register

mcp.register · POST /mcps/register · gate key · sandbox · answers McpRegister@1

No input — this capability takes no request body.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1FA6P8CF1R5419534 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

EmitsMcp.registered@1.

the SDK — mcp.register
import { mcp } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await mcp.register()
POST /mcps/register
curl -X POST https://apis.vin/mcps/register \
  -H 'content-type: application/json' \
  -d '{}'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-16T14:50:09.926Z · HTTP 200
{
  "type": "OK",
  "answers": "McpRegister@1",
  "value": {
    "server": "estate-mcp",
    "registered": true,
    "serverRef": "MCP-0Q2ICFG",
    "protocol": "mcp",
    "toolCount": 3,
    "asOf": "2026-08-10"
  },
  "evidence": {
    "server": "estate-mcp",
    "registered": true,
    "serverRef": "MCP-0Q2ICFG",
    "protocol": "mcp",
    "toolCount": 3,
    "asOf": "2026-08-10"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "ai-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

callTool

mcp.callTool · POST /mcps/call-tool · gate key · sandbox · answers McpCallTool@1

No input — this capability takes no request body.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1FA6P8CF1R5419534 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

EmitsMcp.toolCalled@1.

the SDK — mcp.callTool
import { mcp } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await mcp.callTool()
POST /mcps/call-tool
curl -X POST https://apis.vin/mcps/call-tool \
  -H 'content-type: application/json' \
  -d '{}'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-16T14:50:09.926Z · HTTP 200
{
  "type": "OK",
  "answers": "McpCallTool@1",
  "value": {
    "tool": "vehicle.decode",
    "protocol": "mcp",
    "isError": false,
    "result": {
      "content": [
        {
          "type": "text",
          "text": "sandbox result for vehicle.decode"
        }
      ],
      "structured": {
        "echo": {}
      }
    }
  },
  "evidence": {
    "tool": "vehicle.decode",
    "protocol": "mcp",
    "isError": false,
    "result": {
      "content": [
        {
          "type": "text",
          "text": "sandbox result for vehicle.decode"
        }
      ],
      "structured": {
        "echo": {}
      }
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "ai-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

listTools

mcp.listTools · GET /mcps/list-tools · gate none · sandbox · answers McpListTools@1

No input — this capability takes no request body.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1FA6P8CF1R5419534 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

the SDK — mcp.listTools
import { mcp } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await mcp.listTools()
GET /mcps/list-tools
curl 'https://apis.vin/mcps/list-tools'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-16T14:50:09.926Z · HTTP 200
{
  "type": "OK",
  "answers": "McpListTools@1",
  "value": {
    "server": "estate",
    "protocol": "mcp",
    "tools": [
      {
        "name": "vehicle.decode",
        "description": "Decode a VIN to its encoded facts.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "vin": {
              "type": "string"
            }
          }
        }
      },
      {
        "name": "valuation.get",
        "description": "Book value bands for a VIN.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "vin": {
              "type": "string"
            }
          }
        }
      },
      {
        "name": "history.report",
        "description": "Title, odometer, and event history.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "vin": {
              "type": "string"
            }
          }
        }
      }
    ],
    "toolCount": 3,
    "asOf": "2026-08-10"
  },
  "evidence": {
    "server": "estate",
    "protocol": "mcp",
    "tools": [
      {
        "name": "vehicle.decode",
        "description": "Decode a VIN to its encoded facts.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "vin": {
              "type": "string"
            }
          }
        }
      },
      {
        "name": "valuation.get",
        "description": "Book value bands for a VIN.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "vin": {
              "type": "string"
            }
          }
        }
      },
      {
        "name": "history.report",
        "description": "Title, odometer, and event history.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "vin": {
              "type": "string"
            }
          }
        }
      }
    ],
    "toolCount": 3,
    "asOf": "2026-08-10"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "ai-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Data model

The record shape behind this noun — one entity, each property an evidence field. See the whole estate model on the data model page.

Connection

Modeled

The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. 2 diagrams, rendered from the estate model.

Mcp · Class model

Mcp · Sequence


Generated from the catalog. Every capability, answer, gate, and entity on this page is a rendered descriptor — it cannot drift from the wire.