Skip to main content
Glama

Estuary Flow MCP by usefulapi

Publish draft

estuary_publish_draft
Destructive

WRITE (DESTRUCTIVE when dry_run=false): publish a draft. dry_run=true (default) only VALIDATES the draft without changing anything. dry_run=false APPLIES the draft to the LIVE catalog — this can create, modify, or DELETE running data pipelines and their data. Set dry_run=false only when you intend to change live infrastructure. Estuary control-plane: POST /publications. Returns the publication row.

Input Schema

NameRequiredDescriptionDefault
detailNoOptional human-readable note for this publication.
dry_runNoIf true (DEFAULT), only validate without applying. Set false to APPLY to the live catalog.
draft_idYesThe draft id to publish.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only flag destructiveHint=true, but the description discloses far more: which mode is destructive, that the default is non-mutating validation, and that applying 'can create, modify, or DELETE running data pipelines and their data.' It also names the backing endpoint (POST /publications) and the return shape.

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?

Front-loaded with the safety-critical WRITE/DESTRUCTIVE warning, then the mode semantics, then the endpoint and return. Some restatement of the dry_run schema description, but every sentence is load-bearing for a destructive operation.

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?

No output schema exists, and the description compensates by stating 'Returns the publication row.' Combined with the endpoint path and the full mutation semantics, an agent has everything needed to decide and call safely.

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?

Schema coverage is 100%, so the baseline would be 3, but the description adds consequence-level meaning the schema does not: that dry_run=true (default) is a pure validation and that dry_run=false touches live infrastructure. detail and draft_id carry no added description value, keeping it from a 5.

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 and resource ('publish a draft') and immediately scopes it against its siblings: this is the apply step, not estuary_create_draft, estuary_list_drafts, or estuary_upsert_draft_spec. The WRITE/DESTRUCTIVE framing makes the tool's identity unmistakable at a glance.

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

Usage Guidelines4/5

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

Gives a strong conditional rule for using the tool: dry_run=true validates only, dry_run=false applies to the live catalog, and 'Set dry_run=false only when you intend to change live infrastructure.' It does not name an alternative tool (e.g. a separate validate endpoint), so it stops short of full when-not/alternative routing.

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.