Skip to main content
Glama
petazuev228277

Cripto Norte Telegram MCP Server

Cripto Norte — Telegram MCP server

Remote MCP server with one tool, post_to_telegram_channel, that lets Claude publish a finished post to your Telegram channel. Tested locally end-to-end (MCP handshake, tool listing, tool call, error handling) — ready to deploy.

1. Create the Telegram bot

  1. In Telegram, open @BotFather/newbot → follow the prompts.

  2. Copy the token it gives you (TELEGRAM_BOT_TOKEN).

  3. Add the bot to your channel as an admin with permission to post messages.

  4. Your TELEGRAM_CHAT_ID is your channel's @username (if public) or its numeric ID (if private — get it by forwarding a channel message to @userinfobot or similar).

2. Deploy the server

Any Node.js host that gives you a public HTTPS URL works. Easiest options:

Railway / Render (free tier works for this)

  1. Push this folder to a new GitHub repo.

  2. Create a new Web Service on Railway or Render, point it at the repo.

  3. Set the environment variables from .env.example (real values) in the host's dashboard.

  4. Build command: npm install. Start command: npm start.

  5. Once deployed, note the public URL, e.g. https://your-app.up.railway.app. The MCP endpoint is https://your-app.up.railway.app/mcp.

Fly.io / a VPS work too — same env vars, same npm start, just expose port 3000 (or whatever PORT you set) over HTTPS.

Locally, npm install && npm start runs it on http://localhost:3000/mcp for testing.

3. Connect it to Claude

  1. In Claude: Customize → Connectors → + → Add custom connector.

  2. Name: Cripto Norte Telegram.

  3. URL: https://your-app.up.railway.app/mcp.

  4. Advanced settings: since this server checks a simple Bearer token (MCP_AUTH_TOKEN) rather than full OAuth, check whatever your Claude plan's custom-connector UI currently offers for a static bearer token — this has changed recently, so if you don't see that option, it's worth checking support.claude.com for the current field name, or dropping the MCP_AUTH_TOKEN check entirely for a first personal test.

  5. Click Add, then Connect.

  6. In a chat, click + → Connectors and enable it for that conversation.

4. Test it

Ask Claude in that conversation: "send a test message to the Telegram channel using the connector." It should call post_to_telegram_channel and you'll see the message land in your channel.

5. Wire it into a scheduled task

In Claude Cowork → Scheduled → New task → Set up manually:

  • Enable the Cripto Norte Telegram connector for the task.

  • Prompt: reference the cripto-norte-posts skill, the post type (UTRNNIK / digest), where to pull current prices/news from, and an explicit instruction to call post_to_telegram_channel with the finished, formatted text.

  • Set the cadence (e.g. daily 08:30 and 19:00 local time).

  • Start with approval mode "requires confirmation," switch to automatic once you've checked a few runs.

Notes

  • The server keeps sessions in memory. If it restarts, Claude just re-initializes on the next call — no action needed.

  • parse_mode: "Markdown" is used when sending, matching the skill's formatting rules (monospace titles, bold figures, em dash in headers only).

  • If you ever need more tools (e.g. posting to multiple channels, or separate tools per coin), add more server.registerTool(...) blocks in index.js following the same pattern.