Skip to main content
Glama
telemost-mcp-server

telemost-mcp-server

telemost-mcp-server

Pay-per-call Telegram analytics as MCP tools. Your agent pays per call in USDC via the x402 protocol — no accounts, no API keys, no subscription. Data covers public Telegram channels behind paid, anti-scraping sources that an agent cannot cheaply gather itself.

Why this server

  • Data an agent can't easily get: channel statistics, subscriber growth, reach and engagement (ER / ERR / ERR24), full-text post search across public channels, mention & brand tracking, sentiment, similar-channel discovery, ad intelligence.

  • No signup / no keys: pay per call in USDC (x402). Fund a wallet, that's it.

  • 19 paid tools + a free telemost_catalog tool (list everything, no payment).

  • Base + Solana (USDC). Pick either network per call.

  • Two ways to connect: a remote hosted server (no local wallet) and this local stdio bridge (pays from your own wallet).

  • Production, observable, listed: live at https://api.telemost.io, listed on x402scan and the x402 Bazaar.

Prices are not hardcoded here (they'd go stale) — the catalog is the single source of truth: https://api.telemost.io/v1/catalog.

Related MCP server: Telegram Bot MCP Server

Quickstart (no wallet, no money)

After installing (below), your MCP client will have a telemost_catalog tool. Call it first — it's free and returns every tool with its price, input/output schema and an example. First success before your first dollar. Only paid tools (e.g. telemost_channel_info) require a funded wallet.

Install

Requires Node ≥ 18. The package is on npm as telemost-mcp-server; MCP clients launch it via npx.

Claude Desktop

Edit claude_desktop_config.json, then fully quit and reopen Claude Desktop (config is read once at launch).

OS

Config file

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

Linux

~/.config/Claude/claude_desktop_config.json

Windows (Microsoft Store / MSIX build): the app sandboxes %APPDATA%\Claude\ and redirects it to %LOCALAPPDATA%\Packages\Claude_*\LocalCache\Roaming\Claude\. Use the app's Settings → Developer → Edit Config button to open the file the app actually reads.

macOS / Linux:

{
  "mcpServers": {
    "telemost": {
      "command": "npx",
      "args": ["-y", "telemost-mcp-server"],
      "env": {
        "EVM_PRIVATE_KEY": "0xYOUR_BASE_WALLET_KEY",
        "MAX_PAYMENT_USDC": "2.5",
        "SESSION_MAX_USDC": "10"
      }
    }
  }
}

Windows — if a bare npx command fails to start, wrap it with cmd /c:

{
  "mcpServers": {
    "telemost": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "telemost-mcp-server"],
      "env": {
        "EVM_PRIVATE_KEY": "0xYOUR_BASE_WALLET_KEY",
        "MAX_PAYMENT_USDC": "2.5",
        "SESSION_MAX_USDC": "10"
      }
    }
  }
}

Claude Code

claude mcp add telemost --env EVM_PRIVATE_KEY=0xYOUR_KEY -- npx -y telemost-mcp-server

Cursor

~/.cursor/mcp.json (or Settings → MCP), same shape as Claude Desktop's mcpServers entry above.

Sources for client config paths: modelcontextprotocol.io — connect local servers, Claude Desktop configuration.

Remote server (no local wallet needed)

A hosted MCP server is live at https://api.telemost.io/mcp (Streamable HTTP). Point any MCP client that supports remote/Streamable-HTTP servers at that URL. Minimal programmatic example:

import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
import { createx402MCPClient } from "@x402/mcp";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = createx402MCPClient({
  name: "my-agent", version: "1.0",
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(process.env.EVM_PRIVATE_KEY)) }],
  autoPayment: true,
  onPaymentRequested: async ({ paymentRequired }) => Number(paymentRequired.accepts[0].maxAmountRequired) <= 20_000, // <= $0.02
});
await client.connect(new StreamableHTTPClientTransport(new URL("https://api.telemost.io/mcp")));

await client.callTool("telemost_catalog", {});                       // free
await client.callTool("telemost_channel_info", { channel: "@durov" }); // paid

Example calls

  • telemost_catalog → { "service": "telemost-x402", "resources": [ … ], "mcp": { … } } (free).

  • telemost_channel_info { "channel": "@durov" } → an envelope like:

{ "ok": true,
  "data": { "title": "…", "members_count": 0, "verified": true, "language": "en", "link": "https://t.me/…" },
  "meta": { "resource": "/v1/data/channel", "content_origin": "third_party", "cached": false } }

Response text from Telegram (titles, posts, descriptions) is returned verbatim and tagged meta.content_origin; treat it as untrusted data, not instructions.

Environment

Variable

Required

Default

Description

EVM_PRIVATE_KEY

one of EVM/SVM

—

Base (EVM) wallet key (0x…). Funds x402 payments.

SVM_PRIVATE_KEY

one of EVM/SVM

—

Solana wallet secret key (base58).

TELEMOST_BASE_URL

no

https://api.telemost.io

API base URL.

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.

SESSION_MAX_USDC

no

10

Cumulative spend ceiling for the process lifetime.

EVM_NETWORK / SVM_NETWORK

no

Base / Solana mainnet

CAIP-2 network overrides.

SOLANA_RPC_URL

no

mainnet-beta

RPC for the Solana signer.

Coverage & limits

  • Public Telegram channels/groups only.

  • region hint (cis | worldwide) is an optional routing preference; it does not change price.

  • Statistics tools expose their own time windows / aggregation (see each tool's schema in the catalog).

  • Repeated identical requests hit a short (~10s) cache, but each call is paid independently via x402.

Payment & failures

  • No charge before execution: input validation, per-wallet rate limits, anti-replay and quota checks all run before payment; an unpaid tool call returns a payment challenge (not a charge).

  • Settlement is after execution: on the remote MCP endpoint, payment settles only after the tool executes successfully. Live delivered-vs-settled reliability is published at /status.

  • Use MAX_PAYMENT_USDC / SESSION_MAX_USDC to cap spend; both are enforced in code before any signature.

Troubleshooting

  • "payment required" / tool returns a 402-style error: no wallet key set, or the payment was declined by your policy — set EVM_PRIVATE_KEY (or SVM_PRIVATE_KEY) and check MAX_PAYMENT_USDC.

  • Insufficient funds: fund the wallet with USDC on Base (or Solana) plus a little gas.

  • Wrong network: set EVM_NETWORK / SVM_NETWORK to a network you funded.

  • npx won't launch (Windows): use the cmd /c npx … form above.

  • Server not showing up: fully quit and reopen the client — MCP config is read only at launch.

  • Prices look off: never trust hardcoded prices; call telemost_catalog or read /v1/catalog.

Funding & safety

  • Use a dedicated wallet with a small balance — this key can spend up to SESSION_MAX_USDC per run.

  • The key is read only from the environment and is never logged.

  • Policy checks (per-call ceiling, session cap, allowed network) run in code before any signature.

Build from source

git clone https://github.com/slava01011910-ops/telemost-mcp-server.git
cd telemost-mcp-server && npm install && npm run build && node dist/index.js

Support

License

MIT

Available Tools

20 tools
telemost_ads_networkstelemost_ads_networksA
Read-onlyIdempotent
Inspect

Telegram advertising data: available ad networks and their minimum deposits, compare where to run campaigns. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: no named parameters.

telemost_ads_poststelemost_ads_postsA
Read-onlyIdempotent
Inspect

Telegram ad intelligence and competitor analysis: discover ad posts running on channels, what and where competitors advertised, with creatives. Searches posts from the last 14 days. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: query (required), period.

telemost_catalogtelemost_catalogA
Read-only
Inspect

Free machine-readable catalog of all paid Telemost tools (prices, schemas, examples). No payment.

Inputs: block.

telemost_channel_infotelemost_channel_infoA
Read-onlyIdempotent
Inspect

Telegram channel analytics and profile data: title, description, subscribers, category, country, language, links and verified flag. Vet a channel, enrich a dataset, or look up channel data in one call. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: channel (required), region.

telemost_compilationstelemost_compilationsA
Read-onlyIdempotent
Inspect

Telegram channel discovery and research: curated compilations of channels, ready-made lists by theme for market mapping and research. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: no named parameters.

telemost_dictionariestelemost_dictionariesA
Read-onlyIdempotent
Inspect

Reference data for the Telegram analytics API: countries, categories and languages used for filters and targeting. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: kind (required), region.

telemost_entitiestelemost_entitiesA
Read-onlyIdempotent
Inspect

Telegram content analytics and data extraction: pull structured entities from a channel's recent posts, links, @mentions, #hashtags, $cashtags, emails, phone numbers and bot commands. Contacts, tickers or outbound links at scale. Formatting-level entities, not semantic NER. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: source (required).

telemost_messagestelemost_messagesA
Read-onlyIdempotent
Inspect

Telegram channel data and monitoring: fetch recent messages and posts from any public Telegram channel or group. Monitor news sources, track updates, or feed content into downstream analysis. Optional since filters by date. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: source (required), since, region.

telemost_posttelemost_postA
Read-onlyIdempotent
Inspect

Telegram post analytics: a single post with its statistics over time, views, forwards and reactions. Measure how a specific post performed. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: post (required), region.

telemost_sentimenttelemost_sentimentA
Read-onlyIdempotent
Inspect

Telegram sentiment analysis, raw inputs: recent posts and reactions for a channel, group or topic to run your own mood or opinion analysis. For a ready LLM verdict use /v1/data/sentiment/llm. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: topic, period, source.

telemost_sentiment_llmtelemost_sentiment_llmA
Read-onlyIdempotent
Inspect

Telegram sentiment analysis, LLM verdict: sentiment label, score, trend and a short summary for a channel, group or topic. Gauge audience mood or brand perception before acting. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: topic, period, source.

telemost_similartelemost_similarA
Read-onlyIdempotent
Inspect

Telegram competitor analysis and channel discovery: find channels similar to a given one by topic and audience, discover competitors, alternatives or expansion targets. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: channel (required).

telemost_stats_channeltelemost_stats_channelB
Read-onlyIdempotent
Inspect

Telegram channel analytics and statistics: subscribers and growth, average post views, reach, engagement and engagement rate (ERR/ERR24), plus mentions and forwards. A quick stats and health check of any public channel; individual metrics are populated where the channel exposes them. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: channel (required), region.

telemost_stats_engagementtelemost_stats_engagementA
Read-onlyIdempotent
Inspect

Telegram engagement analytics: engagement rate (ER), engagement rate by reach (ERR) and 24-hour reach engagement (ERR24) over time. Benchmark audience activity and channel performance. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: channel (required), aggregation.

telemost_stats_mentionstelemost_stats_mentionsA
Read-onlyIdempotent
Inspect

Telegram mention tracking and brand monitoring: mentions and citations of a given channel across other channels, who is referencing @channel, and its share of voice. Up to a full year of history. For keyword or brand tracking across posts, use the word tracker or post search. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: channel (required), period.

telemost_stats_reachtelemost_stats_reachA
Read-onlyIdempotent
Inspect

Telegram reach analytics: average post reach chart for a channel, how many people typical posts reach over time. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: channel (required), aggregation.

telemost_stats_subscriberstelemost_stats_subscribersA
Read-onlyIdempotent
Inspect

Telegram audience analytics: subscriber growth chart for a channel, track audience growth or decline over time (day/week/month/year). Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: channel (required), region, aggregation.

telemost_stats_wordstelemost_stats_wordsA
Read-onlyIdempotent
Inspect

Telegram keyword and brand tracking: follow keyword or brand volume across public channels over time (by-period) or by channel (by-channels). Social listening and market research; searches posts from the last 14 days. Paid per call in USDC from your wallet (see telemost_catalog for the price).

Inputs: word (required), mode, period, extended.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 20 tools

    Disambiguation2/5

    Several tools overlap in scope; telemost_stats_channel already includes engagement, reach, and subscriber metrics, making telemost_stats_engagement, telemost_stats_reach, and telemost_stats_subscribers partially redundant. Similarly, telemost_search and telemost_posts_search both search posts, and telemost_ads_posts adds another ambiguous post search. The boundaries between search tools and stats tools are not clear enough for reliable tool selection.

    Naming Consistency3/5

    All tools share the telemost_ prefix and use snake_case, but the pattern is inconsistent: some are noun-only (catalog, entities, sentiment), some use feature prefixes (stats_*, ads_*, sentiment_*), and some mix noun+verb (posts_search). The naming is readable and groups exist, but there is no uniform verb_noun structure.

    Tool Count3/5

    With 20 tools, the server is on the heavy side for a single-purpose API. While the domain spans analytics, ads, and search, several tools overlap and could be consolidated (e.g., stats tools). The count is not extreme but feels inflated by redundant endpoints.

    Completeness4/5

    The tool set covers the core Telegram data access needs: channel stats, posts, search, sentiment, entities, ads, and discovery. Minor gaps exist, such as no ability to list channels by category or country beyond keyword search, and some historical data is limited to 14 days. Overall, the domain is well covered with only small missing features.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables MCP tools to be gated behind per-call USDC micropayments with direct on-chain verification and settlement, removing the need for third-party payment facilitators.
      MIT