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
In Telegram, open @BotFather →
/newbot→ follow the prompts.Copy the token it gives you (
TELEGRAM_BOT_TOKEN).Add the bot to your channel as an admin with permission to post messages.
Your
TELEGRAM_CHAT_IDis 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)
Push this folder to a new GitHub repo.
Create a new Web Service on Railway or Render, point it at the repo.
Set the environment variables from
.env.example(real values) in the host's dashboard.Build command:
npm install. Start command:npm start.Once deployed, note the public URL, e.g.
https://your-app.up.railway.app. The MCP endpoint ishttps://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
In Claude: Customize → Connectors → + → Add custom connector.
Name:
Cripto Norte Telegram.URL:
https://your-app.up.railway.app/mcp.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 theMCP_AUTH_TOKENcheck entirely for a first personal test.Click Add, then Connect.
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 Telegramconnector for the task.Prompt: reference the
cripto-norte-postsskill, the post type (UTRNNIK / digest), where to pull current prices/news from, and an explicit instruction to callpost_to_telegram_channelwith 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 inindex.jsfollowing the same pattern.