a2a2p — Agent-to-Agent-to-Physical
Server Details
Turn agent intent into physical parts: engineering review, measured geometry, calibrated pricing.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Server Listing
- a2a2p
Available Tools
24 toolsbuild_supplier_request_packageAInspect
PRECONDITION — CALL ONLY after the requester supplied what the physical object must accomplish at intent.purpose (or requirement). If absent, ask the requester first; never infer purpose and do not invoke this tool yet. Build a synchronous, deterministic supplier request package from the requirement the caller already holds. The package follows the open a2a2p supplier profile and its versioned output schema at https://a2a2p.com/schema/supplier-package, preserves provenance, carries quote-stage screening, and names every quote-critical gap instead of inventing values. Every emitted package carries a reproducible SHA-256 artifact_identity over the exact package content, excluding the identity field itself. The digest proves content identity only; it does not prove supplier receipt, a quote, payment, fabrication, or physical correctness. The package also returns a deterministic quote_stage_eligibility receipt. Quote-stage eligibility lane flat_laser_cut_5052_h32: aluminum_5052_h32, laser_cutting, quantity 1-5, 10-300 mm by 10-300 mm, verified HTTPS DXF, raw finish, no secondary or regulated requirements, US delivery, and total budget up to USD 500. Classification sets no fee and grants no payment, supplier-contact, quote-acceptance, order, or fabrication authority. If no package can be built, MCP and REST share the a2a2p.supplier-package-rejection contract: a closed reason_code, exact vocabulary version, and deterministic next_action only where repair is sufficient. A purpose_required rejection includes an a2a2p.argument-repair operation that preserves the caller's existing arguments, requires the caller's own purpose statement, and forbids inference. An explicit specification.assembly with two or more parts returns decomposition_required and no package; one package represents one fabricated part. This is a stateless data transformation only: it stores no requirement, contacts no supplier or provider, requests no external quote, and creates no order, payment, or fabrication authority.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Layer 1 — the problem. What the physical matter needs to DO. Use this for intent-driven requests where the agent describes purpose and a2a2p recommends solutions. | |
| contact | No | Optional email or callback endpoint for quote delivery. | |
| deadline | No | Required delivery date or timeframe. Maps to intent.timeline. | |
| delivery | No | Optional caller-declared routing context carried into the returned package. a2a2p does not send it anywhere. | |
| quantity | No | Number of units needed. Maps to intent.quantity. | |
| budget_usd | No | Approximate budget in USD. Maps to intent.budget_envelope. | |
| constraints | No | Hard constraints: tolerances, certifications, materials to avoid, size/weight limits. Maps to intent.functional_requirements. | |
| requirement | No | Plain-language description of the physical need. Maps to intent.purpose. Include function, dimensions, materials, load/performance requirements, environment, and interfaces where known. | |
| callback_url | No | Optional HTTPS URL. When the quote is ready, a2a2p POSTs it as JSON to this URL. | |
| specification | No | Layer 2 — the solution. What the physical matter IS. Populate what is known. Precise specifications produce faster, tighter quotes. Controlled vocabularies are preferred but open values are accepted. | |
| business_context | No | Optional business requirements (expected volumes, cost targets, ROI constraints). If provided, the quote includes a business case. | |
| rejected_alternatives | No | Options already considered and ruled out. Prevents re-suggesting and builds the learning corpus. |
Output Schema
| Name | Required | Description |
|---|---|---|
| gaps | Yes | |
| profile | Yes | |
| request | Yes | |
| delivery | Yes | |
| geometry | Yes | |
| screening | Yes | |
| commercial | Yes | |
| provenance | Yes | |
| already_checked | Yes | |
| profile_version | Yes | |
| artifact_identity | Yes | |
| specification_url | Yes | |
| what_is_requested | Yes | |
| delivery_requirements | Yes | |
| quote_stage_eligibility | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with no annotations, the description fully discloses behavior: it is a stateless data transformation, stores no requirement, contacts no supplier, requests no quote, and creates no order, payment, or fabrication authority. It explains the deterministic SHA-256 artifact_identity and quotes the rejection contract behaviors, including purpose_required rejection with a repair operation. No annotation contradiction exists because no annotations were provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long, but each sentence carries distinct operational or behavioral information: the precondition, the package contract, the eligibility lane, the rejection contract, the decomposition rule, and the statelessness guarantee. It is front-loaded with the precondition and uses clear technical vocabulary. The length is justified by the tool's complexity, although a tighter sentence around the eligibility lane would improve it slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex package-building tool with 12 parameters, no required parameters, and an output schema, the description covers the critical decision context: when to call, what the package is, what the eligibility lane is, what rejection behavior looks like, and what side effects are absent. The output schema exists, so return-value explanation is unnecessary. An agent has enough to invoke correctly without inferring hidden behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage and richly describes parameters, so the description does not need to repeat field-level detail. It does add contextual semantics at the parameter level by explaining the purpose precondition and the eligibility lane dimensions for quote_stage_eligibility, plus the decomposition_required rule for specification.assembly. This is useful, but the schema already carries the heavy load, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a verb and resource: 'Build a synchronous, deterministic supplier request package from the requirement the caller already holds.' It distinguishes the tool by tying it to the a2a2p supplier profile and to explicit preconditions, and it tells agents it must not be called without a purpose. The function is unmistakable relative to siblings like request_physical_solution or get_supply_options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage guidance is explicit and front-loaded: 'CALL ONLY after the requester supplied... intent.purpose (or requirement). If absent, ask the requester first; never infer purpose and do not invoke this tool yet.' It sets the quote-stage eligibility lane, states what the package does not do, and identifies rejection contracts such as decomposition_required. This is more than enough for an agent to choose it over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_quote_jobAInspect
Check an asynchronous provider-estimate job created by request_provider_estimate, including its queued or terminal execution substate. Terminal statuses: completed, degraded, refused. An unknown read returns reason_code=unknown_or_not_yet_visible. Retry with backoff only when the id came from an authoritative admitted response; never infer an id after a rejected admission.
| Name | Required | Description | Default |
|---|---|---|---|
| quote_job_id | Yes | The quote_job_id returned by request_provider_estimate, e.g. QJ-XEQBYMHK. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses that the job is asynchronous, reports queued and terminal substates, lists the three terminal statuses, explains the unknown-read reason_code, and provides a concrete retry/polling constraint. This is rich, actionable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences cover the target, the status model, the unknown-read behavior, and retry safety without filler. Critical information is front-loaded from the first sentence, and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without annotations or an output schema, the description gives enough for an agent to call the tool, interpret terminal statuses, handle unknown reads, and decide when retrying is safe. No missing information appears necessary for correct invocation or basic response interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds meaningful extra semantics by specifying that the quote_job_id must come from an authoritative admitted response and explicitly warns against inferring an id after rejection. This goes beyond the schema's simple 'returned by request_provider_estimate' provenance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Check') and a specific resource ('asynchronous provider-estimate job created by request_provider_estimate'), which clearly distinguishes it from broader status tools like check_request_status. It also names the relevant execution substates and terminal statuses, making the tool's scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies this tool is for jobs originating from request_provider_estimate, which is the exact context an agent needs. It also gives explicit retry guidance and warns against inferring quote_job_id after rejected admission, but it does not explicitly contrast the tool with sibling alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_request_statusAInspect
Check the status of a previously submitted physical-solution request. Returns a generated machine draft as soon as it exists, with a versioned delivery receipt that distinguishes pending_machine_draft, generation_failed, generation_expired, machine_draft, and operator_published. The receipt exposes privacy-minimized automatic-generation progress: observed attempt count, fixed maximum, current eligibility, and exact next automatic-attempt time, without model errors or request content. Professional engineering, supplier-quote, and physical-action claims remain false. generation_failed and generation_expired are terminal for that request id and permit only a caller-confirmed new request from caller-held input. For an immutable revision, it also returns its persisted deterministic readiness_progress comparison.
| Name | Required | Description | Default |
|---|---|---|---|
| request_id | Yes | The request_id returned by request_physical_solution, e.g. A2A2P-7K2M4X. |
Output Schema
| Name | Required | Description |
|---|---|---|
| quote | No | |
| status | Yes | |
| message | No | |
| submitted | Yes | |
| request_id | Yes | |
| report_delivery | Yes | Distinguishes report availability and publication provenance from request lifecycle, supplier quoting, and physical authority. |
| resolution_report | No | |
| readiness_progress | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers extensively. It discloses the versioned delivery receipt, the distinct status values, terminal behavior for generation_failed and generation_expired, privacy-minimized progress exposure, and the falsehood of professional/supplier/physical-action claims. This is exceptionally transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded with the core purpose, and every sentence contributes meaningful information about behavior or state transitions. It is not a model of brevity, yet the complexity of the tool justifies most of the length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, the presence of an output schema, and the high complexity of the state machine, the description covers what an agent needs: how to identify the request, what statuses exist, what is terminal, and what additional data is returned for immutable revisions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter request_id is already documented as 'The request_id returned by request_physical_solution.' The description reinforces the context but does not add materially new parameter-level semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Check the status of a previously submitted physical-solution request.' It distinguishes this tool from request_physical_solution by emphasizing 'previously submitted,' and the detailed status vocabulary makes its purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: after a physical-solution request has been submitted, to check its status and delivery. It does not explicitly name competing tools like check_quote_job or state when not to use them, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
derive_rectangular_beam_sectionAInspect
Derive one proposal-only prismatic rectangular beam height from a caller-declared purpose, supported idealized load model, fixed width, explicit elastic modulus, and at least one requester acceptance criterion. The operation solves closed-form equations, rounds upward to the caller's manufacturing increment, and re-runs the canonical bounded evaluator. It performs no general optimization, material selection, network call, supplier contact, persistence, purchase, or fabrication and grants no engineering or physical authority.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| load_n | Yes | ||
| purpose | Yes | ||
| span_mm | Yes | ||
| section_width_mm | Yes | ||
| max_deflection_mm | Yes | ||
| elastic_modulus_gpa | Yes | ||
| allowable_stress_mpa | Yes | ||
| manufacturing_increment_mm | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behaviors: solves closed-form equations, rounds upward to manufacturing increment, re-runs the evaluator, and grants no authority. It also explicitly lists operations it does not perform, giving the agent a clear picture of side effects. It does not mention failure modes or edge cases, but these are largely covered by the schema constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. The main action is front-loaded, and the second sentence efficiently lists limitations. It is dense but readable, earning a high score for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description leaves out key parameters (load_n, span_mm) and does not specify the exact acceptance criteria fields. For a 9-parameter tool with no schema descriptions, the agent needs more explicit parameter guidance to invoke the tool correctly. The description covers the overall workflow but is incomplete for robust usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must explain parameters. It references purpose, load model, width, elastic modulus, acceptance criteria, and manufacturing increment, but omits two critical physical inputs: load_n and span_mm. It also fails to name the specific acceptance criteria fields (max_deflection_mm and allowable_stress_mpa), leaving agents to infer them from the schema. This is insufficient for a tool with nine parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('derive'), a specific resource ('prismatic rectangular beam height'), and clarifies it is 'proposal-only.' It distinguishes from sibling tools by explicitly listing what it does not do (optimization, material selection, network calls, fabrication), making it clear it is a pure sizing calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides contextual guidance by labeling the output as 'proposal-only' and listing exclusions (no general optimization, no engineering authority), which helps an agent understand when not to rely on this tool. However, it does not explicitly name alternative sibling tools (e.g., validate_rectangular_beam_section_derivation) or state conditions under which to choose them, so it leaves some inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explore_rectangular_beam_sectionsAInspect
Evaluate 2 to 12 caller-declared rectangular beam widths through the canonical bounded height derivation, then return every proposal and the exact non-dominated frontier for minimizing section height and idealized prismatic material volume. Width order is normalized; duplicates fail closed. The operation never invents a width, assigns an aggregate score, selects a candidate, estimates material cost, verifies manufacturing or omitted failure modes, calls an external system, or grants engineering, purchase, or fabrication authority.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| load_n | Yes | ||
| purpose | Yes | ||
| span_mm | Yes | ||
| max_deflection_mm | Yes | ||
| elastic_modulus_gpa | Yes | ||
| allowable_stress_mpa | Yes | ||
| section_width_options_mm | Yes | Finite caller-owned width set. Input order has no decision meaning and is normalized ascending before evaluation. | |
| manufacturing_increment_mm | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it is exceptionally transparent: it discloses width normalization, duplicate fail-closed behavior, and a detailed list of non-actions such as no candidate selection, no external calls, no manufacturing verification, and no authority granting. This goes well beyond typical descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is densely packed and front-loaded with the core action, and every phrase adds information. The long negative tail is justified because it prevents dangerous misuse, though the single-sentence structure makes it slightly harder to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool is complex with 9 required parameters and conditional constraint logic, and the description does not explain how to choose or combine max_deflection_mm, allowable_stress_mpa, or model variants. An agent would struggle to construct a valid request from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 11%, so the description must compensate, but it primarily explains the width array behavior and output concepts. It does not clarify the roles of load_n, span_mm, elastic_modulus_gpa, manufacturing_increment_mm, model choices, or the deflection/stress constraint alternatives.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Evaluate'), a precise resource ('rectangular beam sections'), and a clear output ('every proposal and the exact non-dominated frontier'). It also distinguishes itself from siblings by emphasizing multi-width exploration and explicitly ruling out candidate selection, so an agent can differentiate it from derive_rectangular_beam_section.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames when to use the tool: when evaluating 2 to 12 caller-declared widths and needing the full non-dominated frontier. It also gives an implicit when-not by stating it never selects a candidate, assigns scores, or estimates costs, though it does not name specific alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supply_optionsAInspect
Instant, synchronous pricing and lead time for a physical requirement — nothing is submitted or stored. Returns a deterministic parametric estimate (source="estimate", pricing_kind="model_estimate", clearly labeled, never presented as a quote). The protocol separately labels provider_estimate and provider_quote; public provider routing is not active. An explicit specification.assembly with two or more parts returns decomposition_required before file inspection or pricing; submit each fabricated part separately. Covers CNC machining, sheet metal, 3D printing, casting, injection molding, and extrusion. ATTACH AN STL in specification.design_files and a2a2p measures the mesh directly — true volume, surface area, bounding box — which replaces guesswork with measurement and returns manufacturability findings only geometry reveals. Otherwise supply intent.geometric_envelope (bounding box in mm), quantity, and material. Use this to answer "what will this cost and how long will it take?" inside a single session, before committing to a full resolution report.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Layer 1 — the problem. What the physical matter needs to DO. Use this for intent-driven requests where the agent describes purpose and a2a2p recommends solutions. | |
| contact | No | Optional email or callback endpoint for quote delivery. | |
| deadline | No | Required delivery date or timeframe. Maps to intent.timeline. | |
| quantity | No | Number of units needed. Maps to intent.quantity. | |
| budget_usd | No | Approximate budget in USD. Maps to intent.budget_envelope. | |
| constraints | No | Hard constraints: tolerances, certifications, materials to avoid, size/weight limits. Maps to intent.functional_requirements. | |
| requirement | No | Plain-language description of the physical need. Maps to intent.purpose. Include function, dimensions, materials, load/performance requirements, environment, and interfaces where known. | |
| callback_url | No | Optional HTTPS URL. When the quote is ready, a2a2p POSTs it as JSON to this URL. | |
| specification | No | Layer 2 — the solution. What the physical matter IS. Populate what is known. Precise specifications produce faster, tighter quotes. Controlled vocabularies are preferred but open values are accepted. | |
| business_context | No | Optional business requirements (expected volumes, cost targets, ROI constraints). If provided, the quote includes a business case. | |
| rejected_alternatives | No | Options already considered and ruled out. Prevents re-suggesting and builds the learning corpus. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It is highly transparent: nothing is submitted or stored, responses are deterministic parametric estimates with explicit source and pricing_kind labels, assemblies trigger decomposition_required, and STL geometry is measured directly rather than guessed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but not bloated. Each sentence carries distinct information: sync behavior, estimate labeling, process coverage, assembly caveat, geometry measurement, and primary use case. It could be cleaner with bullet or shorter clauses, but it remains appropriately front-loaded with the core purpose first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does explain what kind of result to expect (deterministic estmate with source and pricing_kind labels) and covers key behavioral edge cases like assemblies and missing geometry. It does not specify the exact response shape or failure modes beyond decomposition_required, so it is not fully complete but is strong for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds meaningful cross-parameter guidance beyond the schema: STL files in specification.design_files are measured by a2a2p, explicit multi-part assemblies should be submitted per fabricated part, and fallback inputs are intent.geometric_envelope, quantity, and material.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: "Instant, synchronous pricing and lead time for a physical requirement." It also distinguishes itself from sister flows by noting it is a labeled model estimate, never a provider quote, and explicitly contrasts with committing to a full resolution report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: "Use this to answer 'what will this cost and how long will it take?' inside a single session, before committing to a full resolution report." It also explains assembly decomposition behavior and recommended inputs, but it does not explicitly name which sibling tool to prefer when provider routing becomes active.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_material_evidence_promotionBInspect
Plan the evidence needed to transform a validated material source observation into a future material-property-evidence input. Deterministic and stateless: it compares exact property, material-state, orientation, temperature, and process context; binds source, target, and planner digests; and names conflicts plus missing method, uncertainty, freshness, and excerpt evidence. It never promotes the observation, creates simulation input, calls a model or solver, contacts a supplier/provider, or grants engineering, order, payment, or fabrication authority.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | ||
| observation | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does substantial work: it discloses determinism, statelessness, the exact comparison dimensions (property, material-state, orientation, temperature, process context), digest binding, and the non-authority boundary. This gives an agent a strong picture of side-effect-free, safe behavior without needing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences front-load the purpose and then cover behavior and boundaries efficiently. Each sentence earns its place, though the long multi-clause sentences reduce readability slightly. There is no padding or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is high-complexity (2 deeply nested params, 0% schema coverage, no annotations) and an output schema exists, so return-value explanation is unnecessary. The description covers purpose, determinism, comparisons, and exclusions, which is adequate, but the parameter semantics gap and lack of explicit usage routing leave it incomplete for an agent that must construct a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the two parameters (observation, target) are deeply nested, yet the description never explicitly maps its behavior onto these parameters. It alludes to 'source, target, and planner digests' and compares target context fields, but doesn't explain what the observation vs target distinction means for a caller. The description fails to compensate for the 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('plan') and resource ('evidence needed to transform a validated material source observation into a future material-property-evidence input'), which clearly positions it as a planning step. The negative boundary ('never promotes the observation, creates simulation input, calls a model or solver') differentiates it from sibling validation and simulation tools like validate_simulation_study_result and run_bounded_simulation_study, though it doesn't name them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context: it operates on a *validated* material source observation, which suggests it follows a prior validation step. The exclusion list ('never creates simulation input, calls a model or solver') gives partial routing guidance. However, no alternative tools are named and no explicit 'use X instead when...' guidance is provided, leaving the when-to-use-vs-alternative decision largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_derived_beam_simulationAInspect
Compile one exact replay-verified rectangular-beam derivation into a prepared bounded simulation study. The caller must supply the original derivation input and receipt, its exact validation receipt, simulation-eligible source-bound material evidence matching the modulus, an objective, source freshness, and a physical validation plan. The compiler replays first, derives a stable candidate ID, repeats deterministic review, preserves requester criteria as hard gates, and publishes omitted failure modes. It never chooses material or objective, verifies physical truth, runs a solver, stores data, contacts a supplier, or grants physical authority.
| Name | Required | Description | Default |
|---|---|---|---|
| objectives | Yes | ||
| source_metadata | Yes | ||
| derivation_input | Yes | ||
| derivation_receipt | Yes | ||
| derivation_validation | Yes | Exact output returned by validate_rectangular_beam_section_derivation for the same input and receipt. Runtime replay and full canonical comparison are authoritative. | |
| physical_validation_plan | Yes | ||
| material_property_evidence | Yes | Caller-supplied exact material-property source snapshot. Binding proves content identity and envelope validity only; it does not verify the source claim or create a design allowable. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure, and it does so thoroughly. It explains the precise sequence (replays first, derives stable candidate ID, repeats deterministic review, preserves criteria as hard gates, publishes omitted failure modes) and lists all non-actions. This is exceptional transparency for a complex compiler tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the core action and required inputs front-loaded in the first sentence. The second sentence packs multiple non-goals efficiently without redundancy. It is dense but not overly long, and every phrase carries information. Structure is clear and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 complex parameters and an output schema, the description provides a solid high-level context: the input requirements, the internal process, and the boundaries of responsibility. It covers the key aspects an agent needs to call it correctly. It does not delve into every parameter's nuances, but given the output schema exists and the description is already substantial, it is sufficiently complete for effective invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29%, so the description must compensate. It does mention high-level roles of the 7 parameters (e.g., 'simulation-eligible source-bound material evidence matching the modulus', 'source freshness', 'physical validation plan') and clarifies the requirement for exactness of the validation receipt. However, it does not explain individual parameter structure or relationships beyond what the schema already provides. It adds some semantic value but leaves room for improvement given the low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Compile') and a precise resource ('replay-verified rectangular-beam derivation into a prepared bounded simulation study'), clearly distinguishing it from siblings like prepare_simulation_study and run_bounded_simulation_study. It states the input requirement and the compilation workflow, leaving no ambiguity about the tool's core function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It lists all required caller-supplied inputs and explicitly enumerates what the tool never does ('never chooses material or objective, verifies physical truth, runs a solver, stores data, contacts a supplier, or grants physical authority'). This gives clear exclusions and helps an agent decide when NOT to use it, but it does not explicitly name alternative tools for those cases. The guidance is strong but could be more pointed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_domain_solutioning_caseAInspect
Prepare a synchronous, deterministic, privacy-minimized engineering case for a compatible domain-intelligence system. Use it when intake_classification is capability_concept or assembly_or_system and mechanism selection or decomposition is required. The case preserves requester facts, deterministic evidence, screening state, unknowns, and a versioned candidate-output contract while removing design-file URLs, bytes, contact fields, and callback routes. This operation does not call deb8stack or any model, choose a mechanism, validate a proposal, store a request, contact a supplier, or grant quote, order, payment, or fabrication authority.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Layer 1 — the problem. What the physical matter needs to DO. Use this for intent-driven requests where the agent describes purpose and a2a2p recommends solutions. | |
| contact | No | Optional email or callback endpoint for quote delivery. | |
| deadline | No | Required delivery date or timeframe. Maps to intent.timeline. | |
| quantity | No | Number of units needed. Maps to intent.quantity. | |
| budget_usd | No | Approximate budget in USD. Maps to intent.budget_envelope. | |
| constraints | No | Hard constraints: tolerances, certifications, materials to avoid, size/weight limits. Maps to intent.functional_requirements. | |
| requirement | No | Plain-language description of the physical need. Maps to intent.purpose. Include function, dimensions, materials, load/performance requirements, environment, and interfaces where known. | |
| callback_url | No | Optional HTTPS URL. When the quote is ready, a2a2p POSTs it as JSON to this URL. | |
| specification | No | Layer 2 — the solution. What the physical matter IS. Populate what is known. Precise specifications produce faster, tighter quotes. Controlled vocabularies are preferred but open values are accepted. | |
| business_context | No | Optional business requirements (expected volumes, cost targets, ROI constraints). If provided, the quote includes a business case. | |
| rejected_alternatives | No | Options already considered and ruled out. Prevents re-suggesting and builds the learning corpus. |
Output Schema
| Name | Required | Description |
|---|---|---|
| next | Yes | |
| safety | Yes | |
| contract | Yes | |
| authority | Yes | |
| activation | Yes | |
| provenance | Yes | |
| case_digest | Yes | |
| requirement | Yes | |
| requested_work | Yes | |
| expected_result | Yes | |
| contract_version | Yes | |
| deterministic_evidence | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it excels: it discloses that the operation is synchronous and deterministic, preserves specific data categories, removes design-file URLs, bytes, contact fields, and callback routes, and explicitly lists operations it does not perform, such as calling models, choosing mechanisms, storing requests, or granting authority. This gives an agent a strong safety and side-effect profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: purpose, usage conditions, preservation/privacy behavior, and explicit non-actions. It is front-loaded with the primary action and avoids redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with complex nested input, full schema coverage, and an output schema, the description supplies the missing operational context: when to use it, what data is preserved versus stripped, and what the operation will not do. An agent has enough information to decide whether to invoke this tool and to set expectations for its behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents every parameter thoroughly, satisfying the baseline. The description does not add parameter-level meaning beyond that baseline, though it does clarify that some fields like design-file URLs are stripped from the output case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: it 'prepares' a 'synchronous, deterministic, privacy-minimized engineering case' for a domain-intelligence system. It further distinguishes this from sibling tools by tying it to intake_classification values and mechanism selection/decomposition, so an agent can tell what this tool uniquely produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use it when intake_classification is capability_concept or assembly_or_system and mechanism selection or decomposition is required.' It does not name specific sibling alternatives or give exclusion conditions, but the stated trigger conditions are sufficiently precise for routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_reviewed_beam_simulationAInspect
Compile one caller-selected domain-solutioning candidate into a prepared bounded beam simulation study after repeating deterministic engineering review. The requirement must explicitly state the supported load model, geometry, load, and elastic modulus; the caller must state the objective, source freshness, and physical validation plan. Optional material_property_evidence content-addresses an exact engineering datasheet or measurement with material state, applicability, method, and uncertainty; its value must match the requirement. Semantic placeholders such as unknown, unspecified, n/a, or tbd cannot make material state or applicability simulation-eligible. Computed-crystal evidence remains screening/reference-only because this scalar product model cannot preserve its tensor, orientation, grade, condition, or product-form boundary. Requester limits become hard constraints. It never verifies a source claim, selects a candidate, invents physics, runs a solver, stores data, contacts a supplier, or grants physical authority.
| Name | Required | Description | Default |
|---|---|---|---|
| objectives | Yes | ||
| requirement | Yes | ||
| candidate_id | Yes | ||
| source_metadata | Yes | ||
| simulation_handoff | Yes | ||
| physical_validation_plan | Yes | ||
| material_property_evidence | No | Caller-supplied exact material-property source snapshot. Binding proves content identity and envelope validity only; it does not verify the source claim or create a design allowable. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does so comprehensively: it reveals that it repeats a review, treats requester limits as hard constraints, and explicitly lists a long set of actions it never performs. It also discloses the reference-only status of computed-crystal evidence and the ineligibility of placeholder values. This is exceptionally transparent for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured paragraph that front-loads the core purpose, then systematically covers constraints, evidence rules, and non-goals. Every sentence earns its place—no filler, no repetition. The use of explicit 'never' statements is an efficient way to communicate boundaries without extra prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, nested structures, optional evidence) and the existence of an output schema, the description is largely complete. It covers input constraints, evidence eligibility, and non-goals. The only minor omission is the nature of simulation_handoff, but it likely refers to a predefined handoff object; the description still gives enough to call the tool correctly. The output is presumably covered by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 14%, so the description must compensate. It does: it explains the requirement must state load model, geometry, load, and elastic modulus; objectives must be stated; source freshness must be provided; physical validation plan is required. It gives detailed meaning to material_property_evidence (must match requirement, placeholder values ineligible, computed-crystal is reference-only). It does not explain simulation_handoff or candidate_id, but these are largely self-explanatory. Overall, it adds substantial meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Compile') and resource ('prepared bounded beam simulation study'), and clarifies it operates on 'one caller-selected domain-solutioning candidate'. It distinguishes from siblings by explicitly listing non-goals ('never verifies a source claim, selects a candidate, invents physics, runs a solver, stores data, contacts a supplier, or grants physical authority'). No ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies when to use it: after 'repeating deterministic engineering review' and for a single candidate. It lists required input content (load model, geometry, load, elastic modulus; objectives; source freshness; physical validation plan) and notes what it does not do, which indirectly points to alternatives like run_bounded_simulation_study. It could be even more explicit about naming alternative tools, but the context is sufficient for an agent to infer selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_simulation_studyAInspect
Prepare a deterministic, side-effect-free simulation study for existing a2a2p domain-solutioning candidate IDs. It records exact quantities, units, closed-kind source snapshots with staleness intervals, hard constraints, solver/model/settings provenance, assumptions, validity domain, and a physical validation plan. It runs no solver, chooses no candidate, stores nothing, and grants no physical authority.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | ||
| objectives | Yes | ||
| experiments | Yes | ||
| candidate_ids | Yes | ||
| hard_constraints | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It goes far beyond that: it declares determinism, side-effect-free operation, and explicitly lists what it does not do (run solver, choose candidate, store, grant authority). It also enumerates the exact categories of information recorded (quantities, units, snapshots, constraints, provenance, etc.), giving the agent a precise behavioral model. No contradiction with annotations since none exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, efficiently front-loading the main purpose in the first sentence. The second sentence packs a substantial list of recorded items, which is dense but not excessively long. It avoids fluff and stays focused. A slight deduction for the jargon-heavy second sentence that could be clearer, but overall it is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema (true), the description does not explain any of the 5 required parameters, their semantics, or how to structure the inputs. The domain is specialized (a2a2p domain-solutioning), and while the high-level purpose is clear, an agent cannot confidently build a valid invocation without understanding what 'source', 'objectives', 'experiments' etc. expect. The description is far from complete for a tool with this many required parameters and specialized terminology.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% – the description never references the input schema's parameters (source, candidate_ids, objectives, hard_constraints, experiments). While the description mentions 'candidate IDs' and 'hard constraints' in a general sense, it does not explain what each parameter means, how to supply them, or what formats/values are expected. The schema itself has no per-property descriptions, so the description is the only source, and it fails to compensate. This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: to prepare a simulation study (not run it), targeted at existing a2a2p domain-solutioning candidate IDs. It specifies the resource (simulation study) and the action (prepare), and distinguishes itself from execution tools like run_bounded_simulation_study by explicitly noting it runs no solver. This is a specific verb+resource that sets it apart from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the usage context obvious: it is a preparation step, not execution, and it is side-effect-free. It implies this should be used before running a simulation and before any solver execution, and it is for domain-solutioning candidates. However, it does not explicitly name alternative tools or provide when-not-to-use conditions beyond the implicit 'no solver, no selection, no storage, no authority' statements. This is clear context but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_supplier_email_bindingAInspect
Render the caller's requirement as a reviewable RFC 5322 supplier-email draft after rebuilding its canonical supplier package and repeating quote-stage screening. The plain-language draft offers optional Can quote / Need changes / Decline reply choices and asks for price basis, freight scope, and lead-time basis when quoting. Suppliers may still reply in normal prose. Only an allow verdict renders. The operation validates one explicit recipient and an accountable sender-domain envelope, but cannot verify SPF, DKIM, or DMARC and therefore returns sendable=false. An explicit specification.assembly with two or more parts returns decomposition_required before file inspection or rendering. It is a stateless artifact transformation only: it stores nothing, sends nothing, contacts no supplier or provider, and grants no quote, order, payment, or fabrication authority.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Layer 1 — the problem. What the physical matter needs to DO. Use this for intent-driven requests where the agent describes purpose and a2a2p recommends solutions. | |
| contact | No | Optional email or callback endpoint for quote delivery. | |
| deadline | No | Required delivery date or timeframe. Maps to intent.timeline. | |
| quantity | No | Number of units needed. Maps to intent.quantity. | |
| budget_usd | No | Approximate budget in USD. Maps to intent.budget_envelope. | |
| constraints | No | Hard constraints: tolerances, certifications, materials to avoid, size/weight limits. Maps to intent.functional_requirements. | |
| requirement | No | Plain-language description of the physical need. Maps to intent.purpose. Include function, dimensions, materials, load/performance requirements, environment, and interfaces where known. | |
| callback_url | No | Optional HTTPS URL. When the quote is ready, a2a2p POSTs it as JSON to this URL. | |
| email_binding | Yes | Explicit envelope for a reviewable, non-sending RFC 5322 draft. No address is looked up or inferred. | |
| specification | No | Layer 2 — the solution. What the physical matter IS. Populate what is known. Precise specifications produce faster, tighter quotes. Controlled vocabularies are preferred but open values are accepted. | |
| business_context | No | Optional business requirements (expected volumes, cost targets, ROI constraints). If provided, the quote includes a business case. | |
| rejected_alternatives | No | Options already considered and ruled out. Prevents re-suggesting and builds the learning corpus. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| version | Yes | |
| artifact | Yes | |
| contract | Yes | |
| sendable | Yes | |
| authority | Yes | |
| provenance | Yes | |
| conformance | Yes | |
| binding_sha256 | Yes | |
| digest_semantics | Yes | |
| sender_authentication | Yes | |
| reply_route_verification | Yes | |
| requirements_before_sending | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden — and it delivers extensively. It discloses the allow-verdict gate, the sendable=false limitation due to unverifiable SPF/DKIM/DMARC, the decomposition_required early return for multi-part assemblies, and an explicit statelessness guarantee (stores nothing, sends nothing, contacts no one, grants no authority). This is exemplary side-effect and limitation disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence earns its place: purpose, draft content, gating, validation limitation, guardrail, and side-effect profile each occupy one dense unit, and the primary purpose is front-loaded first. It is information-dense rather than padded, though an agent must parse several clauses before reaching the simplest takeaway.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 12 parameters, nested objects, and an output schema, the description covers nearly everything an agent needs: preconditions, render gating, validation behavior, limitations, early-return cases, and the no-side-effect profile. The one notable gap is that it references "specification.assembly" as a guardrail trigger, but no such property appears in the visible specification schema — a minor inconsistency that could confuse an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, setting a baseline of 3. The description adds value beyond the schema by explaining envelope validation behavior — "validates one explicit recipient and an accountable sender-domain envelope" — which gives the email_binding parameters (recipient, from, principal_domain, reply_to) operational meaning not present in their individual schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause states a specific verb and resource — "Render the caller's requirement as a reviewable RFC 5322 supplier-email draft" — and frames it as a post-processing step (after rebuilding the canonical supplier package and repeating quote-stage screening). This clearly distinguishes it from siblings like build_supplier_request_package (which builds a package, not a draft) and request_provider_estimate (which requests an estimate, not a reviewable artifact).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys clear usage context: it runs after package rebuilding and quote-stage screening, renders only on an allow verdict, and is a pure artifact transformation that sends nothing. However, it never names an alternative tool or states an explicit when-not-to-use condition, so routing among the 23 siblings is left partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_physical_solutionAInspect
Submit a physical-world requirement (a part, product, device, or capability that must exist in the physical world). a2a2p resolves it and returns a RESOLUTION REPORT: a recommended path (best existing commercial solution vs. custom fabrication), pricing, tradeoffs, a delivery plan with contingencies and expedite options, and a business case when business context is provided. Response is asynchronous: you receive a request_id immediately with an instant spec_review. Poll check_request_status; as soon as an automated draft exists it is returned with an a2a2p.resolution-report-delivery receipt that distinguishes machine_draft from operator_published. If the finite attempt budget is exhausted, status returns generation_failed; if the bounded automatic retry window expires first, it returns generation_expired. Either terminal state permits only a new caller-confirmed request from caller-held input. Operator review and publication are not guaranteed or subject to a service-level promise. No state is professional engineering certification or a supplier quote.
ENTRY MODES — arrive with what you have: • fully_specified: provide 'specification' (part_type, material, process, dimensions, tolerance_class, design_files). Go straight to resolution report. • intent_only: provide 'intent' (purpose, environment, functional_requirements, quantity, timeline, priority). a2a2p recommends 2-3 specification options with tradeoffs. • partial: provide what you know in either layer; a2a2p fills the gaps.
Layer 1 (intent) describes the PROBLEM. Layer 2 (specification) describes the SOLUTION. At minimum, provide 'requirement' (legacy) or 'intent.purpose' (structured) — one line describing what you need. Use 'rejected_alternatives' to record options already ruled out.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Layer 1 — the problem. What the physical matter needs to DO. Use this for intent-driven requests where the agent describes purpose and a2a2p recommends solutions. | |
| contact | No | Optional email or callback endpoint for quote delivery. | |
| deadline | No | Required delivery date or timeframe. Maps to intent.timeline. | |
| quantity | No | Number of units needed. Maps to intent.quantity. | |
| budget_usd | No | Approximate budget in USD. Maps to intent.budget_envelope. | |
| constraints | No | Hard constraints: tolerances, certifications, materials to avoid, size/weight limits. Maps to intent.functional_requirements. | |
| requirement | No | Plain-language description of the physical need. Maps to intent.purpose. Include function, dimensions, materials, load/performance requirements, environment, and interfaces where known. | |
| callback_url | No | Optional HTTPS URL. When the quote is ready, a2a2p POSTs it as JSON to this URL. | |
| specification | No | Layer 2 — the solution. What the physical matter IS. Populate what is known. Precise specifications produce faster, tighter quotes. Controlled vocabularies are preferred but open values are accepted. | |
| business_context | No | Optional business requirements (expected volumes, cost targets, ROI constraints). If provided, the quote includes a business case. | |
| rejected_alternatives | No | Options already considered and ruled out. Prevents re-suggesting and builds the learning corpus. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it substantially discloses behavior: async response with immediate request_id and spec_review, polling via check_request_status, machine_draft vs operator_published receipt distinction, and terminal states generation_failed and generation_expired. It also states that operator review/publication is not guaranteed and that output is not professional certification or a supplier quote.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but structured into purpose, return protocol, and entry modes, with every section adding operational detail. It is slightly verbose and contains awkward phrasing like 'No state is professional engineering certifiation or a supplier quote,' which keeps it from being a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description explains the report's contents, async behavior, receipt states, and terminal statuses in enough detail for an agent to understand the full lifecycle. Combined with the richly documented input schema, the tool is effectively self-contained for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, and the schema already documents each field richly. The description adds cross-cutting meaning beyond the schema by establishing the layer model, the minium requirement (requirement or intent.purpose), and the role of rejected_alternatives, which helps an agent assemble a correct request.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb and resource: 'Submit a physical-world requirement' and states that a2a2p resolves it and returns a RESOLUTION REPORT. This clearly distinguishes it from status-checking siblings like check_request_status and report- or simulation-oriented tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear entry-mode guidance (fully_specified, intent_only, partial) and even routes the caller to check_request_status for polling, but it does not explicitly say when this tool should be preferred over siblings such as request_provider_estimate or build_supplier_request_package. Usage context is implied rather than contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_provider_estimateAInspect
Submit a requirement to the durably queued provider-estimate workflow without holding the connection open. Returns a quote_job_id in milliseconds; scheduled settlement runs outside request waitUntil. Scheduled provider contact is not active in this release and cannot be enabled by an environment flag, so admitted jobs currently terminate as degraded with a deterministic model estimate. Additive processes with an STL design file only, for now. The requirement is screened before storage; any future provider activation must also screen the exact file bytes before contact. Every admission result is machine-readable. Rejections carry a stable closed-set reason_code, retry boundary, required input, and deterministic next_action; admitted responses carry the same versioned admission contract. An explicit specification.assembly with two or more parts is rejected before job creation or provider contact and must be decomposed first. Estimate only — never a quote, order, payment, or fabrication commitment. Poll with check_quote_job until a terminal status: completed (provider figure), degraded (deterministic model estimate with the provider's absence explained), or refused (screening).
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Layer 1 — the problem. What the physical matter needs to DO. Use this for intent-driven requests where the agent describes purpose and a2a2p recommends solutions. | |
| contact | No | Optional email or callback endpoint for quote delivery. | |
| deadline | No | Required delivery date or timeframe. Maps to intent.timeline. | |
| quantity | No | Number of units needed. Maps to intent.quantity. | |
| budget_usd | No | Approximate budget in USD. Maps to intent.budget_envelope. | |
| constraints | No | Hard constraints: tolerances, certifications, materials to avoid, size/weight limits. Maps to intent.functional_requirements. | |
| requirement | No | Plain-language description of the physical need. Maps to intent.purpose. Include function, dimensions, materials, load/performance requirements, environment, and interfaces where known. | |
| callback_url | No | Optional HTTPS URL. When the quote is ready, a2a2p POSTs it as JSON to this URL. | |
| specification | No | Layer 2 — the solution. What the physical matter IS. Populate what is known. Precise specifications produce faster, tighter quotes. Controlled vocabularies are preferred but open values are accepted. | |
| business_context | No | Optional business requirements (expected volumes, cost targets, ROI constraints). If provided, the quote includes a business case. | |
| rejected_alternatives | No | Options already considered and ruled out. Prevents re-suggesting and builds the learning corpus. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It reveals durable queuing, asynchronous settlement outside waitUntil, millisecond quote_job_id returns, the current degraded model-estimate behavior, screening before storage, the rejection contract (reason_code, retry boundary, required input, next_action), and the terminal statuses. This is exceptionally transparent for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but each clause serves a purpose, and the primary action is front-loaded. There is minor redundancy between 'Every admission result is machine-readable' and 'admitted responses carry the same versioned admission contract,' but the overall structure progresses logically from action to behavior to constraints to follow-up. It earns a 4 rather than a 5 because it could be tightened slightly without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description fully explains the return value (quote_job_id), the three terminal statuses (completed, degraded, refused), and how to poll with check_quote_job. It also covers current provider inactivity, screening behavior, rejection contract fields, and the estimate-only guarantee. An agent has everything needed to invoke the tool and interpret its result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so a baseline of 3 is warranted. The description adds meaningful cross-parameter constraints beyond the schema: additive processes require an STL design file, and an explicit specification.assembly with two or more parts is rejected and must be decomposed. These nuances help an agent avoid common invocation errors without relying solely on parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Submit a requirement to the durably queued provider-estimate workflow.' It clearly states what the tool does and what it returns (quote_job_id), and it explicitly differentiates the estimate action from a quote, order, payment, or fabrication commitment. This distinguishes it from siblings like check_quote_job and request_physical_solution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use and when-not-to-use guidance: use for provider estimates, not for quotes/orders/payments; do not submit assemblies with two or more parts unless decomposed; additive processes currently require an STL design file. It also prescribes the follow-up path by directing the agent to poll with check_quote_job until a terminal status, and it discloses the current inactive-provider behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_specificationAInspect
Instant, synchronous engineering review of a physical requirement — nothing is submitted or stored. Purpose prose is preserved as intent but is not silently converted into loads, geometry, environments, interfaces, or acceptance criteria. The versioned engineering_evaluation receipt lists canonical paths and exact checks run, reports not_evaluated when none ran, and denies engineering-validation, certification, physical-truth, supplier-acceptance, and fabrication authority. Its finding-penalty score is not engineering soundness. Deterministic checks: material identification with handbook-typical properties (density, stiffness, yield, service temperature), explicit rectangular beam deflection, nominal bending stress, and nominal transverse shear with requester-defined acceptance criteria, material/process compatibility, tolerance-vs-process reality, quantity economics (e.g. tooling amortization), environment fit (UV, saltwater, food contact, temperature, medical), flexibility fit, post-processing validity, design-file format fit, and specification completeness. Every matched material reference identifies the current table as an uncited compilation and explicitly denies source verification, exact-state verification, design-allowable use, and simulation eligibility. A criterion that depends on that reference remains not_evaluated; its numerical comparison is reference_only, never a pass, failure, or blocker. Every supplied limit or strength basis is labeled requester_assertion, and every criterion verdict is explicitly conditional on declared inputs and the bounded model—not engineering validation or design certification. Returns findings ranked blocker/warning/info, two readiness scores, and a deterministic clarification_plan: compact next_fields, visible remaining_fields, optional CAD accelerators, an intent-only resolution handoff, next_call with the recommended exact MCP/REST continuation, and continuation_options for every operation explicitly eligible from a complete specification. Examples are shapes, never invented defaults. For a decomposed design, send specification.assembly with parts and interfaces: a2a2p then checks galvanic pairing and interface fit across parts, which a single-part review cannot, and prices each part separately. Two or more explicitly declared parts always classify as assembly_or_system and can never become quote_ready as one part, regardless of purpose wording or top-level part fields. Undeclared interfaces are unchecked — nothing is inferred. CHECK intake_classification first. a2a2p reviews one manufacturable part at a time; a request naming a behaviour rather than an object ("a device that detects and removes debris") is classified capability_concept and redirected to decomposition, because no material or tolerance can be derived from it. The classification is advisory, never blocks, and defers to any supplied specification. READ resolution_readiness, not quote_readiness, while you are still answering questions. quote_readiness is supplier-facing and stays capped by material/process/dimensions/tolerance that a2a2p derives for you, so it cannot reach quote_ready from intent alone however much you supply. resolution_readiness measures only what the requester owns and reaches ready_to_resolve once you have supplied enough to derive a specification — which is not a supplier quote. completeness.awaiting_requester and completeness.derivable_by_resolution say which fields are whose. Accepts the same input as request_physical_solution (structured intent/specification or legacy flat fields). Forward-compatible fields remain accepted, but uninterpreted_fields names every supplied path in the declared review scope whose value did not influence deterministic engineering checks, uses bounded and privacy-safe RFC 6901 JSON Pointers, caps unqualified ready grades, and provides non-inferential repair guidance; never read HTTP success alone as proof that every field was understood. For intent_only, complete requester context leads to submit_for_specification_resolution; for a supplied specification, apply only facts you know, re-review until quote_ready, then submit if a durable resolution is useful.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Layer 1 — the problem. What the physical matter needs to DO. Use this for intent-driven requests where the agent describes purpose and a2a2p recommends solutions. | |
| contact | No | Optional email or callback endpoint for quote delivery. | |
| deadline | No | Required delivery date or timeframe. Maps to intent.timeline. | |
| quantity | No | Number of units needed. Maps to intent.quantity. | |
| budget_usd | No | Approximate budget in USD. Maps to intent.budget_envelope. | |
| constraints | No | Hard constraints: tolerances, certifications, materials to avoid, size/weight limits. Maps to intent.functional_requirements. | |
| requirement | No | Plain-language description of the physical need. Maps to intent.purpose. Include function, dimensions, materials, load/performance requirements, environment, and interfaces where known. | |
| callback_url | No | Optional HTTPS URL. When the quote is ready, a2a2p POSTs it as JSON to this URL. | |
| specification | No | Layer 2 — the solution. What the physical matter IS. Populate what is known. Precise specifications produce faster, tighter quotes. Controlled vocabularies are preferred but open values are accepted. | |
| business_context | No | Optional business requirements (expected volumes, cost targets, ROI constraints). If provided, the quote includes a business case. | |
| rejected_alternatives | No | Options already considered and ruled out. Prevents re-suggesting and builds the learning corpus. |
Output Schema
| Name | Required | Description |
|---|---|---|
| engineering_evaluation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire burden of behavioral disclosure—and it delivers extensively. It states 'nothing is submitted or stored,' denies engineering-validation/certification/physical-truth/supplier-acceptance/fabrication authority, clarifies 'Its finding-penalty score is not engineering soundness,' and explains that reference_only comparisons are 'never a pass, failure, or blocker.' It also discloses failure-adjacent behaviors like 'classification is advisory, never blocks,' 'Undeclared interfaces are unchecked — nothing is inferred,' and 'never read HTTP success alone as proof that every field was understood.' This is exceptional disclosure for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence is substantive and non-redundant, and the opener is a strong front-load ('Instant, synchronous engineering review of a physical requirement — nothing is submitted or stored'). However, the description is one dense, unbroken wall of text with no paragraph breaks or hierarchy, and operational imperatives like 'CHECK intake_classification first' and 'READ resolution_readiness, not quote_readiness' are buried mid-paragraph. The information earns its place, but the lack of structure measurably hurts an agent's ability to parse and retain it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool this complex—two intake modes, two readiness scores, assembly vs single-part handling, clarification plans, and authority boundaries—the description is remarkably complete. It covers what happens to the input, what the receipt contains (findings ranked blocker/warning/info, readiness scores, clarification_plan), what is denied, and the recommended downstream continuation ('next_call with the recommended exact MCP/REST continuation'). With an output schema present to back return-value details, nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed per-field descriptions, so the baseline is 3. The description adds cross-cutting semantic value above the schema: the two intake modes (intent_only vs supplied specification), acceptance of 'legacy flat fields,' the uninterpreted_fields mechanism using 'bounded and privacy-safe RFC 6901 JSON Pointers,' and the specification.assembly shape for decomposed designs. It doesn't restate individual parameter docs but enriches how the whole parameter set should be interpreted, which is slightly better than the schema-only baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource: 'Instant, synchronous engineering review of a physical requirement.' It enumerates concrete deterministic checks (material identification, rectangular beam deflection, bending stress, transverse shear, tolerance-vs-process, environment fit), so an agent can tell it apart from simulation, derivation, and validation siblings without opening their schemas. It also names its closest sibling—request_physical_solution—and explicitly contrasts the review role ('Accepts the same input...'), which removes ambiguity about where the tools diverge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit operational directives: 'CHECK intake_classification first', 'READ resolution_readiness, not quote_readiness', and 'a2a2p reviews one manufacturable part at a time' with capability_concept requests 'redirected to decomposition.' It specifies when to use the assembly path ('For a decomposed design, send specification.assembly'), warns that top-level part fields don't override declared parts, and closes the loop with continuation guidance ('re-review until quote_ready, then submit if a durable resolution is useful'). Alternative selection is effectively fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
revise_requirementAInspect
Create a new, immutable revision of a prior request by applying only the fields you learned since the first submission. Use this after review_specification returns a clarification_plan: provide the original request_id plus the patch (for example intent.geometric_envelope or specification.material). The original is preserved; the revision receives a new request_id, a fresh spec_review, a revision_of link, and a deterministic readiness_progress comparison against its immediate predecessor. Provide idempotency_key when retrying the same patch so a network retry returns the same revision instead of creating another.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | Layer 1 — the problem. What the physical matter needs to DO. Use this for intent-driven requests where the agent describes purpose and a2a2p recommends solutions. | |
| contact | No | Optional email or callback endpoint for quote delivery. | |
| deadline | No | Required delivery date or timeframe. Maps to intent.timeline. | |
| quantity | No | Number of units needed. Maps to intent.quantity. | |
| budget_usd | No | Approximate budget in USD. Maps to intent.budget_envelope. | |
| request_id | Yes | The prior request_id to revise. | |
| constraints | No | Hard constraints: tolerances, certifications, materials to avoid, size/weight limits. Maps to intent.functional_requirements. | |
| requirement | No | Plain-language description of the physical need. Maps to intent.purpose. Include function, dimensions, materials, load/performance requirements, environment, and interfaces where known. | |
| callback_url | No | Optional HTTPS URL. When the quote is ready, a2a2p POSTs it as JSON to this URL. | |
| revision_note | No | Optional short explanation of what changed. | |
| specification | No | Layer 2 — the solution. What the physical matter IS. Populate what is known. Precise specifications produce faster, tighter quotes. Controlled vocabularies are preferred but open values are accepted. | |
| idempotency_key | No | Optional stable retry key (1–128 characters). Reusing it with the same patch returns the prior revision; reuse with a different patch is rejected. | |
| business_context | No | Optional business requirements (expected volumes, cost targets, ROI constraints). If provided, the quote includes a business case. | |
| rejected_alternatives | No | Options already considered and ruled out. Prevents re-suggesting and builds the learning corpus. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and it delivers: immutability, preservation of the original, new request_id, fresh spec_review, revision_of link, deterministic readiness_progress comparison, and idempotency semantics (same patch returns same revision). This goes well beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences front-load the core behavior, then workflow trigger, then side effects and idempotency. No redundant restatement of schema fields or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter, nested, no-output-schema tool, the description covers the necessary workflow, side effects, and retry behavior. However, it does not describe the exact response payload or error cases (e.g., invalid request_id, empty patch), so an agent has to infer those from schema or runtime.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by framing parameters as a patch ('applying only the fields you learned'), giving concrete examples (intent.geometric_envelope, specification.material), and clarifying idempotency_key's reuse behavior. These meanings are not fully explicit in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+object: 'Create a new, immutable revision of a prior request.' It also states the exact trigger ('after review_specification returns a clarification_plan'), which differentiates it from sibling request_physical_solution and the review tool itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when to invoke it (after review_specification returns a clarification_plan), what to provide (request_id plus patch), and idempotency behavior on retries. It does not explicitly name alternatives or state when not to use it, so it misses the when-not component of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_bounded_simulation_studyAInspect
Execute and validate a prepared simulation study through a2a2p's bounded closed-form rectangular-beam adapter. The adapter accepts only explicit load, span, section width/height, elastic modulus, exact support conditions, and supported output quantities; missing, extra, mismatched, or unsupported settings fail the affected experiment closed. It returns provenance-bound predictions and the existing hard-constraint/Pareto validation in one stateless call. It is not FEA, physical measurement, engineering validation, candidate selection, supplier contact, or fabrication authority.
| Name | Required | Description | Default |
|---|---|---|---|
| study | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden and does a solid job: it reveals strict fail-closed behavior on invalid settings, statelessness, provenance-bound predictions, and inclusion of hard-constraint/Pareto validation in one call. It does not explain what the 'hard-constraint/Pareto validation' actually does or what happens to partially invalid experiments, leaving some behavior underspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but efficient: first sentence states the action, second states input strictness, third states return behavior, fourth states non-scope. None of the sentences waste space, and important constraints are front-loaded before the exclusion list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex and has no annotations and no useful input sub-schema, so more is needed. The description gives a strong high-level operational model and hard fail conditions, but leaves key details for correct invocation unresolved: exact study object shape, allowed output quantity names, unit or enumeration semantics, and how the study is produced. The presence of an output schema softens the need to explain return values, but the unsupported opaque 'study' input keeps completeness at only adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines 'study' as an object with zero coverage, so the description adds critical meaning by enumerating load, span, section width/height, elastic modulus, exact support conditions, and supported output quantities. However, it never explains the actual property names, nesting, units, supported value encodings, or how an already-prepared study object should be formed, so the agent still has to infer the concrete shape of a valid 'study'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource pairing: 'Execute and validate a prepared simulation study' through the 'bounded closed-form rectangular-beam adapter.' It also carves out what the tool is not, such as FEA, engineering validation, and fabrication authority, which distinguishes it from its siblings without requiring schema inspection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states that the study must already be prepared and that only certain explicit settings are accepted, plus it lists non-uses like FEA, physical measurement, and supplier contact. It does not explicitly name 'use prepare_simulation_study instead' or 'use validate_simulation_study_result instead', so the guidance stops short of explicitly routing to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
translate_materials_project_elasticityAInspect
Translate one bounded, caller-supplied Materials Project elasticity API response projection into source-bound computed-crystal reference evidence. Optional retrieval metadata binds the raw upstream bytes separately and records that an allowlisted projection changed the representation. The adapter verifies response shape, one exact material ID, non-deprecated successful state, modulus bounds, Poisson consistency, source versions, and record license; derives an isotropic VRH Young's modulus deterministically; and preserves warnings. It performs no network call, does not verify Materials Project origin, and grants no engineering-product, simulation-input, supplier, order, payment, or fabrication authority.
| Name | Required | Description | Default |
|---|---|---|---|
| response | Yes | ||
| retrieval | Yes | ||
| material_id | Yes | ||
| refresh_after | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and meets it admirably. It enumerates every verification performed (response shape, one exact material ID, non-deprecated successful state, modulus bounds, Poisson consistency, source versions, record license), discloses the deterministic VRH Young's modulus derivation and warning preservation, and explicitly states what it does NOT do (no network call, no origin verification, no authority grants). This is the strongest dimension of the definition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description packs a great deal of information into a single dense, comma-heavy paragraph. It is appropriately front-loaded with purpose, but the jargon density ('source-bound computed-crystal reference evidence', 'allowlisted projection changed the representation') makes it read as a wall of text rather than a scannable definition. Splitting the behavioral disclosures into structured sentences would improve legibility.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is genuinely complex (4 required parameters, deep nesting, output schema present), and the description covers the adapter's behavioral contract thoroughly, including what it derives and what authorities it does not grant. However, the density and undefined terms ('source-bound', 'allowlisted', 'computed-crystal reference evidence') leave an agent needing interpretation; the presence of an output schema reduces the burden of explaining return values, but parameter semantics remain under-explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only meaningfully documents one of the four required parameters. The phrase about 'optional retrieval metadata binds the raw upstream bytes' covers `retrieval`, but `response`, `material_id`, and `refresh_after` receive no explanation (e.g., what refresh_after means, how the response must be shaped before translation). For a 4-parameter tool with nested objects and zero schema coverage, this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('translate') and resource ('Materials Project elasticity API response projection into source-bound computed-crystal reference evidence'), which is precise and clearly distinguishes this adapter from the supply/simulation/domain siblings. However, the heavy jargon ('source-bound computed-crystal reference evidence', 'allowlisted projection') makes the core purpose harder to parse than necessary for an agent on first read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists useful exclusions—'performs no network call', 'does not verify Materials Project origin', and 'grants no...authority'—which help an agent decide when NOT to rely on this tool. But it never names sibling tools like validate_material_property_evidence or validate_domain_solutioning_result, nor states a positive condition for when this tool should be chosen over them. The when-to-use guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_design_fileAInspect
Turn local manufacturing file bytes into the temporary HTTPS reference used by specification.design_files. This is a bounded intake operation, not a request, provider call, quote, order, payment, or fabrication action. Common RFC 4648 transport forms are normalized, then decoded bytes are recognized by signature, checked against the declared format, screened before storage, retained for one hour, and never included in telemetry. Supported roles include geometry (STL/STEP) and drawings (DXF/PDF). The 2 MiB MCP ceiling is transport-specific; use POST /api/upload with purpose=manufacturing_design_file for files up to 8 MiB. Pass the returned file_reference object unchanged in specification.design_files on the next call.
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | Declared manufacturing format. File bytes must match. | |
| purpose | Yes | Must be manufacturing_design_file; general chat attachments use a separate intake. | |
| filename | Yes | Original filename, used only for bounded inspection and the temporary record. | |
| content_base64 | Yes | File bytes as RFC 4648 base64 or base64url; padding is optional, ASCII whitespace and a bounded data:*;base64, prefix are accepted. Do not pass a path or URL. Decoded maximum: 2097152 bytes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses rich behavioral details: base64 normalization, signature recognition, format checking, screening before storage, one-hour retention, and telemetry exclusion. These go far beyond what the schema or sibling names would convey, giving the agent a clear model of how input is processed and retained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense yet structured: first sentence defines the core function, subsequent sentences clarify boundaries, processing steps, supported formats, size limits, and usage. No sentence is redundant; each adds a distinct piece of operational knowledge, making the length justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four required parameters, no annotations, and no output schema, the description covers all essential context: what the tool does, what it is not, how data is processed and retained, format support, size constraints, fallback for larger files, and how to consume the return value. This is a complete operational picture for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though schema coverage is 100%, the description adds significant meaning beyond the schema: it explains the accepted base64 variants (RFC 4648, base64url, optional padding, ASCII whitespace, data:* prefix), the 2 MiB decoded maximum, that paths/URLs are not accepted, and that the format enum values are 'declared' and 'must match' the bytes. The purpose const is also reinforced with 'general chat attachments use a separate intake.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource+outcome: 'Turn local manufacturing file bytes into the temporary HTTPS reference used by specification.design_files.' It also delineates what the tool is not ('not a request, provider call, quote, order, payment, or fabrication action'), sharply distinguishing it from the sibling tools that handle requests, quotes, and specification reviews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use guidance is present: it is a 'bounded intake operation' with a clear exclusion list of non-actions. It also provides an alternative for larger files ('use POST /api/upload with purpose=manufacturing_design_file for files up to 8 MiB') and instructs the caller to 'Pass the returned file_reference object unchanged in specification.design_files on the next call'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_domain_solutioning_resultAInspect
Validate a candidate result returned under the a2a2p domain-solutioning contract. The exact output of prepare_domain_solutioning_case is a prerequisite; malformed or non-prepared cases return a versioned machine-readable recovery workflow without weakening case-shape or digest checks. The operation verifies the source-case digest and provenance shape, rejects authority promotion and intent or design-file mutation, re-screens every candidate at quote stage, and runs the deterministic engineering review only after screening allows it. A successful response content-addresses the exact candidate result and returns a copy-ready, non-automatic source binding for prepare_simulation_study; every objective, constraint, physical input, setting, and validation plan remains caller-supplied. It stores nothing, runs no solver, calls no model or supplier, applies no patch, and grants no provider, quote, order, payment, or fabrication authority.
| Name | Required | Description | Default |
|---|---|---|---|
| case | Yes | ||
| result | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| next | Yes | |
| dissent | Yes | |
| contract | Yes | |
| authority | Yes | |
| framework | Yes | |
| governance | Yes | |
| case_digest | Yes | |
| persistence | Yes | |
| recommendation | Yes | |
| digest_verified | Yes | |
| source_contract | Yes | |
| contract_version | Yes | |
| digest_semantics | Yes | |
| external_effects | Yes | |
| model_provenance | Yes | |
| simulation_handoff | Yes | |
| candidate_evaluations | Yes | |
| candidate_result_digest | Yes | |
| source_contract_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it succeeds: it discloses that the operation rejects authority promotion, intent/design-file mutation, re-screns at quote stage, runs review only after screening, and unconditionally grants or modifies nothing. It also states the stateless guarantees with unusual specificity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence adds a distinct, decision-relevant behavior: purpose, failure semantics, verification, downstream handoff, and side-effect denial. It is long only because the contract’s guarantees are complex.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a contract-validation tool with two complex state coupling the output schema and schema definings should carry the structural details, and the description covers everything the schema cannot: exact prerequisite data source, exact downstream consumer, failure-return behavior, and no-fixed effects. Nothing essential is hidden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema-description coverage is 0%, so the description must compensate. It abstracts the case parameter as the exact output of prepare_domain_solutioning_case and the result as a candidate result under the same contract, which is enough to tell an agent how to construct correct state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and object: 'Validate a candidate result returned under the a2a2p domain-solutioning contract.' It also names the exact prerequisite and downstream continuation, distinguishing it from siblings like validate_simulation_study_result.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states that the processor expects the exact output of prepare_domain_solutioning_case and that a successful result feeds prepare_simulation_study. It does not explicitly list exclusions or alternatives, but for any agent aware of the pipeline this is strong situational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_material_property_evidenceAInspect
Validate and content-bind one caller-supplied material-property evidence envelope before attaching it to a compatible preliminary simulation. The receipt separates shape/content identity from source truth, material identity, uncertainty verification, design allowable, engineering validation, and physical authority. Computed-crystal evidence remains valid reference data but ineligible for the scalar engineering-product beam path. The operation calls no model or solver, stores nothing, contacts nobody, and creates no physical evidence, order, payment, or fabrication authority.
| Name | Required | Description | Default |
|---|---|---|---|
| evidence | Yes | Caller-supplied exact material-property source snapshot. Binding proves content identity and envelope validity only; it does not verify the source claim or create a design allowable. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it delivers extensively. It explicitly states what binding proves vs. what it does not ('proves content identity and envelope validity only; it does not verify the source claim or create a design allowable'), discloses the reference-only status of computed-crystal evidence, and enumerates side-effect negatives ('calls no model or solver, stores nothing, contacts nobody...'). This is exemplary transparency for a validation-type operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four dense sentences with no filler, front-loading the core purpose before elaborating limitations and side effects. It is reasonably compact given the complexity of the tool. The only minor drawback is a jargony phrase ('scalar engineering-product beam path') that adds precision but may slow comprehension; overall it earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values need no explanation in the description. The description covers validation semantics, the computed-crystal eligibility rule, and side-effect negatives, while eligibility and ineligible-value constraints are carried by schema extensions (x-a2a2p-simulation-eligibility-fields, x-a2a2p-simulation-ineligible-normalized-values). For a complex nested-object validation tool, the description is quite complete, though it omits explicit error/failure conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including a detailed description on the `evidence` parameter ('Caller-supplied exact material-property source snapshot. Binding proves content identity and envelope validity only; it does not verify the source claim or create a design allowable.') and on `applicability.temperature_c`. The top-level description reinforces the semantic distinction between content identity and source truth. Since the schema already documents the parameters thoroughly, the description adds contextual meaning but does not substantially exceed the 3 baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-plus-resource statement ('Validate and content-bind one caller-supplied material-property evidence envelope before attaching it to a compatible preliminary simulation'), which clearly identifies the operation and its position in the workflow. It further distinguishes itself from siblings by listing what it does NOT do ('calls no model or solver, stores nothing, contacts nobody, and creates no physical evidence, order, payment, or fabrication authority'), which separates it from simulation, storage, and procurement tools. This is a precise, well-scoped purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the use case ('before attaching it to a compatible preliminary simulation') and the computed-crystal exclusion rule ('ineligible for the scalar engineering-product beam path'), which gives some contextual guidance. However, it does not explicitly name alternative tools or provide when-to-use vs. when-not-to-use routing relative to siblings like plan_material_evidence_promotion or prepare_reviewed_beam_simulation. The usage context is implied rather than explicitly contrasted against alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_rectangular_beam_section_derivationBInspect
Recompute a bounded rectangular beam-section derivation from the exact declared input and reject any mutation of the candidate, digests, assumptions, claim limits, external-effects boundary, authority boundary, or carried screening receipt. Success proves deterministic replay and content identity only; it does not make the candidate simulation-eligible, physically true, supplier-ready, approved, purchased, or fabrication-authorized.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| receipt | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well by disclosing that success only proves deterministic replay and content identity, and explicitly listing what it does not imply (simulation-eligible, physically true, etc.). It also indicates the tool rejects mutation of several fields, clarifying its validation nature. However, it does not state whether the tool has side effects (e.g., modifies state) or its expected return format beyond the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the core action. It is informative without being verbose, though the long list of protected items is somewhat dense. Overall, it is reasonably concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the input schema (nested objects, many required fields) and zero schema descriptions, the description is far from complete. It does not explain how to populate the input or receipt objects, what the receipt structure signifies, or how the validation works in practice. An agent would struggle to invoke this tool correctly with only the description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no explanation of the two parameters (input and receipt). It references 'exact declared input' but does not define what that contains or how to construct it. With no schema descriptions and no parameter-level explanations, an agent cannot infer the meaning or formatting of the required fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise action (recompute and reject mutations) and identifies the resource (bounded rectangular beam-section derivation). It clearly distinguishes itself from siblings like derive_rectangular_beam_section (which creates the derivation) and validate_simulation_study_result (which validates simulation results) by focusing on replay and content identity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it is used to validate an existing derivation, but it does not explicitly state when to use this tool versus alternatives like derive_rectangular_beam_section. It provides context by explaining what success does and does not prove, but lacks explicit when-to-use or when-not-to-use guidance and does not mention sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_rectangular_beam_section_design_spaceAInspect
Recompute a bounded finite rectangular-beam design space from the exact caller-held input and reject any mutation of an embedded derivation, Pareto disposition, digest, claim limit, external-effect boundary, authority boundary, or carried screening receipt. Success proves deterministic replay and content identity only. It never selects or promotes a candidate, estimates cost, calls an external system, or grants simulation, supplier, purchase, or fabrication eligibility.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes | ||
| receipt | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the deterministic replay nature, the rejection of mutations, and explicitly states what side effects it does NOT have (no external calls, no eligibility grants). This is thorough and goes beyond a simple statement, though it could detail failure behavior or return semantics further.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph of moderate length that front-loads the core purpose and then systematically lists limitations. Every sentence contributes new information; there is no fluff. It could be split into two paragraphs for readability but remains concise and impactful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (involving a design space and a receipt with many sub-objects) and the presence of an output schema (so return values are covered), the description covers the essential context: what it verifies, what it guarantees (deterministic replay), and what it excludes. It does not discuss error cases, but for a validation tool that may rely on the output schema for such details, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description is expected to compensate. It does mention the receipt contents ('embedded derivation, Pareto disposition, digest, claim limit, external-effect boundary, authority boundary, or carried screening receipt') and calls the input 'exact caller-held input', but it doesn't elaborate on each parameter's role beyond that. The schema itself is very detailed, so the description adds just enough, but not significantly beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Recompute'), a precise resource ('bounded finite rectangular-beam design space'), and explicitly lists what it rejects (mutations of derivation, Pareto disposition, etc.). It also enumerates what it never does (selects candidates, estimates cost, calls external systems, grants eligibility), which distinguishes it from the many sibling tools. This is a model of purpose clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While it does not explicitly name alternative tools or say 'use when X and not when Y', it clearly defines the tool's scope and boundaries with statements like 'Success proves deterministic replay and content identity only' and 'It never selects or promotes a candidate...'. This gives the agent strong contextual signals about when this validation tool is appropriate, though explicit sibling comparison would push it to 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_simulation_study_resultAInspect
Validate a prepared a2a2p simulation-study result. Masked timeout, non-convergence, boundary, unit, provenance, unsupported-model, and solver failures fail closed. Hard constraints gate eligibility; distinct objective values remain visible; Pareto dispositions are canonical and order-independent. It runs no solver, applies no candidate, stores nothing, and grants no physical authority.
| Name | Required | Description | Default |
|---|---|---|---|
| study | Yes | ||
| result | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It clearly states that the tool fails closed on various failure conditions, does not run a solver, does not apply a candidate, stores nothing, and grants no physical authority. This is rich behavioral disclosure for a validation tool, but it could further clarify what happens on success (e.g., return value semantics) beyond the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense paragraph. Every sentence adds value: the first states the purpose, the second lists what is masked and the fail-closed gait, the third explains eligibility and Pareto dispositions, and the fourth clarifies what it does not do. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (not shown to the agent), the description need not explain return values. It covers purpose, scope, failure behavior, and exclusions, which is essential. However, given the complexity of the tool and the empty parameter schemas, it does not provide enough guidance on how to construct the 'study' and 'result' objects, leading to a completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The outcome of hard constraints prevents autonomous action without agent guidance, and the parameter semantics must be more clear. The disabled list includes the thermal dampers and door seal, which are detailed in the input schema. Provide explicit rationale tying each parameter constraint to outcomes, preventing misinterpretation and ensuring validation is not mistakenly skipped.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific verb ('validate') and resource ('prepared a2a2p simulation-study result'), distinguishing it from siblings like validate_domain_solutioning_result. However, the phrase 'simulation-study result' is somewhat specific yet not explained for agents unfamiliar with the domain, and the distinction from its sibling is not made explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage in the context of validating results after a simulation study, and mentions what it does not do ('runs no solver, applies no candidate, stores nothing'), which helps understand when not to use it. However, no explicit alternative tools or conditions for when to use this vs. validate_domain_solutioning_result are given, leaving some inference needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
- Changed
render_supplier_email_binding1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.2.0"New value: +"1.3.0"
8 tool updates
- Changed
build_supplier_request_package5 fields changed- changed
Input schema / properties / specification / properties / process / enumPrevious value: -[ - "cnc_milling", - "cnc_turning", - "fdm_3d_print", - "sla_3d_print", - "sls_3d_print", - "sheet_metal", - "casting", - "injection_molding", - "extrusion" -]New value: +[ + "cnc_milling", + "cnc_turning", + "fdm_3d_print", + "sla_3d_print", + "sls_3d_print", + "sheet_metal", + "laser_cutting", + "casting", + "injection_molding", + "extrusion" +] - changed
Output schema / properties / profile_version / constPrevious value: -"1.3.0-draft"New value: +"1.4.0-draft" - added
Output schema / properties / quote_stage_eligibilityAdded value: +{ + "$id": "https://a2a2p.com/schema/quote-stage-eligibility", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "authority": { + "additionalProperties": false, + "properties": { + "fabrication": { + "const": false + }, + "order": { + "const": false + }, + "payment": { + "const": false + }, + "quote_acceptance": { + "const": false + }, + "supplier_contact": { + "const": false + } + }, + "required": [ + "payment", + "supplier_contact", + "quote_acceptance", + "order", + "fabrication" + ], + "type": "object" + }, + "blocking_codes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "checks": { + "items": { + "additionalProperties": false, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "result": { + "enum": [ + "pass", + "needs_input", + "ineligible" + ] + } + }, + "required": [ + "code", + "result", + "message" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + }, + "commercial_terms": { + "additionalProperties": false, + "properties": { + "active": { + "const": false + }, + "commission_rate": { + "type": "null" + }, + "note": { + "type": "string" + } + }, + "required": [ + "active", + "commission_rate", + "note" + ], + "type": "object" + }, + "contract": { + "const": "a2a2p.quote-stage-eligibility" + }, + "evidence": { + "items": { + "pattern": "^https://", + "type": "string" + }, + "type": "array" + }, + "lane": { + "const": "flat_laser_cut_5052_h32" + }, + "next_action": { + "type": "string" + }, + "program": { + "const": "a2a2p.reference-first-physical-exchange" + }, + "status": { + "enum": [ + "eligible", + "needs_input", + "ineligible" + ] + }, + "supported_stock_thickness_mm": { + "items": { + "type": "number" + }, + "type": "array" + }, + "version": { + "const": "0.1.0-draft" + } + }, + "required": [ + "contract", + "version", + "program", + "lane", + "status", + "checks", + "blocking_codes", + "supported_stock_thickness_mm", + "evidence", + "next_action", + "commercial_terms", + "authority" + ], + "title": "a2a2p quote-stage eligibility receipt", + "type": "object", + "x-a2a2p-program": { + "criteria": { + "material": "aluminum_5052_h32", + "process": "laser_cutting", + "quantity": { + "max": 5, + "min": 1 + }, + "ship_to_country": "US", + "size_mm": { + "max_x": 300, + "max_y": 300, + "min_x": 10, + "min_y": 10 + }, + "stock_thickness_mm": [ + 1.02, + 1.6, + 2.03, + 2.29, + 2.54, + 3.18 + ], + "surface_finish": "raw", + "tolerance_classes": [ + "coarse", + "medium" + ], + "total_budget": { + "currency": "USD", + "max": 500 + } + }, + "evidence": [ + "https://sendcutsend.com/materials/5052-aluminum/", + "https://sendcutsend.com/services/sheet-cutting/", + "https://www.oshcut.com/materials", + "https://www.oshcut.com/capabilities", + "https://www.xometry.com/capabilities/sheet-cutting/metal-laser-cutting/" + ], + "lane": "flat_laser_cut_5052_h32", + "program": "a2a2p.reference-first-physical-exchange" + } +} - changed
Output schema / requiredPrevious value: -[ - "profile", - "profile_version", - "specification_url", - "request", - "geometry", - "commercial", - "provenance", - "gaps", - "already_checked", - "screening", - "what_is_requested", - "delivery", - "delivery_requirements", - "artifact_identity" -]New value: +[ + "profile", + "profile_version", + "specification_url", + "request", + "geometry", + "commercial", + "provenance", + "gaps", + "already_checked", + "screening", + "what_is_requested", + "delivery", + "delivery_requirements", + "quote_stage_eligibility", + "artifact_identity" +] - added
Output schema / x-a2a2p-projection / field_origins / quote_stage_eligibilityAdded value: +"derived from the complete caller-held requirement and package gates at read time"
- Changed
get_supply_options1 field changed- changed
Input schema / properties / specification / properties / process / enumPrevious value: -[ - "cnc_milling", - "cnc_turning", - "fdm_3d_print", - "sla_3d_print", - "sls_3d_print", - "sheet_metal", - "casting", - "injection_molding", - "extrusion" -]New value: +[ + "cnc_milling", + "cnc_turning", + "fdm_3d_print", + "sla_3d_print", + "sls_3d_print", + "sheet_metal", + "laser_cutting", + "casting", + "injection_molding", + "extrusion" +]
- Changed
prepare_domain_solutioning_case1 field changed- changed
Input schema / properties / specification / properties / process / enumPrevious value: -[ - "cnc_milling", - "cnc_turning", - "fdm_3d_print", - "sla_3d_print", - "sls_3d_print", - "sheet_metal", - "casting", - "injection_molding", - "extrusion" -]New value: +[ + "cnc_milling", + "cnc_turning", + "fdm_3d_print", + "sla_3d_print", + "sls_3d_print", + "sheet_metal", + "laser_cutting", + "casting", + "injection_molding", + "extrusion" +]
- Changed
render_supplier_email_binding1 field changed- changed
Input schema / properties / specification / properties / process / enumPrevious value: -[ - "cnc_milling", - "cnc_turning", - "fdm_3d_print", - "sla_3d_print", - "sls_3d_print", - "sheet_metal", - "casting", - "injection_molding", - "extrusion" -]New value: +[ + "cnc_milling", + "cnc_turning", + "fdm_3d_print", + "sla_3d_print", + "sls_3d_print", + "sheet_metal", + "laser_cutting", + "casting", + "injection_molding", + "extrusion" +]
- Changed
request_physical_solution1 field changed- changed
Input schema / properties / specification / properties / process / enumPrevious value: -[ - "cnc_milling", - "cnc_turning", - "fdm_3d_print", - "sla_3d_print", - "sls_3d_print", - "sheet_metal", - "casting", - "injection_molding", - "extrusion" -]New value: +[ + "cnc_milling", + "cnc_turning", + "fdm_3d_print", + "sla_3d_print", + "sls_3d_print", + "sheet_metal", + "laser_cutting", + "casting", + "injection_molding", + "extrusion" +]
- Changed
request_provider_estimate1 field changed- changed
Input schema / properties / specification / properties / process / enumPrevious value: -[ - "cnc_milling", - "cnc_turning", - "fdm_3d_print", - "sla_3d_print", - "sls_3d_print", - "sheet_metal", - "casting", - "injection_molding", - "extrusion" -]New value: +[ + "cnc_milling", + "cnc_turning", + "fdm_3d_print", + "sla_3d_print", + "sls_3d_print", + "sheet_metal", + "laser_cutting", + "casting", + "injection_molding", + "extrusion" +]
- Changed
review_specification1 field changed- changed
Input schema / properties / specification / properties / process / enumPrevious value: -[ - "cnc_milling", - "cnc_turning", - "fdm_3d_print", - "sla_3d_print", - "sls_3d_print", - "sheet_metal", - "casting", - "injection_molding", - "extrusion" -]New value: +[ + "cnc_milling", + "cnc_turning", + "fdm_3d_print", + "sla_3d_print", + "sls_3d_print", + "sheet_metal", + "laser_cutting", + "casting", + "injection_molding", + "extrusion" +]
- Changed
revise_requirement1 field changed- changed
Input schema / properties / specification / properties / process / enumPrevious value: -[ - "cnc_milling", - "cnc_turning", - "fdm_3d_print", - "sla_3d_print", - "sls_3d_print", - "sheet_metal", - "casting", - "injection_molding", - "extrusion" -]New value: +[ + "cnc_milling", + "cnc_turning", + "fdm_3d_print", + "sla_3d_print", + "sls_3d_print", + "sheet_metal", + "laser_cutting", + "casting", + "injection_molding", + "extrusion" +]
2 tool updates
- Changed
build_supplier_request_package4 fields changed- added
Output schema / properties / artifact_identityAdded value: +{ + "additionalProperties": false, + "properties": { + "algorithm": { + "const": "sha256" + }, + "canonical_bytes": { + "minimum": 1, + "type": "integer" + }, + "canonicalization": { + "const": "a2a2p.sorted-json-v1" + }, + "contract": { + "const": "a2a2p.supplier-package-artifact-identity" + }, + "digest_input": { + "const": "the complete supplier package excluding artifact_identity" + }, + "does_not_prove": { + "items": { + "type": "string" + }, + "minItems": 4, + "type": "array" + }, + "proves": { + "type": "string" + }, + "scope": { + "const": "content_identity_only" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": "1.0.0" + } + }, + "required": [ + "contract", + "version", + "algorithm", + "canonicalization", + "digest_input", + "sha256", + "canonical_bytes", + "scope", + "proves", + "does_not_prove" + ], + "type": "object" +} - changed
Output schema / properties / profile_version / constPrevious value: -"1.2.0-draft"New value: +"1.3.0-draft" - changed
Output schema / requiredPrevious value: -[ - "profile", - "profile_version", - "specification_url", - "request", - "geometry", - "commercial", - "provenance", - "gaps", - "already_checked", - "screening", - "what_is_requested", - "delivery", - "delivery_requirements" -]New value: +[ + "profile", + "profile_version", + "specification_url", + "request", + "geometry", + "commercial", + "provenance", + "gaps", + "already_checked", + "screening", + "what_is_requested", + "delivery", + "delivery_requirements", + "artifact_identity" +] - added
Output schema / x-a2a2p-projection / field_origins / artifact_identityAdded value: +"derived from canonical supplier-package bytes at read time"
- Changed
render_supplier_email_binding1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.1.0"New value: +"1.2.0"
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Instant parametric cost estimates for custom manufacturing: CNC, molding, sheet metal, 3DP, PCB.
Agent-native supply network for components, fabrication, industrial RFQs, offers, and fulfillment.
Construction takeoff and estimating for AI agents. Measure a drawing PDF, export a priced estimate.
Parametric should-cost: P50/P80/P90 estimates, 801 materials, 25 countries, quote review.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables agents to turn customer conversations into provably correct remodeling quotes by extracting catalog-bounded line items with evidence and calculating prices deterministically.MIT
- AlicenseNot gradedqualityAmaintenanceEnables coding agents to convert natural language engineering prompts into editable parametric CAD models with deterministic parsing, validation, and edit support.6Apache 2.0
- FlicenseNot gradedqualityDmaintenanceIntelligently generates cost estimates and lead times for manufacturing RFPs by parsing requests, matching against historical quotes, and calculating activity-based costs with confidence scoring and human approval workflows.-
- AlicenseAqualityCmaintenanceEnables AI agents to prepare floor plans for Ritn3D and interpret 3D outputs by providing tools for validation, complexity estimation, pricing, and failure analysis.9MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Multiple tool clusters have near-identical names and responsibilities: prepare_derived_beam_simulation, prepare_reviewed_beam_simulation, and prepare_simulation_study all produce bounded simulation studies, while the validate_* family has five variants with subtle input differences. The descriptions are detailed, but an agent would frequently need to read an entire paragraph to avoid misselection.
All 24 tools follow the same snake_case verb_noun pattern: build_, check_, request_, validate_, prepare_, run_, upload_, etc. There are no camelCase names, no vague single-word tools, and no stylistic outliers.
24 tools is at the heavy end of the calibration range, and a large subset of rectangular-beam preparation/validation tools could be consolidated. The broad physical-request and supplier pipeline justifies some of the count, but the overall surface still feels over-scoped.
The core workflows are covered: upload, submit, revise, status, spec review, pricing/estimates, quote-job polling, supplier package/email rendering, and a full bounded simulation loop. Missing cancellation, request listing, and actual supplier send/order actions are real but peripheral gaps rather than workflow-killing dead ends.