Skip to main content
Glama

context_research

Read-only

Retrieve institutional context that code search cannot provide — WHY, WHO, WHEN behind the code. Primary Unblocked research tool; reach for it first for synthesis across sources.

One call searches every indexed source: documentation, PRs, messaging (Slack/Teams), issues (Jira/Linear/GitHub), customer support tickets (Zendesk), code (semantic search + file reads), code history, incidents, public web, internal URLs. Composes semantic search, code search, file reads, PR/issue queries, messaging search, and incident lookups.

When to call

Call proactively at the start of any non-trivial task, and whenever you hit an unknown. Do not wait for the user to ask.

  • Planning, investigation, refactor, migration, or feature work. Fire in the same tool block as your first Explore/Grep/Read calls — complementary, zero latency cost.

  • "Why does this exist" or "why is it done this way" questions. Code reading cannot answer these.

  • Behavior doesn't match the code. Check history before assuming the code is wrong.

  • Unfamiliar class, service, endpoint, flag, config key, or error string while reading or editing.

  • Before writing new code. Check whether the pattern, bug, fix, helper, or abstraction already exists.

  • Incident, alert, or outage. Connect affected systems to recent changes and prior fix patterns.

  • Filtered activity lookups. "PRs merged last week in auth service", "open incidents tagged ingestion", "Jira epics in PROJ from Q1".

  • Ambiguous user requests. Find the team's prior framing before guessing.

  • Before recommending a solution. Verify the approach hasn't been tried, rejected, or superseded.

When NOT to call

  • Known URL in hand. Use context_get_urls — faster, deterministic, returns full hydrated content. Fall back here only if the URL pattern is unsupported.

If unsure, call. Missed context is expensive; recall misses are cheap.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryYesWhat to search for — the topic, entities, urls, and any hard filters (date range, author, status) that constrain which documents match. Write a complete phrase rather than bare keywords — "How does the authentication service handle token refresh?" not "auth token refresh".
effortNoSearch effort: low, medium, or high. Use "low" by default — it's the fastest and cheapest, and sufficient for targeted lookups that point at a specific entity, URL, file, or question. Use "medium" for simple research tasks, or when the query does not translate cleanly to a single entity or URL and some exploration is needed. Use "high" for broad or cross-system investigations — highly recommended during planning tasks, where wider coverage reduces the risk of missing prior work, rejected approaches, or related constraints.
instructionNoHow to evaluate the matches — relevance criteria, domain priorities, or selection guidance that shapes which results surface and in what order, without changing what is searched. E.g., "Prefer architecture decision records over API reference docs".

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, openWorldHint, destructiveHint), the description discloses that a single call searches all indexed sources and composes multiple search and lookup mechanisms. It also communicates behavioral tradeoffs such as zero latency cost, 'missed context is expensive; recall misses are cheap,' and proactive use expectations. Nothing about its behavior would surprise an agent.

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?

The description is long but every section earns its place: purpose is front-loaded, usage guidance is organized into scannable bullets, and examples are concrete. The structure makes the length appropriate for the tool's complexity rather than bloated.

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

Completeness5/5

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

Given the tool's broad scope, the description covers purpose, use cases, exclusions, source coverage, effort guidance, and fallback behavior. An output schema exists for return values, and parameters are fully documented in the schema, so nothing critical is left undocumented.

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 100%, so the schema already thoroughly documents query, effort, and instruction. The main description adds no additional parameter-level meaning beyond what the schema provides, which meets the baseline but does not exceed it.

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?

The description explicitly states this tool retrieves institutional context (WHY, WHO, WHEN) that code search cannot provide, and identifies itself as the primary research tool. It also distinguishes itself from context_get_urls by noting that tool is faster for known URLs. No ambiguity about what the tool does or how it differs from siblings.

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?

Provides an extensive 'When to call' list covering concrete scenarios like planning, unfamiliar code, behavior mismatches, incidents, and ambiguous requests. It also gives an explicit 'When NOT to call' rule with the alternative tool (context_get_urls) and ends with a clear decision policy: 'If unsure, call.' This is exemplary routing guidance.

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.