← PtcRunner

JSON Schemas

These are the stable $id URLs referenced by PtcRunner documents. Point your editor at one to get completion and validation while authoring:

{
  "$schema": "https://ptc-runner.dev/schemas/ptc-project-config.schema.json",
  "kind": "ptc-project",
  "version": 1,
  "application": {"path": "ptc.json"}
}

PtcRunner keeps configuration responsibilities in three separate files. Credential values and provider declarations do not belong in the project file, and project choices do not become part of application content identity.

PtcRunner documents

ptc-project-config.schema.json

ptc-project.json — paths to the other files, local artifact policy, and Viewer preferences. This is the document you hand to ptc run, ptc doctor, ptc repl, and ptc viewer.

https://ptc-runner.dev/schemas/ptc-project-config.schema.json

ptc-application-manifest.schema.json

ptc.json — workflow, components, input, provider selections, and narrower limits. Model-authorable application selection; runtime loading remains authoritative.

https://ptc-runner.dev/schemas/ptc-application-manifest.schema.json

ptc-host-config.schema.json

ptc-host.json — installed providers, credential references, commands, endpoints, and outer limits. Runtime loading remains authoritative.

https://ptc-runner.dev/schemas/ptc-host-config.schema.json

ptc-command-envelope-v5.schema.json

The V5 command envelope written by ptc run --envelope FILE and project runs by default. An atomic, no-replace file whose status and exit-code relationship is sealed by the command contract. Known early failures also print this envelope on stdout and include a closed error.cause.

https://ptc-runner.dev/schemas/ptc-command-envelope-v5.schema.json

ptc-gateway-config.schema.json

The loopback gateway document: listener policy, bearer credential binding, fixed application tools, exact pins, admission limits, and private audit storage.

https://ptc-runner.dev/schemas/ptc-gateway-config.schema.json

Each schema above is published verbatim from priv/schemas/ in the repository, so the hosted copy and the runtime validator are always the same bytes.

Model Context Protocol

PtcRunner speaks exactly one MCP revision, 2026-07-28, and refuses anything older. A copy of that wire schema is published here because upstream’s generated document is not quite the wire PtcRunner implements: JSONValue there narrows numbers to integers and omits null, and the closed JSON-RPC error envelope PtcRunner accepts has no upstream definition at all. Those two corrections are the entire delta — everything else is upstream byte-for-byte at commit 5f5440bb — and the document states them in its own $comment.

mcp-2026-07-28.schema.json

The definitions a tools server must satisfy to be acquirable: DiscoverRequest, ListToolsRequest, CallToolRequest, their result responses, and PtcRunnerJSONRPCErrorResponse. Wire shape only — the MCP reference owns the narrower runtime policy, which a schema-valid server can still fail.

https://ptc-runner.dev/schemas/mcp-2026-07-28.schema.json

Third-party, and licensed accordingly: Apache-2.0 and MIT, per THIRD_PARTY_NOTICES.md. It has no runtime validator to stay identical to, so it is checked in under site/ and this page is its only distribution — it is in neither the Hex package nor the standalone release.