Skip to main content
Glama

OneQAZ Trading Intelligence

Fetch Document

fetch
Read-onlyIdempotent

Purpose: ChatGPT-connector-standard document fetch by id from search results. Namespaces: tool:{name} returns the tool's full documentation and how to call it; resource:{uri} returns the resource's live data (core resources resolved server-side — also the bridge for clients without MCP resource support, e.g. Gemini); signal:{market}:{symbol} returns the symbol's latest combined signal. Triggers: ChatGPT connectors / Deep Research call this after search. Clients without MCP resource support can call it directly with a known resource id, e.g. fetch("resource:market://global/summary"). When to call: whenever the full content behind a search result id is needed. Prerequisites: a valid id — from search results or a known namespace id. Next steps: for tool docs, call the named tool via tools/call; for signals, explain_decision for deeper evidence. Caveats: uncovered resource uris return description-only text (no fabricated data). text is a JSON document for resource/signal ids. Output: {id, title, text, url, metadata, disclaimer, is_investment_advice, data_classification} — flat envelope, OpenAI fixed shape. Output nature: Observed signal state computed from live market prices each cycle. signal_score is an internal ranking score, not a probability; bias is its sign. Context for the user's question, not investment advice.

Input Schema

NameRequiredDescriptionDefault
idYesdocument id — "tool:{name}", "resource:{uri}", or "signal:{market}:{symbol}" (market: crypto / kr_stock / us_stock)

Output Schema

NameRequiredDescriptionDefault
idNo
urlNo
textNo
titleNo
metadataNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  2. Changed2 schema fields changed
    • addedOutput schema / description
      Added value: +"`full_data` for fetch — 실응답에서 추출(2026-09-23)."
    • addedOutput schema / properties
      Added value: +{
      +  "id": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "metadata": {
      +    "additionalProperties": true,
      +    "type": "object"
      +  },
      +  "text": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "title": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  },
      +  "url": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ],
      +    "default": null
      +  }
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / id / description
      Added value: +"document id — \"tool:{name}\", \"resource:{uri}\", or \"signal:{market}:{symbol}\" (market: crypto / kr_stock / us_stock)"
  4. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/closed-world, so the description doesn't need to argue safety; instead it adds real behavioral context — uncovered resource URIs return description-only text with no fabricated data, `text` is a JSON document for resource/signal ids, and the signal output is a live per-cycle observed state. It stops short of covering auth or rate-limit/pagination behavior, which keeps it from 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?

Labeled sections (Purpose / Namespaces / Triggers / When to call / Prerequisites / Next steps / Caveats / Output) make it skimmable and front-loaded. It is on the long side and the trailing 'Output nature' paragraph drifts into investment-advice framing that is only loosely about fetching.

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?

For a multi-namespace dispatcher this covers the full calling lifecycle — what ids look like, where they come from, what happens on a miss, and where to go next — while an output schema already handles return-value detail.

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%, so the baseline is satisfied by the schema alone, but the description adds genuine meaning: the three namespace prefixes, the market enum values (crypto / kr_stock / us_stock), and a concrete call example fetch("resource:market://global/summary").

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 opening line states a specific verb and resource ('document fetch by id') and immediately scopes it to `search` results, distinguishing it from the `search` sibling. The namespace list (`tool:`, `resource:`, `signal:`) further pins down exactly what can be fetched.

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?

Explicit triggers ('ChatGPT connectors / Deep Research call this after `search`'), an explicit when-to-call rule, prerequisites (a valid id from search or a known namespace id), and next steps routing to tools/call or explain_decision. Alternatives are named rather than 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.