Skip to main content
Glama

Helvabase — Governed response dossiers

helvabase_submit_analysis

Idempotent

Persist the analysis YOU produced from the current RFP. Every requirement must reference the supplied frozen citation catalog. Include every requirement, missing question and risk; do not claim bidder compliance from an RFP clause. Echo basis and expectedRevision from helvabase_read_context. Use responseOutline to preserve the actual required section structure. Keep originalQuote separate from interpretation and label implicit hypotheses explicitly. Returns the section IDs to draft in a compact receipt; payloadHash covers the full stored artifact. Read full evidence with helvabase_jobs(jobId=outputJobId) only when needed. No server model is invoked.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
basisYes
risksYes
projectIdYesHelvabase project/mapping ID returned by list or create dossier, never a local path.
questionsYes
requirementsYes
schemaVersionYes
idempotencyKeyYes
responseOutlineNo
expectedRevisionYes
declaredProvenanceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / requirements / items / properties / answerConstraints
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "exactQuote": {
      +      "type": "boolean"
      +    },
      +    "instructions": {
      +      "maxLength": 4000,
      +      "type": "string"
      +    },
      +    "language": {
      +      "pattern": "^[a-z]{2}(?:-[A-Z]{2})?$",
      +      "type": "string"
      +    },
      +    "maxCharacters": {
      +      "maximum": 20000,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "options": {
      +      "items": {
      +        "maxLength": 2000,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "maxItems": 30,
      +      "minItems": 1,
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations cover the mutation/safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true), and the description adds real context beyond them: 'No server model is invoked' clarifies the analysis is client-produced, and the compact receipt plus 'payloadHash covers the full stored artifact' discloses the return shape. It does not describe what happens on a stale expectedRevision or how the frozen citation catalog is enforced.

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

Conciseness4/5

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

Front-loaded with the core action and dense with information; nearly every clause carries a rule or routing hint. It reads as a run-on sequence of imperatives rather than grouped bullets, which slightly taxes scanning, but there is essentially no filler.

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

Completeness4/5

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

For a large, nested write tool with no output schema, the definition covers the return (section IDs in a compact receipt, payloadHash scope), the evidence-retrieval path, the constraint that no compliance claims may be invented, and the revision-basis contract. Gaps are error/conflict handling and the untold parameter semantics noted above.

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

Parameters3/5

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

Schema description coverage is only 10% across 10 parameters (9 required, deeply nested), so the description must carry semantics itself. It usefully explains basis/expectedRevision provenance, responseOutline's purpose, the evidenceRefs→citation-catalog linkage, and the originalQuote/interpretation split, but leaves idempotencyKey, declaredProvenance, schemaVersion, projectId, and most requirement sub-fields (nature, priority, responseType, answerConstraints) unexplained.

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

Purpose4/5

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

States a specific verb+resource ('Persist the analysis YOU produced from the current RFP') and scopes it to the RFP/client-analysis artifact, which separates it from evidence and draft-writing siblings. It never names the nearest neighbour (helvabase_record_document_analysis) or another analysis-writing tool, so sibling differentiation is implied rather than explicit.

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

Usage Guidelines4/5

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

Gives clear preconditioning: echo basis/expectedRevision from helvabase_read_context, and pull full evidence via helvabase_jobs(jobId=outputJobId) 'only when needed' — a genuine alternative route with a condition attached. It stops short of stating when NOT to call this tool (e.g. draft not yet finalized) or what to do on a revision conflict.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.