Skip to main content
Glama

Confirm submission

confirm_submission

Step 2 of 2. Call only after the maker explicitly confirmed the exact details and recipient email from the submit_listing preview. Pass the same fields plus its confirmationToken (valid 30 minutes). Emails a confirm link to makerEmail (expires after 48 hours) and returns a submission id that stays pending until the maker clicks it; poll get_submission_status. Changed fields or an expired token are rejected.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "tagline": "<tagline>",
      "description": "<description>",
      "url": "<url>",
      "category": "<category>",
      "makerEmail": "<makerEmail>",
      "confirmationToken": "<confirmationToken>"
    },
    "name": "confirm_submission"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYesPublic http(s) URL of the product
nameYesProduct name, 2-60 chars
tagsNoUp to 5 short tags
logoUrlNoPublic http(s) URL of a logo
pricingNoPricing model, only if verified; omit when unsure
repoUrlNoPublic GitHub, GitLab or Codeberg repo of an open-source product
taglineYesOne line pitch, 5-100 chars
categoryYesCategory id from list_categories
platformsNoPlatforms it runs on; api_cli covers APIs, SDKs and CLIs; omit when unsure
makerEmailYesContact email of the maker; receives a confirm link once confirm_submission runs
openSourceNoWhether the product is open source, only if verified; omit when unsure
descriptionYesPlain description of what it does, 20-2000 chars
confirmationTokenYesconfirmationToken from the submit_listing preview

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations (readOnly=false, idempotent=false, openWorld=true), the description discloses the token lifetime (30 minutes), the confirm-link expiry (48 hours), the pending-until-click state, and the rejection of changed fields or expired tokens. These are exactly the operational traits an agent needs before issuing a non-idempotent write.

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

Conciseness5/5

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

Four short sentences, front-loaded with the 'Step 2 of 2' sequencing and the call precondition before the expiry/rejection details. No filler or restated field documentation.

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?

Though there is no output schema, the description explains what the call returns (a submission id pending confirmation) and how to observe the outcome via get_submission_status. For a 13-parameter, non-idempotent mutation, the definition covers sequencing, preconditions, lifetimes, and failure modes.

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 is 3; the description still adds meaning by flagging that the same fields as the preview must be passed unchanged and that confirmationToken is time-limited (30 minutes) and tied to the preview. It adds little for optional fields like tags or platforms, but the token and makerEmail semantics are genuinely enriched.

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 concrete verb and resource ('confirm_submission ... emails a confirm link ... returns a submission id') and explicitly positions itself as 'Step 2 of 2' relative to the submit_listing preview. An agent can distinguish it from submit_listing and get_submission_status without opening a schema.

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?

Gives an explicit precondition ('Call only after the maker explicitly confirmed the exact details and recipient email from the submit_listing preview') and names the follow-up tool ('poll get_submission_status'). The rejection conditions for changed fields or expired tokens also tell the agent when a call will fail.

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