内容
# 电报分析工具
按次付费的 **电报分析** 工具,作为 MCP 工具。您的代理支付每笔调用的费用,以 **USDC** 为单位,通过
[x402](https://x402.org) 协议 — **无需账户,无需 API 密钥,无需订阅**。数据涵盖公共
电报频道,这些频道背后有付费的反爬虫源,代理无法廉价地自行收集。
## 为什么选择这个服务器
- **代理无法轻松获取的数据:** 频道统计数据、订阅者增长、覆盖范围和参与度
(ER / ERR / ERR24)、公共频道的全文帖子搜索、提及和品牌跟踪、情绪分析、
相似频道发现、广告情报。
- **无需注册 / 无需密钥:** 以 USDC(x402)支付每笔调用的费用。资助一个钱包即可。
- **19 种付费工具 + 免费的 `telemost_catalog` 工具**(列出所有内容,无需支付)。
- **Base + Solana**(USDC)。每次调用选择一个网络。
- **两种连接方式:** 一个 **远程** 主机服务器(无需本地钱包)和这个 **本地 stdio** 桥接器
(从您自己的钱包支付)。
- **生产环境,可观察,已列出:** 位于 `https://api.telemost.io`,已列入
[x402scan](https://www.x402scan.com/resources) 和 x402 Bazaar。
价格 **此处不硬编码**(它们会过时)— 目录是单一的真实来源:
[`https://api.telemost.io/v1/catalog`](https://api.telemost.io/v1/catalog)。
## 快速入门(无需钱包,无需资金)
安装完成后(如下),您的 MCP 客户端将具有一个 **`telemost_catalog`** 工具。首次调用它 — 它
**免费**,并返回每个工具及其价格、输入/输出模式和示例。在花费第一笔钱之前先获得成功。只有付费工具(例如 `telemost_channel_info`)需要一个有资金的钱包。
## 安装
需要 **Node ≥ 18**。该软件包在 npm 上名为 `telemost-mcp-server`;MCP 客户端通过 `npx` 启动它。
### Claude 桌面版
编辑 `claude_desktop_config.json`,然后完全退出并重新打开 Claude 桌面版(配置在启动时读取一次)。
| 操作系统 | 配置文件 |
|---|---|
| **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 版本):** 应用程序将 `%APPDATA%\Claude\` 隔离并重定向到
> `%LOCALAPPDATA%\Packages\Claude_*\LocalCache\Roaming\Claude\`。使用应用程序的 **设置 → 开发者 →
> 编辑配置** 按钮打开应用程序实际读取的文件。
**macOS / Linux:**
```json
{
"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** — 如果裸 `npx` 命令无法启动,请用 `cmd /c` 包装:
```json
{
"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 代码
```bash
claude mcp add telemost --env EVM_PRIVATE_KEY=0xYOUR_KEY -- npx -y telemost-mcp-server
```
### Cursor
`~/.cursor/mcp.json`(或设置 → MCP),与 Claude 桌面版的 `mcpServers` 条目相同。
客户端配置路径来源:[modelcontextprotocol.io — 连接本地服务器](https://modelcontextprotocol.io/docs/develop/connect-local-servers),
[Claude 桌面版配置](https://claude.com/docs/third-party/claude-desktop/configuration)。
## 远程服务器(无需本地钱包)
一个托管的 MCP 服务器位于 **`https://api.telemost.io/mcp`**(可流式传输的 HTTP)。指向任何支持远程/可流式传输 HTTP 服务器的 MCP 客户端的 URL。最小的程序示例:
```ts
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", {}); // 免费
await client.callTool("telemost_channel_info", { channel: "@durov" }); // 付费
```
## 示例调用
- `telemost_catalog` → `{ "service": "telemost-x402", "resources": [ … ], "mcp": { … } }`(免费)。
- `telemost_channel_info` `{ "channel": "@durov" }` → 一个类似的信封:
```json
{ "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 } }
```
从电报(标题、帖子、描述)返回的响应文本 **原样** 返回,并标记
`meta.content_origin`; 将其视为不受信任的数据,而不是指令。
## 环境
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
| `EVM_PRIVATE_KEY` | EVM/SVM 之一 | — | 基础(EVM)钱包密钥(`0x…`)。资助 x402 支付。 |
| `SVM_PRIVATE_KEY` | EVM/SVM 之一 | — | Solana 钱包私钥(base58)。 |
| `TELEMOST_BASE_URL` | 否 | `https://api.telemost.io` | API 基本 URL。 |
| `MAX_PAYMENT_USDC` | 否 | `2.5` | 每笔调用的价格上限(美元);默认涵盖目录中的每个价格。如果价格超过此值,则在签名之前拒绝调用。 |
| `SESSION_MAX_USDC` | 否 | `10` | 进程生命周期的累计支出上限。 |
| `EVM_NETWORK` / `SVM_NETWORK` | 否 | 基础 / Solana 主网 | CAIP-2 网络覆盖。 |
| `SOLANA_RPC_URL` | 否 | mainnet-beta | Solana 签名者的 RPC。 |
## 覆盖范围和限制
- **公共** 电报频道/群组。
- `region` 提示(`cis` \| `worldwide`)是一个可选的路由偏好;它不会改变价格。
- 统计工具公开其自己的时间窗口/聚合(参见目录中的每个工具的模式)。
- 重复的相同请求会命中一个短的(~10s)缓存,但 **每次调用都独立付费** 通过 x402。
## 支付和失败
- **执行前无费用:** 输入验证、每钱包速率限制、防重放和配额检查
在付款 **之前** 运行;未付费的工具调用返回付款挑战(不是费用)。
- **结算在执行后:** 在远程 MCP 端点,付款仅在工具
成功执行后结算。在 `https://api.telemost.io/status` 上发布实时交付和结算可靠性。
- 使用 `MAX_PAYMENT_USDC` / `SESSION_MAX_USDC` 来限制支出;两者都在代码中强制执行签名之前。
## 故障排除
- **"需要付款" / 工具返回 402 样式错误:** 没有设置钱包密钥,或您的策略拒绝付款
— 设置 `EVM_PRIVATE_KEY`(或 `SVM_PRIVATE_KEY`)并检查 `MAX_PAYMENT_USDC`。
- **资金不足:** 用 Base(或 Solana)上的 USDC 以及一点 gas 资助钱包。
- **网络错误:** 将 `EVM_NETWORK` / `SVM_NETWORK` 设置为已资助的网络。
- **`npx` 无法启动(Windows):** 使用上面的 `cmd /c npx …` 形式。
- **服务器未显示:** 完全退出并重新打开客户端 — MCP 配置仅在启动时读取。
- **价格看起来不对:** 永远不要信任硬编码的价格;调用 `telemost_catalog` 或读取 `/v1/catalog`。
## 资金和安全
- 使用一个 **专用钱包,余额较小** — 此密钥每次运行最多可花费 `SESSION_MAX_USDC`。
- 密钥仅从环境中读取,**从不记录**。
- 策略检查(每笔调用的上限,会话上限,允许的网络)在 **签名之前** 在代码中运行。
## 从源代码构建
```bash
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@telemost.io**
- 列表/证明:[x402scan](https://www.x402scan.com/resources) · 目录:`https://api.telemost.io/v1/catalog`
## 许可证
MIT