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 (Notion), code and code history (GitHub), PRs.

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

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 planning tasks and broad or cross-system investigations, where wider coverage reduces the risk of missing prior work, rejected approaches, or related constraints. Do not use "high" for a simple lookup of one entity, URL, file, ticket, or error: it runs several times as many searches as "medium" and is noticeably slower.
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

NameRequiredDescriptionDefault
textYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Changed1 schema field changed
    • changedInput schema / properties / effort / description
      Previous value: -"Search effort: low, medium, or high. Use \"low\" by default — it's the fastest and cheapest,\nand sufficient for targeted lookups that point at a specific entity, URL, file, or question.\nUse \"medium\" for simple research tasks, or when the query does not translate cleanly to a\nsingle entity or URL and some exploration is needed. Use \"high\" for planning tasks and broad or\ncross-system investigations, where wider coverage reduces the risk of missing prior work, rejected\napproaches, or related constraints. Do not use \"high\" for a question about one entity, URL, file,\nticket, or error, even during a planning task: it runs several times as many searches as \"medium\"\nand is noticeably slower."New value: +"Search effort: low, medium, or high. Use \"low\" by default — it's the fastest and cheapest,\nand sufficient for targeted lookups that point at a specific entity, URL, file, or question.\nUse \"medium\" for simple research tasks, or when the query does not translate cleanly to a\nsingle entity or URL and some exploration is needed. Use \"high\" for planning tasks and broad or\ncross-system investigations, where wider coverage reduces the risk of missing prior work, rejected\napproaches, or related constraints. Do not use \"high\" for a simple lookup of one entity, URL, file,\nticket, or error: it runs several times as many searches as \"medium\" and is noticeably slower."
  4. Changed1 schema field changed
    • changedInput schema / properties / effort / description
      Previous value: -"Search effort: low, medium, or high. Use \"low\" by default — it's the fastest and cheapest,\nand sufficient for targeted lookups that point at a specific entity, URL, file, or question.\nUse \"medium\" for simple research tasks, or when the query does not translate cleanly to a\nsingle entity or URL and some exploration is needed. Use \"high\" for broad or cross-system\ninvestigations — highly recommended during planning tasks, where wider coverage reduces the\nrisk of missing prior work, rejected approaches, or related constraints."New value: +"Search effort: low, medium, or high. Use \"low\" by default — it's the fastest and cheapest,\nand sufficient for targeted lookups that point at a specific entity, URL, file, or question.\nUse \"medium\" for simple research tasks, or when the query does not translate cleanly to a\nsingle entity or URL and some exploration is needed. Use \"high\" for planning tasks and broad or\ncross-system investigations, where wider coverage reduces the risk of missing prior work, rejected\napproaches, or related constraints. Do not use \"high\" for a question about one entity, URL, file,\nticket, or error, even during a planning task: it runs several times as many searches as \"medium\"\nand is noticeably slower."
  5. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: one call fans out across Notion docs, GitHub code and history, and PRs; it can run concurrently with Explore/Grep at no added latency; and recall misses are framed as cheap versus expensive missed context. It does not mention auth requirements, source freshness/index coverage limits, or rate limits, which keeps it short of 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.

Conciseness4/5

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

Front-loaded with purpose and the sibling distinction, then cleanly sectioned under 'When to call' / 'When NOT to call'. Some bullets are near-duplicates (multiple 'before you write code / before you recommend' items) and could be consolidated, but nearly every line carries actionable routing signal rather than filler.

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?

An output schema exists, so return format need not be explained; the description instead covers the sources searched, the proactive-call policy, cost/latency tradeoffs, and the sibling handoff. For a three-parameter research tool with annotations and an output schema, nothing an agent needs in order to decide to call it is missing.

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% and the effort parameter already carries detailed low/medium/high guidance, so the schema does the heavy lifting. The description only indirectly touches parameters via 'filtered activity lookups' (hinting the query can embed date/author/status filters); it adds no syntax or semantics the schema lacks, so the baseline 3 applies.

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 and resource (retrieve institutional context) and names the exact gap it fills — WHY/WHO/WHEN that code search cannot answer. It also declares itself the primary research tool, which immediately positions it against the two 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 unusually complete when-to-call list (planning, 'why does this exist', behavior/code mismatch, unfamiliar symbols, before writing code, incidents, filtered lookups, ambiguous requests) and an explicit when-NOT-to-call rule that routes known URLs to context_get_urls instead. The 'if unsure, call' tiebreaker removes the last ambiguity.

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.