Skip to main content
Glama

Fetch content by CID (dedicated gateway, optional fallback)

dexe_ipfs_fetch
Read-onlyIdempotent

Fetches IPFS content by CID through a dedicated gateway first, then configured or public fallbacks, returning metadata or files for DAO proposal and token workflows.

Instructions

Read-only. Fetches IPFS content by CID through the server's gateway chain: its dedicated gateway first when it has one, then the configured or public fallbacks.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "cid": "<cid>"
    },
    "name": "dexe_ipfs_fetch"
  }
}

Input Schema

NameRequiredDescriptionDefault
cidYesCID (with or without ipfs:// prefix)
timeoutMsNoPer-gateway timeout in ms (default 10000).

Output Schema

NameRequiredDescriptionDefault
cidYes
jsonNo
gatewayYes
attemptsYes
sizeBytesYes
truncatedNo
contentTypeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.37.1

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavior: retrieval goes through a gateway chain, dedicated gateway first, then configured or public fallbacks. It omits what happens when every gateway fails (error vs empty result), which is the one remaining behavioral gap.

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?

Two sentences, no filler. The 'Read-only.' lead is front-loaded and the gateway-order detail follows immediately. Every clause carries information an agent cannot get from the structured fields alone.

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

Completeness4/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 values need no explanation, and the two-parameter surface is fully described in the schema. The gateway-chain description covers the tool's main complexity. Only the all-gateways-fail outcome is unaddressed, a minor gap for a read-only fetch.

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 coverage is 100%, so both parameters are already documented, including the ipfs:// prefix tolerance and the timeoutMs bounds. The description only restates the CID input and says nothing about timeout or per-gateway retry semantics, so the schema does the heavy lifting — baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Fetches IPFS content by CID') plus the mechanism (server's gateway chain). The read direction is unambiguous against the upload_* siblings. It stops short of explicitly naming those siblings as the write-side alternative, so it lands just under a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Read-only' signals the safe-read case and the gateway-chain sentence implies this is the generic retrieval path, but there is no explicit when-to-use/when-not-to-use statement or named alternative. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.