Back to Browse

Telegraph MCP Server

Developer ToolsModerate7.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Decentralized AI inference (weather, deepfake detection, LLMs) with x402 USDC micropayments.

About

Decentralized AI inference (weather, deepfake detection, LLMs) with x402 USDC micropayments.

Security Report

7.2
Moderate7.2Low Risk

Telegraph MCP server is well-structured with proper authentication via EVM/Solana private keys and appropriate permission scoping for its developer tools purpose. The codebase demonstrates good security practices with no malicious patterns, proper credential handling via environment variables, and clear separation of concerns. Minor code quality improvements around error handling and input validation are recommended, but do not indicate real security vulnerabilities. Package verification found 1 issue.

8 files analyzed · 6 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

process_spawn

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Telegraph node public API URL (e.g. http://13.237.89.59:7044)Optional

Environment variable: TELEGRAPH_NODE_URL

Telegraph Engine inference server URL (e.g. http://13.237.89.59:8080)Optional

Environment variable: TELEGRAPH_ENGINE_URL

Telegraph Daemon signal API URL (e.g. http://13.237.89.59:8081)Optional

Environment variable: TELEGRAPH_DAEMON_URL

EVM private key (0x-prefixed hex) of a USDC-funded burner wallet used to sign x402 payments. At least one of TELEGRAPH_EVM_PRIVATE_KEY or TELEGRAPH_SOLANA_PRIVATE_KEY is required.Required

Environment variable: TELEGRAPH_EVM_PRIVATE_KEY

Solana private key (base58) for SVM x402 payments. Optional alternative to TELEGRAPH_EVM_PRIVATE_KEY.Required

Environment variable: TELEGRAPH_SOLANA_PRIVATE_KEY

CAIP-2 network identifier for EVM payments. Defaults to eip155:*.Optional

Environment variable: EVM_NETWORK

CAIP-2 network identifier for Solana payments. Defaults to solana:*.Optional

Environment variable: SVM_NETWORK

Dynamic miner-tool refresh interval in milliseconds. Defaults to 300000 (5 min). Set to 0 to disable.Optional

Environment variable: REFRESH_INTERVAL_MS

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-telegraphprotocol-telegraph": {
      "env": {
        "EVM_NETWORK": "your-evm-network-here",
        "SVM_NETWORK": "your-svm-network-here",
        "TELEGRAPH_NODE_URL": "your-telegraph-node-url-here",
        "REFRESH_INTERVAL_MS": "your-refresh-interval-ms-here",
        "TELEGRAPH_DAEMON_URL": "your-telegraph-daemon-url-here",
        "TELEGRAPH_ENGINE_URL": "your-telegraph-engine-url-here",
        "TELEGRAPH_EVM_PRIVATE_KEY": "your-telegraph-evm-private-key-here",
        "TELEGRAPH_SOLANA_PRIVATE_KEY": "your-telegraph-solana-private-key-here"
      },
      "args": [
        "-y",
        "telegraph-protocol-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Telegraph MCP server

Gives any MCP client (Claude Code, Claude Desktop, Cursor, Goose, Continue, ElizaOS, LangChain, ...) the Telegraph network: ask questions that the best-ranked miner answers, browse every intent, miner and ranking, and pay per ask in USDC from escrow or by x402. One setting, nine tools.

Quick start

You need Node 18+ and, for paid asks, the private key of a wallet made for this (never your main wallet). Free tools work without a key.

Claude Code

claude mcp add telegraph -e TELEGRAPH_PRIVATE_KEY=0xyour_key -- npx -y @telegraphprotocol/telegraph-protocol-mcp

Claude Desktop, Cursor and most other clients (claude_desktop_config.json, ~/.cursor/mcp.json, ...)

{
  "mcpServers": {
    "telegraph": {
      "command": "npx",
      "args": ["-y", "@telegraphprotocol/telegraph-protocol-mcp"],
      "env": { "TELEGRAPH_PRIVATE_KEY": "0xyour_key" }
    }
  }
}

Then ask your agent things like "what is the BTC price?", "which miners serve weather and how do they rank?" or "how much is in my Telegraph escrow?". More client configs are in examples/.

Settings

VariableDefaultWhat it is
TELEGRAPH_PRIVATE_KEYnoneWallet that pays for asks. Without it only the free tools work. (TELEGRAPH_EVM_PRIVATE_KEY, the v1 name, also works.)
TELEGRAPH_URLhttps://devnode.telegraphprotocol.comThe node (Telegraph beta 2)
TELEGRAPH_PAYMENTautoauto: escrow first, then x402. escrow or x402: only that one
TELEGRAPH_RPC_URLpublic Sepolia RPCChain RPC, for the balance and deposit tools
TELEGRAPH_DIAMOND, TELEGRAPH_CHAIN_IDbeta 2'sThe contract that holds escrow, and its chain

Tools

ToolCostWhat it does
telegraph_ask~$0.01Ask a question (optionally an exact intent and params); the node routes it to the top live miner
telegraph_ask_minerthe miner's priceAsk one miner you choose, or call one of its endpoints directly
telegraph_find_intentsfreeSearch the 130+ intents (kinds of question)
telegraph_intentfreeOne intent's kind, params, answer fields and top miners
telegraph_find_minersfreeAn intent's miners with rank, score, price and endpoints, or a word search over all miners
telegraph_rankingfreeThe latest epoch's ranking, per intent
telegraph_accountfreeWallet USDC and ETH, and the escrow balance, debt and pending withdrawal
telegraph_depositgasMove wallet USDC into escrow (approve + depositUSDC)
telegraph_docsfreeBuilt-in guides: getting started, payments, intents and ranking, errors. Also served as MCP resources (telegraph://docs/...)

Payments

  • Escrow (used first): deposit USDC once with telegraph_deposit. Each ask carries a signature that proves intent but can't move funds. Asks are deducted at the epoch close, and a failed ask is never billed.
  • x402 (fallback): when escrow is empty, the server pays each ask from the wallet's USDC. If the ask then fails, the node credits the payment to your escrow, so it stays yours.

Details, debt and withdrawing: guides/2-payments.md.

Test funds (beta 2)

Beta 2 runs on Ethereum Sepolia. Its USDC (0xcc194e1a843B658526D0D5C431f670028582Ae17) is a test token anyone can mint with mint(yourAddress, amount) (6 decimals). Gas needs a little Sepolia ETH from a public faucet.

Security

  • Use a wallet made for this, holding only what you plan to spend.
  • The key stays in the MCP server process; the agent never sees it.
  • The server runs locally over stdio and opens no port.

Development

npm install && npm run build
node scripts/smoke.mjs                                       # free tools against the node
TELEGRAPH_PRIVATE_KEY=0x... node scripts/smoke.mjs paid      # plus three asks (~$0.03)
node scripts/smoke.mjs call telegraph_intent '{"intent":"CRYPTO_PRICE_USD"}'
npx @modelcontextprotocol/inspector dist/index.js            # browse the tools

Architecture: docs/architecture.md. Problems: docs/troubleshooting.md.

Reviews

No reviews yet

Be the first to review this server!