MCP outputSchema vs Sume output_schema: who sets the contract

In MCP the server declares a tool's outputSchema. In a Sume Agent Completion you send output_schema per run, and the result can still come back degraded.

4 min readSume
All posts

They are two different contracts. In MCP 2025-11-25 the server publishes an optional outputSchema on a tool, and if it does, the spec says servers MUST return structured results that conform and clients SHOULD validate them. In a Sume Agent Completion, the caller sends output_schema on each request and Sume parses the finished run's output against it.

Who writes the schema

With an MCP tool, the tool author fixes the shape in advance and every caller gets it. With an Agent Completion the task changes on each call, so you bind the output to your own schema. The output_schema takes a name and a schema; the docs example uses additionalProperties: false and a required caption string.

"output_schema": {
  "name": "caption",
  "schema": {
    "type": "object",
    "properties": { "caption": { "type": "string" } },
    "required": ["caption"],
    "additionalProperties": false
  }
}

Where the guarantees differ

The MCP spec makes conformance a server obligation for that tool call. A Sume run is an agent turn that can bill and produce media and still fail to project it into your schema. In that case the run is completed, output is null, output_error gives the reason and the webhook outcome is degraded. A handler that only reads status cannot tell ok from degraded.

Choosing

Use a tool with an outputSchema when the operation is fixed and you want clients to validate it. Use output_schema on a run when the instruction changes per call. Do not expect an MCP-style guarantee from the second: read outcome and output_error.

I did not verify whether individual Sume MCP tools declare an outputSchema; call tools_schema for a tool to see its contract.

Two schema contracts, read 2026-10-07
AspectMCP outputSchemaSume output_schema
Set byTool author, on the serverCaller, on each run
ScopeEvery call of that toolOne run
ConformanceServers MUST conformChecked after the run; may be degraded
Failure signalTool error resultoutcome degraded, output_error

Sources

Related posts

More in Developers

All Developers posts

Written by Sume