npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

telemost-mcp-server

v0.2.2

Published

MCP server (stdio) exposing the Telemost x402 Telegram-analytics API as pay-per-call MCP tools. Payment is made from the agent's own USDC wallet via x402.

Readme

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.

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": "0.5",
        "SESSION_MAX_USDC": "5"
      }
    }
  }
}

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": "0.5",
        "SESSION_MAX_USDC": "5"
      }
    }
  }
}

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 | 1 | Per-call price ceiling (USD). 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