Skip to main content
Glama

Deep Research

deep_research
Read-onlyIdempotent

ACCOUNT REQUIRED (free — sign in via GitHub at https://pipeworx.io/signup; depth:"thorough" needs a paid plan). If you are not signed in, use ask_pipeworx instead — it works on every tier. Grounded multi-source research across Pipeworx's 1867 STRUCTURED data sources (SEC filings, FRED/BLS economics, FDA, USPTO patents, markets, science, government records, etc.) in ONE call — this is NOT open-web search. Decomposes your question into focused facets, routes each to the right one of 7,190 tools IN PARALLEL, and returns a findings packet: verbatim evidence + confidence + source + fetched_at + a stable pipeworx:// citation per finding, with explicit gaps[] for facets the data couldn't answer (never invented). Best for broad/multi-part questions over structured data ("compare X and Y's regulatory + financial exposure", "research the filings + market picture for ACME"). For a single lookup use ask_pipeworx (one LLM call, not many). For BREAKING or colloquial CURRENT-NEWS / "what's the world saying about X" topics, prefer ask_pipeworx — it routes to live news APIs and the *-news-feeds packs; deep_research returns mostly empty gaps[] when the topic isn't in the structured catalog. Second-hop iteration: depth:"standard" re-angles unanswered gaps (gap recovery); depth:"thorough" additionally chases the best leads from the first pass — so multi-step questions resolve in one call. Every finding carries a hop field and a citation_uri — a resolvable pipeworx:// record URI, present only when the source emits one that resources/read can actually serve, so a citation you get back is always fetchable. "standard" and "thorough" also return contradictions[] flagging findings that disagree. Large records are semantically excerpted to the passages relevant to each facet (not head-truncated), so answers deep in a long filing/series aren't missed. Expect 15-60s (thorough with its follow-up + contradiction pass: up to ~90s).

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "depth": "quick",
      "question": "What is the current US unemployment rate and how has it changed over the past year?"
    },
    "name": "deep_research"
  }
}

Input Schema

NameRequiredDescriptionDefault
qNoAlias for question.
askNoAlias for question.
textNoAlias for question.
depthNoHow many facets to research in parallel: quick=3 (single hop), standard=3 (default; adds a gap-recovery hop that re-angles unanswered facets + a contradictions[] scan across findings), thorough=6 (paid; adds a full iterative hop that chases leads + recovers gaps, plus the contradictions[] scan).
inputNoAlias for question.
queryNoAlias for question.
promptNoAlias for question.
messageNoAlias for question.
questionYesThe research question, in natural language. Broad/multi-part is fine — decomposition is the point. Accepts query, q, prompt, text, input, ask, message as aliases.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "depth": "quick",
      +    "question": "What is the current US unemployment rate and how has it changed over the past year?"
      +  }
      +]
    • addedInput schema / properties / ask
      Added value: +{
      +  "description": "Alias for question.",
      +  "type": "string"
      +}
    • addedInput schema / properties / input
      Added value: +{
      +  "description": "Alias for question.",
      +  "type": "string"
      +}
    • addedInput schema / properties / message
      Added value: +{
      +  "description": "Alias for question.",
      +  "type": "string"
      +}
    • addedInput schema / properties / prompt
      Added value: +{
      +  "description": "Alias for question.",
      +  "type": "string"
      +}
    • addedInput schema / properties / q
      Added value: +{
      +  "description": "Alias for question.",
      +  "type": "string"
      +}
    • addedInput schema / properties / query
      Added value: +{
      +  "description": "Alias for question.",
      +  "type": "string"
      +}
    • changedInput schema / properties / question / description
      Previous value: -"The research question, in natural language. Broad/multi-part is fine — decomposition is the point."New value: +"The research question, in natural language. Broad/multi-part is fine — decomposition is the point. Accepts query, q, prompt, text, input, ask, message as aliases."
    • addedInput schema / properties / text
      Added value: +{
      +  "description": "Alias for question.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / depth / description
      Previous value: -"How many facets to research in parallel: quick=3 (single hop), standard=5 (default; adds a gap-recovery hop that re-angles unanswered facets + a contradictions[] scan across findings), thorough=8 (paid; adds a full iterative hop that chases leads + recovers gaps, plus the contradictions[] scan)."New value: +"How many facets to research in parallel: quick=3 (single hop), standard=3 (default; adds a gap-recovery hop that re-angles unanswered facets + a contradictions[] scan across findings), thorough=6 (paid; adds a full iterative hop that chases leads + recovers gaps, plus the contradictions[] scan)."
  3. Changed1 schema field changed
    • changedInput schema / properties / depth / description
      Previous value: -"How many facets to research in parallel: quick=3 (single hop), standard=5 (default; adds a gap-recovery hop that re-angles unanswered facets), thorough=8 (paid; adds a full iterative hop that chases leads + recovers gaps, plus a contradictions[] scan across findings)."New value: +"How many facets to research in parallel: quick=3 (single hop), standard=5 (default; adds a gap-recovery hop that re-angles unanswered facets + a contradictions[] scan across findings), thorough=8 (paid; adds a full iterative hop that chases leads + recovers gaps, plus the contradictions[] scan)."
  4. Changed1 schema field changed
    • changedInput schema / properties / depth / description
      Previous value: -"How many facets to research in parallel: quick=3, standard=5 (default), thorough=8 (paid plans). \"thorough\" also runs a second ITERATIVE hop — a planner inspects the first-pass findings/gaps and chases the most valuable leads or recovers gaps, resolving multi-step questions in one call."New value: +"How many facets to research in parallel: quick=3 (single hop), standard=5 (default; adds a gap-recovery hop that re-angles unanswered facets), thorough=8 (paid; adds a full iterative hop that chases leads + recovers gaps, plus a contradictions[] scan across findings)."
  5. Changed1 schema field changed
    • changedInput schema / properties / depth / description
      Previous value: -"How many facets to research in parallel: quick=3, standard=5 (default), thorough=8 (paid plans)."New value: +"How many facets to research in parallel: quick=3, standard=5 (default), thorough=8 (paid plans). \"thorough\" also runs a second ITERATIVE hop — a planner inspects the first-pass findings/gaps and chases the most valuable leads or recovers gaps, resolving multi-step questions in one call."
  6. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, but the description adds substantial context beyond them: authentication and tier gating, latency expectations (15–60s, up to ~90s for thorough), the guarantees of the findings packet (verbatim evidence, confidence, source, fetched_at, never-invented gaps[]), contradiction flagging, semantic excerpting rather than head-truncation, and the caveat that citation_uri only appears when the source emits a resolvable record. The only reason this is not a 5 is that the redundancy around contradictions and citations makes some of the disclosure restated rather than new.

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?

The most decision-critical item — account required and the ask_pipeworx fallback — is front-loaded, followed by purpose, exclusions, then mechanism. Every paragraph carries usable information, but the text is dense and repeats the contradictions[] guarantee (once in the depth discussion, once near the end) and the citation fetchability claim, which could be consolidated.

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?

There is no output schema, so the description properly takes on the burden of describing the return shape — findings packet fields, gaps[], contradictions[], hop, citation_uri — plus latency and auth requirements. For a tool this complex, nothing an agent needs in order to decide, authenticate, and interpret results is missing.

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 100% and the depth enum is already fully documented in the schema, so the baseline is 3. The description does add value by framing what each depth level means in operational terms — hop counts, gap recovery vs. lead-chasing, and which levels trigger contradictions[] — which helps an agent pick a depth deliberately rather than guessing. The eight question aliases are left entirely to the schema, which is fine given full coverage.

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 — grounded multi-source research across 1,867 structured data sources — and explicitly carves out what it is not ("this is NOT open-web search"). It also describes the mechanism (facet decomposition, parallel routing across 7,190 tools) and the output packet, so an agent can distinguish it from ask_pipeworx 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 when-to-use (broad/multi-part questions over structured data, with two concrete example phrasings), explicit when-not-to-use (single lookup → ask_pipeworx; breaking or colloquial current-news → ask_pipeworx, with the reason: empty gaps[]), and tier prerequisites (free account, paid for depth:thorough). Alternatives are named with the selecting condition, not left to inference.

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.