Skip to main content
Glama

Niche: Your niche, followed for you

Propose angles

niche_angle_propose

Angles on one story (Pro): up to a few distinct stances a reader could take, each with a hook, the take, and the sources that support it. Pass the session_id from a scan and a story_id from its slate. Nothing is written for you; the angles are starting points.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lensNoOptional direction for a regenerated angle set, such as focus on the evidence.
story_idYesid from niche_session_state.stories[].id
regenerateNoRequest another set of angles after the selected story's angles are ready. Subject to the account's allowance.
session_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / custom_framing
      Removed value: -{
      -  "description": "Optional. Your own angle in a sentence ('the contrarian take: X is overhyped because Y'). When set, drafts that angle on the real story (provenance preserved) instead of returning the proposed five. Requires the story locked and angles ready (cp2_awaiting_angle).",
      -  "type": "string"
      -}
    • changedInput schema / properties / lens / description
      Previous value: -"Optional steer (e.g. 'more contrarian', 'lead with the data'). Read on a regenerate run, and as a fallback steer for a custom_framing draft when custom_framing is set without its own wording."New value: +"Optional direction for a regenerated angle set, such as focus on the evidence."
    • changedInput schema / properties / regenerate / description
      Previous value: -"Generate a fresh set of angles on the locked story instead of returning the existing set. Requires the story locked and angles ready. Capped per session; metered like a generation."New value: +"Request another set of angles after the selected story's angles are ready. Subject to the account's allowance."
  2. Changed1 schema field changed
    • changedInput schema / properties / lens / description
      Previous value: -"Optional steer for a regenerate run (e.g. 'more contrarian', 'lead with the data'). Only read when regenerate is true."New value: +"Optional steer (e.g. 'more contrarian', 'lead with the data'). Read on a regenerate run, and as a fallback steer for a custom_framing draft when custom_framing is set without its own wording."
  3. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, openWorldHint=false, destructiveHint=false, so safety is largely covered. The description adds that this is generative drafting rather than final copy ('Nothing is written for you'), but it omits that the call consumes an account allowance and can be re-run/regenerated, and the phrase 'nothing is written' sits awkwardly against readOnlyHint=false.

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

Conciseness5/5

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

Three short sentences, front-loaded with what the tool returns, then the required inputs, then a caveat. No repetition of the title or 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?

With no output schema, the description does the work of sketching the return shape (hook, take, sources), which is the key thing an agent needs. The remaining gap is cost/allowance behavior for regenerate, which is only hinted at 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 75% (session_id lacks a schema description), and the description compensates by explaining where both ids come from — a scan session and its slate story. lens and regenerate are already documented in the schema, so the description's added value is the id-sourcing linkage.

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 (propose) and resource (angles on one story) and precisely defines the artifact produced: distinct stances, each with a hook, the take, and supporting sources. The 'one story' scope plus the (Pro) gate separates it from siblings like niche_signal_scan and niche_session_state without needing to name them.

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 explicit prerequisites — 'Pass the session_id from a scan and a story_id from its slate' — which tells the agent the tool is used downstream of a scan. It also sets expectations about the output ('the angles are starting points'). No named alternatives or when-not-to-use case, so it falls short of a 5.

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.