Skip to main content
Glama

ChatStack - App Cost Estimator

Submit PRD and app estimate

submit_prd
Destructive

Submit the completed software PRD and app development estimate for email delivery and portal project creation. Call it only after user stories, requirements, tech specs, and the estimate exist. (flow_stage estimate). Run it for me stops at this tool. Offer submission and wait for the user. Do not submit it the way an empty send_action advances a milestone. Before calling, tell the user it emails the pack and creates a portal project. Propose first_name, last_name, email, country, and project_name already provided by the user, or a project name suggested by the tool. Show those values for confirmation and ask only for missing fields; if none are known, ask for all five. Set confirmed_by_user=true only after they confirm. Offer optional feedback and omit it if they skip. Never invent a contact field. If they decline, do not call this tool. Omit contact arguments the thread already collected. Pass the thread_id and interview_handle from the Session section. Success is only a ### PRD submitted receipt that includes project_id and version_id. Relay post_submit_notice verbatim, including every URL, and do not add an email-delivery caveat. A missing next_tool, a timeout, or an error is not success. If the result is unclear, call get_estimate_status. Do not call submit_prd again while that check is still unclear. Do not call submit_prd again after a receipt with both ids.

Input Schema

NameRequiredDescriptionDefault
emailNoSuggested or confirmed email from user context.
countryNoSuggested or confirmed home country from user context.
feedbackNoOptional notes from the user (scope, questions, extra context). Ask, but omit if they skip. Never invent this.
last_nameNoSuggested or confirmed surname from user context.
thread_idYesInterview thread id from start_session.
first_nameNoSuggested or confirmed first name from user context.
project_nameNoSuggested or confirmed project name. Prefer values the user stated.
interview_handleYesOpaque interview handle from start_session. Pass it on every later tool.
confirmed_by_userNoSet true only after the user confirms the contact details (or corrects them).
interview_summaryNoOptional override; normally loaded from the thread

Output Schema

NameRequiredDescriptionDefault
resultNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and openWorldHint=true, and the description is consistent with that while adding substantial detail the annotations cannot convey: it emails the pack, creates a portal project, requires telling the user beforehand, requires showing contact values for confirmation, relays post_submit_notice verbatim, and defines a strict success criterion (a ### PRD submitted receipt with project_id and version_id) while treating timeout or missing next_tool as failure. It also adds an idempotency guard against re-calling after a receipt.

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 purpose, then proceeds through preconditions, confirmation flow, success criteria, and retry limits in a workable order. It is dense and a few sentences are grammatically broken ('Run it for me stops at this tool', 'Do not submit it the way an empty send_action advances a milestone'), which costs some parseability, but almost every sentence carries an operative rule.

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?

An output schema exists so return values need no explanation, yet the description still defines exactly what a success receipt looks like and what to do when it is absent. For a destructive, open-world, 10-parameter submission tool with a human confirmation gate, nothing an agent needs in order to call it correctly is missing.

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% and the field descriptions already say 'suggested or confirmed' and 'set true only after the user confirms,' so much of the parameter guidance is restated. The description still adds non-schema rules that change invocation behavior: omit contact arguments the thread already collected, never invent a contact field, ask only for missing fields, and pass thread_id and interview_handle from the Session section.

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 compound resource: submit the completed PRD and app estimate for email delivery and portal project creation. It also distinguishes itself from siblings by naming get_estimate_status as the fallback check and by warning against the empty send_action milestone advance, so an agent can tell the three apart 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 (only after user stories, requirements, tech specs, and the estimate exist), an explicit refusal path (if they decline, do not call this tool), and an explicit alternative when the outcome is ambiguous (call get_estimate_status). When-to-use, when-not-to-use, and the alternative are all present.

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