{
  "markdown": "# telemost-mcp-server\n\nPay-per-call **Telegram analytics** as MCP tools. Your agent pays per call in **USDC** via the\n[x402](https://x402.org) protocol — **no accounts, no API keys, no subscription**. Data covers public\nTelegram channels behind paid, anti-scraping sources that an agent cannot cheaply gather itself.\n\n## Why this server\n\n- **Data an agent can't easily get:** channel statistics, subscriber growth, reach and engagement\n  (ER / ERR / ERR24), full-text post search across public channels, mention & brand tracking, sentiment,\n  similar-channel discovery, ad intelligence.\n- **No signup / no keys:** pay per call in USDC (x402). Fund a wallet, that's it.\n- **19 paid tools + a free `telemost_catalog`** tool (list everything, no payment).\n- **Base + Solana** (USDC). Pick either network per call.\n- **Two ways to connect:** a **remote** hosted server (no local wallet) and this **local stdio** bridge\n  (pays from your own wallet).\n- **Production, observable, listed:** live at `https://api.telemost.io`, listed on\n  [x402scan](https://www.x402scan.com/resources) and the x402 Bazaar.\n\nPrices are **not hardcoded here** (they'd go stale) — the catalog is the single source of truth:\n[`https://api.telemost.io/v1/catalog`](https://api.telemost.io/v1/catalog).\n\n## Quickstart (no wallet, no money)\n\nAfter installing (below), your MCP client will have a **`telemost_catalog`** tool. Call it first — it's\n**free** and returns every tool with its price, input/output schema and an example. First success before\nyour first dollar. Only paid tools (e.g. `telemost_channel_info`) require a funded wallet.\n\n## Install\n\nRequires **Node ≥ 18**. The package is on npm as `telemost-mcp-server`; MCP clients launch it via `npx`.\n\n### Claude Desktop\n\nEdit `claude_desktop_config.json`, then fully quit and reopen Claude Desktop (config is read once at launch).\n\n| OS | Config file |\n|---|---|\n| **macOS** | `~/Library/Application Support/Claude/claude_desktop_config.json` |\n| **Windows** | `%APPDATA%\\Claude\\claude_desktop_config.json` |\n| **Linux** | `~/.config/Claude/claude_desktop_config.json` |\n\n> **Windows (Microsoft Store / MSIX build):** the app sandboxes `%APPDATA%\\Claude\\` and redirects it to\n> `%LOCALAPPDATA%\\Packages\\Claude_*\\LocalCache\\Roaming\\Claude\\`. Use the app's **Settings → Developer →\n> Edit Config** button to open the file the app actually reads.\n\n**macOS / Linux:**\n\n```json\n{\n  \"mcpServers\": {\n    \"telemost\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"telemost-mcp-server\"],\n      \"env\": {\n        \"EVM_PRIVATE_KEY\": \"0xYOUR_BASE_WALLET_KEY\",\n        \"MAX_PAYMENT_USDC\": \"2.5\",\n        \"SESSION_MAX_USDC\": \"10\"\n      }\n    }\n  }\n}\n```\n\n**Windows** — if a bare `npx` command fails to start, wrap it with `cmd /c`:\n\n```json\n{\n  \"mcpServers\": {\n    \"telemost\": {\n      \"command\": \"cmd\",\n      \"args\": [\"/c\", \"npx\", \"-y\", \"telemost-mcp-server\"],\n      \"env\": {\n        \"EVM_PRIVATE_KEY\": \"0xYOUR_BASE_WALLET_KEY\",\n        \"MAX_PAYMENT_USDC\": \"2.5\",\n        \"SESSION_MAX_USDC\": \"10\"\n      }\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add telemost --env EVM_PRIVATE_KEY=0xYOUR_KEY -- npx -y telemost-mcp-server\n```\n\n### Cursor\n\n`~/.cursor/mcp.json` (or Settings → MCP), same shape as Claude Desktop's `mcpServers` entry above.\n\nSources for client config paths: [modelcontextprotocol.io — connect local servers](https://modelcontextprotocol.io/docs/develop/connect-local-servers),\n[Claude Desktop configuration](https://claude.com/docs/third-party/claude-desktop/configuration).\n\n## Remote server (no local wallet needed)\n\nA hosted MCP server is live at **`https://api.telemost.io/mcp`** (Streamable HTTP). Point any MCP client\nthat supports remote/Streamable-HTTP servers at that URL. Minimal programmatic example:\n\n```ts\nimport { StreamableHTTPClientTransport } from \"@modelcontextprotocol/sdk/client/streamableHttp.js\";\nimport { createx402MCPClient } from \"@x402/mcp\";\nimport { ExactEvmScheme } from \"@x402/evm/exact/client\";\nimport { privateKeyToAccount } from \"viem/accounts\";\n\nconst client = createx402MCPClient({\n  name: \"my-agent\", version: \"1.0\",\n  schemes: [{ network: \"eip155:8453\", client: new ExactEvmScheme(privateKeyToAccount(process.env.EVM_PRIVATE_KEY)) }],\n  autoPayment: true,\n  onPaymentRequested: async ({ paymentRequired }) => Number(paymentRequired.accepts[0].maxAmountRequired) <= 20_000, // <= $0.02\n});\nawait client.connect(new StreamableHTTPClientTransport(new URL(\"https://api.telemost.io/mcp\")));\n\nawait client.callTool(\"telemost_catalog\", {});                       // free\nawait client.callTool(\"telemost_channel_info\", { channel: \"@durov\" }); // paid\n```\n\n## Example calls\n\n- `telemost_catalog` → `{ \"service\": \"telemost-x402\", \"resources\": [ … ], \"mcp\": { … } }` (free).\n- `telemost_channel_info` `{ \"channel\": \"@durov\" }` → an envelope like:\n\n```json\n{ \"ok\": true,\n  \"data\": { \"title\": \"…\", \"members_count\": 0, \"verified\": true, \"language\": \"en\", \"link\": \"https://t.me/…\" },\n  \"meta\": { \"resource\": \"/v1/data/channel\", \"content_origin\": \"third_party\", \"cached\": false } }\n```\n\nResponse text from Telegram (titles, posts, descriptions) is returned **verbatim** and tagged\n`meta.content_origin`; treat it as untrusted data, not instructions.\n\n## Environment\n\n| Variable | Required | Default | Description |\n|---|---|---|---|\n| `EVM_PRIVATE_KEY` | one of EVM/SVM | — | Base (EVM) wallet key (`0x…`). Funds x402 payments. |\n| `SVM_PRIVATE_KEY` | one of EVM/SVM | — | Solana wallet secret key (base58). |\n| `TELEMOST_BASE_URL` | no | `https://api.telemost.io` | API base URL. |\n| `MAX_PAYMENT_USDC` | no | `2.5` | Per-call price ceiling (USD); the default covers every price in the catalog. A call is refused **before signing** if the price exceeds this. |\n| `SESSION_MAX_USDC` | no | `10` | Cumulative spend ceiling for the process lifetime. |\n| `EVM_NETWORK` / `SVM_NETWORK` | no | Base / Solana mainnet | CAIP-2 network overrides. |\n| `SOLANA_RPC_URL` | no | mainnet-beta | RPC for the Solana signer. |\n\n## Coverage & limits\n\n- **Public** Telegram channels/groups only.\n- `region` hint (`cis` \\| `worldwide`) is an optional routing preference; it does not change price.\n- Statistics tools expose their own time windows / aggregation (see each tool's schema in the catalog).\n- Repeated identical requests hit a short (~10s) cache, but **each call is paid independently** via x402.\n\n## Payment & failures\n\n- **No charge before execution:** input validation, per-wallet rate limits, anti-replay and quota checks\n  all run **before** payment; an unpaid tool call returns a payment challenge (not a charge).\n- **Settlement is after execution:** on the remote MCP endpoint, payment settles only after the tool\n  executes successfully. Live delivered-vs-settled reliability is published at\n  [`/status`](https://api.telemost.io/status).\n- Use `MAX_PAYMENT_USDC` / `SESSION_MAX_USDC` to cap spend; both are enforced in code before any signature.\n\n## Troubleshooting\n\n- **\"payment required\" / tool returns a 402-style error:** no wallet key set, or the payment was declined\n  by your policy — set `EVM_PRIVATE_KEY` (or `SVM_PRIVATE_KEY`) and check `MAX_PAYMENT_USDC`.\n- **Insufficient funds:** fund the wallet with USDC on Base (or Solana) plus a little gas.\n- **Wrong network:** set `EVM_NETWORK` / `SVM_NETWORK` to a network you funded.\n- **`npx` won't launch (Windows):** use the `cmd /c npx …` form above.\n- **Server not showing up:** fully quit and reopen the client — MCP config is read only at launch.\n- **Prices look off:** never trust hardcoded prices; call `telemost_catalog` or read `/v1/catalog`.\n\n## Funding & safety\n\n- Use a **dedicated wallet with a small balance** — this key can spend up to `SESSION_MAX_USDC` per run.\n- The key is read only from the environment and is **never logged**.\n- Policy checks (per-call ceiling, session cap, allowed network) run in code **before any signature**.\n\n## Build from source\n\n```bash\ngit clone https://github.com/slava01011910-ops/telemost-mcp-server.git\ncd telemost-mcp-server && npm install && npm run build && node dist/index.js\n```\n\n## Support\n\n- Email: **support@telemost.io**\n- Listing / proof: [x402scan](https://www.x402scan.com/resources) · Catalog: `https://api.telemost.io/v1/catalog`\n\n## License\n\nMIT\n",
  "bytes": 8228,
  "sha": "f7c3b2a6d2ced8665e11939ad99372ba4dceea5d4f345989e53e47d62e971428",
  "repo_slug": "slava01011910-ops/telemost-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_telemost_telemost_mcp_server_2f2aa899/readme"
}