Skip to main content
Glama

Create a Recommendation

create_recommendation

Raises a new recommendation the Scan did not — for an activity the user wants to track. Anchor it to a narrative (narrativeId from get_narratives); ground the brief in that narrative first with get_narrative_claims and get_prompt_results. You write title, question (the buyer question it answers) and whatToDo (the proposed work). It is raised at the review stage under the user, and every later Scan tracks its standing like a Scan-raised one. Confirm the wording with the user before creating. Optional why:null/pagesToFix:null initialize empty content. Any seed must exist on this Site/Topic. Requires an existing completed Scan; a baseline with baselineMeasured=false is unmeasured, not evidence of AI omission. Returns bounded saved detail. A duplicate title is refused within the same narrative/raising Scan; after uncertainty inspect the board before retrying, because creation is not exactly-once.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
whyNoThe shortfall it addresses.
seedNoWhat this grew from. Pass {kind:"claim", id: claimId} with a claimId from get_narrative_claims to attach that quote as the recommendation's supporting evidence — otherwise it is raised with no pinned quotes.
titleYes
effortNo
impactNo
intentNo
siteIdYesSite or topic ID from list_sites_and_topics. Check subjectKind; topics support manual baseline scans.
questionYesThe buyer question this recommendation answers.
whatToDoYesThe proposed work, one paragraph.
confidenceNo
pagesToFixNo
narrativeIdYesThe narrative this activity is about (from get_narratives).
targetStandingNoTarget rung: 1 mentioned … 4 recommended.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
summaryYes
recommendationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), but the description adds meaningful behavior beyond them: duplicates refused within the same narrative/raising Scan, creation is not exactly-once, retry recovery guidance ('inspect the board before retrying'), and that later Scans track its standing like a Scan-raised one. This is unusually rich, though return semantics are left to 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.

Conciseness4/5

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

Front-loads the core purpose, then sequences prerequisites, authoring fields, and caveats. Dense but each sentence carries information. Slightly long and a few clauses could be tightened, but nothing is 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?

Given 13 params, a nested seed object, and an existing output schema (so returns needn't be explained), the description covers creation stage, seeding, validation constraints, duplicate behavior, and prerequisites. The remaining gap is that several optional enum params are neither described here nor in the schema.

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

Parameters4/5

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

Schema coverage is only 54% across 13 params, so the description must compensate. It defines the three core content fields (title, question, whatToDo), clarifies that why:null/pagesToFix:null initialize empty content, and states that any seed must exist on this Site/Topic. It leaves effort/impact/intent/confidence/targetStanding semantics largely to the schema, so it adds value but not full compensation.

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

Purpose5/5

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

States a specific verb+resource ('Raises a new recommendation the Scan did not') and immediately distinguishes it from Scan-raised and other recommendation siblings by scope — user-initiated activities. An agent can tell this apart from edit_recommendation/create_recommendation_note without opening a schema.

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

Usage Guidelines5/5

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

Gives explicit prerequisites (existing completed Scan; narrativeId from get_narratives), a required approach ('ground the brief in that narrative first with get_narrative_claims and get_prompt_results'), a confirmation step with the user, and an exclusion ('a baseline with baselineMeasured=false is unmeasured, not evidence of AI omission'). Names the supporting read tools to call first.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources