Skip to main content
Glama

Build a founder’s route

build_route
Read-onlyIdempotent

Returns the review Programscape would show a founder, from what they have said about their company (stage, funding, the tools they use, company type and answers to earlier questions): a short read of what matters at their stage, the programs worth their time now with each one’s standing and the questions that settle it, and what can wait and why. For questions about which startup credits, programs or perks fit a company. A standing is never a statement that the founder qualifies, and a standing of “Ask {provider}” means that provider decides on request and publishes no criteria, so the founder’s step is to ask it; each amount is that program’s own figure, never a total; no provider is ranked the winner. The result says how the review can be saved.

Input Schema

NameRequiredDescriptionDefault
answersNoThe founder’s answers, keyed by question field: the shared questions’ fields or a question a review returned (e.g. "stage": "seed", "funding": ["venture"], "currentProviders": ["aws", "openai"], "companyTypes": ["ai"]). A fact the founder hasn’t given is left out and stays unknown.
inferredAnswersNoThe worked-out partner answers a saved plan returned as inferredAnswers, exactly as returned: the review reads them as Programscape worked them out, not as the founder’s own answers, and one from a list that has changed since as unanswered.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / answers / additionalProperties / anyOf
      Previous value: -[
      -  {
      -    "maxLength": 200,
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "items": {
      -      "maxLength": 80,
      -      "type": "string"
      -    },
      -    "maxItems": 30,
      -    "type": "array"
      -  }
      -]New value: +[
      +  {
      +    "maxLength": 200,
      +    "type": "string"
      +  },
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "boolean"
      +  },
      +  {
      +    "type": "null"
      +  },
      +  {
      +    "items": {
      +      "anyOf": [
      +        {
      +          "maxLength": 80,
      +          "type": "string"
      +        },
      +        {
      +          "type": "boolean"
      +        }
      +      ]
      +    },
      +    "maxItems": 30,
      +    "type": "array"
      +  }
      +]
    • removedInput schema / required
      Removed value: -[
      -  "answers"
      -]
  2. Changed1 schema field changed
    • addedInput schema / properties / inferredAnswers
      Added value: +{
      +  "description": "The worked-out partner answers a saved plan returned as inferredAnswers, exactly as returned: the review reads them as Programscape worked them out, not as the founder’s own answers, and one from a list that has changed since as unanswered.",
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "answer": {
      +        "const": "yes",
      +        "type": "string"
      +      },
      +      "field": {
      +        "maxLength": 80,
      +        "type": "string"
      +      },
      +      "listDated": {
      +        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "field",
      +      "answer",
      +      "listDated"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
  3. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: standings are not qualification claims, "Ask {provider}" means the provider decides with no published criteria, each amount is that program's own figure and never a total, and no provider is ranked. That is exactly the kind of interpretation guidance an agent needs to relay results correctly; only the absence of any note on what gets persisted/saved keeps it from a 5.

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

Conciseness3/5

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

The purpose is front-loaded and the tool's scope is clear, but the body is a long run-on sentence followed by three standing-disclaimer clauses. Those caveats do carry behavioral weight, yet their density makes the actionable content harder to extract than it needs to be.

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?

There is no output schema, so the description must carry the return-value burden, and it does describe the review's three sections qualitatively plus how saving is surfaced. For a two-parameter, nested-input tool with full annotation coverage, this is sufficient, though a hint at the concrete shape of the returned review would make it airtight.

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 coverage is 100% and both parameters (answers, inferredAnswers) are fully documented in the schema, so the baseline is 3. The description adds only indirect meaning by listing the fact categories the answers cover ("stage, funding, the tools they use, company type and answers to earlier questions") and hinting at carried-forward answers; it does not explain the inferredAnswers round-trip or the unknown-fact semantics that the schema handles.

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 concrete verb and resource ("Returns the review Programscape would show a founder") and enumerates the three parts of the result: a short read of what matters, programs worth their time with standings, and what can wait. It also names the input domain (stage, funding, tools, company type, earlier answers), so the agent knows this is a personalized recommendation, not a catalog lookup. It stops short of explicitly contrasting with search_programs/compare_programs, which would have earned a 5.

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?

"For questions about which startup credits, programs or perks fit a company" gives a clear triggering condition for use. However, it names no alternatives (e.g. compare_programs, search_programs) and states no exclusions, so the agent must infer the boundary itself.

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.