Skip to main content
Glama

PublishProposalRevision

Destructive

Save a new revision of a schema proposal by publishing changed subgraph schemas to its proposal variant, the same action as Save revision in GraphOS Studio. GraphOS composes the proposal variant, records the diff against the source variant, and runs schema checks on it. The source variant does not change. Send only the subgraphs that change, each with its full SDL. previousLaunchId must be the proposal variant's latest launch ID from GetProposal. If someone saved a revision since, the call fails, so read the proposal again before you retry. GraphOS saves the revision even when the schema does not compose, so this call succeeding does not mean the change is valid. Call GetProposal after the check finishes: latestRevision.checkWorkflow.status and latestRevision.launch.status show the result, and GetCheckResults takes the check ID for the details. Returns the proposal's new latest revision, or an error with a message. Provide the graph ID, the proposal variant name, previousLaunchId, a unique revision label, a summary of the change, and the subgraphs.

Input Schema

NameRequiredDescriptionDefault
graphIdYes
summaryYes
revisionYes
subgraphsYes
gitContextNo
proposalVariantYes
previousLaunchIdYes

Output Schema

NameRequiredDescriptionDefault
dataNo
errorsNo
extensionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (destructiveHint true, openWorldHint true), and the description adds substantial beyond that: the source variant is unchanged, GraphOS composes/records a diff/runs checks, the revision saves even for non-composing schemas, and it documents optimistic-concurrency failure behavior. This is exactly the behavioral context an agent needs for a destructive mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action and scope are front-loaded in the first sentence, then behavioral caveats and follow-up guidance follow. It is long but dense and nearly every sentence adds operational value; slightly tighter grouping of the retry/check guidance would help.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, concurrency-sensitive mutation it covers prerequisites, side effects, failure modes, and the follow-up verification workflow. An output schema exists, so the brief 'returns the new latest revision' line is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage across 7 params, the description carries the burden well: it explains graphId, proposalVariant, previousLaunchId (must be the latest launch ID from GetProposal), unique revision label, summary, and that subgraphs carry full SDL only for changed subgraphs. The optional gitContext is not addressed, which is the only gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Save a new revision') and resource ('schema proposal'), and explicitly scopes it to the proposal variant, distinguishing it from siblings like PublishSubgraph, PublishGraphSchema, and ReviewProposal. It even maps the action to the GraphOS Studio equivalent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names prerequisite tools and conditions: previousLaunchId must come from GetProposal, and the proposal must be re-read if the call fails due to a newer revision. It also prescribes post-call follow-up (GetProposal then GetCheckResults) and an explicit when-to-send rule ('send only the subgraphs that change').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources