Product surfaces
MCP
Canonical projection through the same dispatcher as REST and SDK. Capability-grant filtered.
This page is the documentation contract for the MCP surface in Vadyl's final form. It is not a marketing summary: it names the authorities, projections, runtime behavior, examples, limits, errors, and observability expectations that every product implementation must honor.
What this surface owns
- MCP owns the canonical product-facing contract described here; provider-specific machinery stays behind capability declarations.
- Canonical projection through the same dispatcher as REST and SDK. Capability-grant filtered.
- The final docs treat this as complete: REST, GraphQL, gRPC, SDK, CLI, MCP, dashboard, observability, limits, errors, and explainability are all covered as projections of one authority.
Canonical authorities
| Authority | Role |
|---|---|
ExposureBindingDescriptor | Defines how MCP appears through REST, OpenAPI, GraphQL, gRPC, SDK, CLI, MCP, dashboard, webhooks, realtime, and events. |
IApiOperationDispatcher | Canonical owner for MCP; downstream surfaces derive from this rather than inventing their own truth. |
ContractProjectionDescriptor | Projects MCP from canonical project state into every caller-visible contract. |
ProjectCapabilitySurfaceManifest | Places MCP inside the UCSA taxonomy and enforces binding, grants, conformance, and consumption. |
Projection coverage
| Surface kinds | WireSurface, OperationProjectionSurface, SdkSurface, CommandSurface, ToolSurface, UiProjectionSurface |
| Projection facets | Operations, Cli, ExposureBindings |
| Protocols | Rest, OpenApi, GraphQL, Grpc, Sdk, Cli, Mcp, Dashboard |
| Public projections | REST; OpenAPI; GraphQL; gRPC; SDK; CLI; MCP; dashboard actions; webhooks; realtime |
Project-scope parity
Publish, install, consume
Consumption evidence
Runtime behavior
- thin controller dispatch
- operation projection
- descriptor hash validation
- grant-set enforcement
REST and controller surface
Code-backed controllers are listed here so the docs menu does not hide the real endpoint surface. The complete route-by-route table remains in the REST controller atlas.
| Controller | Base route | Endpoint count | Examples |
|---|---|---|---|
| Operation | /api/Operation | 2 | POST ExecutePOST Plan |
| ContractProjection | /api/ContractProjection | 4 | GET descriptorGET {language}/declarationsGET cliGET events |
| Sdk | /api/Sdk | 3 | POST generateGET languagesGET versioning |
| Agent | /api/Agent | 1 | POST {agentId}/run |
| AgentRun | /api/AgentRun | 6 | GET /GET {runId}POST {runId}/cancelGET {runId}/steps |
| AgentMemory | /api/AgentMemory | 7 | GET namespacesPOST namespacesGET namespaces/{namespaceId}POST apply |
SDK and CLI surface
| Projection | Namespace / group | Coverage |
|---|---|---|
| SDK | platform | provider health/capabilities, runtime fabric scaling, distribution, version governance, data portability. Rendered methods: 12. |
| SDK | mcp | token issuance, exposure descriptors, tool invocation, resources, prompts. Rendered methods: 6. |
| SDK | agents | definitions, runs, plans, memory, skills, model bindings, token accounting, MCP exposure. Rendered methods: 6. |
| SDK | entities.<Entity> | list, read, create, update, upsert, delete, count, exists, alternate-key, batch, subscribe. Rendered methods: 10. |
| CLI | vadyl sdk | Generate / inspect language SDKs. Rendered commands: 3. |
| CLI | vadyl status | Health and version. Rendered commands: 3. |
| CLI | vadyl agent | List, inspect, run agents. Rendered commands: 7. |
Input request and output
POST /api/Operation/Execute HTTP/1.1
Host: api.vadyl.app
Authorization: Bearer $VADYL_TOKEN
X-Vadyl-Tenant: acme
X-Vadyl-Project: billing
Content-Type: application/json
{
"surface": "mcp",
"publicationVersion": 412,
"explain": true
}Limits and quotas
Error model
| Error | Meaning |
|---|