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 1871 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,204 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. Changed8 schema fields changed
    • 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
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "depth": "quick",
      +    "question": "What is the current US unemployment rate and how has it changed over the past year?"
      +  }
      +]
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnly/idempotent/openWorld/non-destructive; the description adds substantial non-structured context: free-account vs paid-tier gating for depth:'thorough', 15-60s (up to ~90s) latency, gaps[] never invented, contradiction scanning by depth, semantic (not head-truncated) excerpting of large records, and the important caveat that citation_uri only appears when resources/read can actually serve it. Nothing contradicts the annotations.

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 the hard prerequisite (account) and the negative scoping statement, which is the right ordering. It is long and a few clauses repeat themselves ('needs a paid plan' vs '(paid)'; alias list duplicated from schema), but nearly every sentence carries decision-relevant information.

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?

No output schema exists, so the description must describe returns — and it does precisely: findings packet with verbatim evidence, confidence, source, fetched_at, pipeworx:// citation per finding, hop field, gaps[], and contradictions[]. For a high-latency, gated, multi-hop tool, an agent has everything needed to call it correctly and interpret the result.

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 schema already fully documents depth's facet counts and hop behavior, so the description doesn't need to re-explain it. It does add meaning the schema omits: that depth:'thorough' requires a paid plan and is the only tier with the full iterative lead-chasing hop. The alias list is repeated from the schema, which is redundant but harmless.

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+resource (grounded multi-source research across 1,871 structured data sources) and immediately bounds it with 'this is NOT open-web search,' plus the decomposition/parallel-routing mechanism. It distinguishes itself from the sibling ask_pipeworx by scope (multi-facet vs single lookup) without the agent needing to open either 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?

Explicitly routes: single lookup -> ask_pipeworx, breaking/colloquial current-news -> ask_pipeworx (because gaps[] would fill), not signed in -> ask_pipeworx, broad multi-part structured questions -> this tool. It also gives worked example question shapes. This is close to the ideal when/when-not/alternatives triad.

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.