Skip to main content
Glama

Equity Research Pilot

research_apply_inputs

Read-onlyIdempotent

Apply explicitly supported inputs to an in-memory plan, then recheck. Does not save research.

    expected_context must equal guidance.context from the last precheck. confirmed means the user has
    checked units, scope and basis; do not infer it from a request to analyze a stock.
    Debt: values.debt_override (billions) OR all four components: long_term_debt, current_debt,
    short_term_borrowings, other_claims (each in billions; explicit zero allowed, no double-counting).
    Shares: shares_override in BILLIONS (1000 million = 1), share_ratio, optional fx (USD/model currency).
    Industry: growth (fraction), years, industry_inputs.target_margin (fraction),
    industry_inputs.sales_to_capital, industry_inputs.transition_years. Other group fields are rejected.
    

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "symbol": "<symbol>",
      "as_of": "<as_of>",
      "plan": "<plan>",
      "group": "<group>",
      "values": "<values>",
      "basis": "<basis>",
      "confirmed": "<confirmed>",
      "expected_context": "<expected_context>"
    },
    "name": "research_apply_inputs"
  }
}

Input Schema

NameRequiredDescriptionDefault
planYes
as_ofYes
basisYes
groupYes
symbolYes
valuesYes
confirmedYes
componentsNo
security_idNo
expected_contextYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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 the description is consistent with them while adding real behavior: the plan is in-memory, nothing is persisted, a recheck runs after applying, and unrelated group fields are rejected. It stops short of describing what an expected_context mismatch produces (error vs. silent recheck failure).

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?

Purpose and the 'does not save' caveat are front-loaded, then grouped as Debt / Shares / Industry blocks that map to the `group` enum. The telegraphic fragments and embedded constraints are dense but every line adds a constraint an agent would otherwise get wrong.

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?

An output schema exists, so return values needn't be described, and the description covers the precheck dependency, confirmation semantics, and per-group payload rules. What remains thin is the identity/context envelope — plan, as_of, basis, security_id — which an agent must supply on every call without any stated meaning.

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?

With 0% schema description coverage the description carries the load, and it does so for the hardest parts: units for debt_override and the four debt components (billions, explicit zero, no double-counting), shares_override being in BILLIONS with a 1000-million example, share_ratio and fx, and each industry field with its fraction convention. It leaves plan, as_of, basis, components and security_id entirely unexplained, which is a meaningful residual gap for a 10-parameter tool.

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 and resource ('Apply ... inputs to an in-memory plan, then recheck') and immediately bounds scope with 'Does not save research.' That negative clause separates it from the persistence-oriented siblings, though no sibling tool is named explicitly.

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

Usage Guidelines3/5

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

Ordering is implied by 'expected_context must equal guidance.context from the last precheck,' which anchors the tool after research_precheck, and by the warning not to infer `confirmed` from an analysis request. But it never names the alternative tools or says when not to call this instead of research_get_plan or research_precheck.

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