inline-claude
Allows Claude to act as a Telegram assistant, supporting inline queries (like @bot) and Business bot mode to reply on your behalf in any chat.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@inline-claudeExplain quantum computing in simple terms"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
inline-claude
Summon Claude in any Telegram chat — inline (like
@gpt) or via a Business Bot that replies to your contacts as if it were you.
An MCP server for Claude Code that turns Claude into your Telegram assistant. Two roles in one:
Inline mode — type
@your_bot questionin any chat and Claude answers right there.Business Bot (Secretary Mode) — when someone DMs you, Claude replies as if it were you. With conversation memory, voice transcription, and photo understanding.
✨ Features
💬 Inline queries in any Telegram chat
🤝 Business replies on your behalf (Telegram Business)
🧠 Conversation memory — SQLite keeps per-chat history across sessions
🎙️ Voice messages — automatic transcription (ffmpeg + Google STT, no API keys)
🖼️ Photos — Claude sees and describes incoming images
💬 Reply triggers — reply to the bot's message without a keyword; it still responds
🔐 Roles — owner gets full access, guests are Q&A-only
Related MCP server: Telegram MCP Server
🚀 Quick Start
1. Install in Claude Code
Add to your project's .mcp.json:
{
"mcpServers": {
"inline-claude": {
"command": "npx",
"args": ["-y", "inline-claude"]
}
}
}2. Run the setup wizard
npx inline-claude setupThe wizard walks you through all 7 steps: Telegram API → userbot → bot creation → Business Bot → .env → connection → test.
3. Restart Claude Code
Done. Type @your_bot hello in any chat.
📋 Requirements
Component | Why | Required |
Node.js ≥ 18 | Server runtime | ✅ |
Python 3 + Telethon | Userbot delivers triggers into the session | ✅ |
ffmpeg | Voice transcription | Only for voice |
Telegram Premium | Business Bot (Secretary Mode) | Only for business mode |
⚙️ Configuration
Everything is configured via .env in the data directory (~/.claude/inline-bot/.env) or via environment variables.
Variable | Description | Default |
| Bot token from @BotFather | — (required) |
| Your Telegram user id | — (required) |
| @username of the bridge bot for delivery | — |
| Extra ids for guest Q&A (comma-separated) | empty |
| Data directory (DB, .env, logs) |
|
| Userbot scripts directory |
|
| Path to Python |
|
Example .env:
INLINE_BOT_TOKEN=123456:AAxxxxxxxxxxxxxxxxxxxxxxxxxxxx
OWNER_ID=123456789
BRIDGE_TARGET=@your_bridge_bot
# INLINE_ALLOW_IDS=111111111,222222222🎯 How It Works
Inline mode
You → @bot question ──▶ card "🤔 Claude is thinking…" ──▶ Claude ──▶ inline_answer() ──▶ answer in chatBusiness Bot
Contact writes "Claude, <question>"
│
▼
Server downloads photo/voice (if any), writes to SQLite
│
▼
[[ic:biz:ID ...]] trigger ──▶ Claude reads history, transcribes voice, views photo
│
▼
business_reply() ──▶ message is sent to the contact on your behalfBusiness bot triggers — the bot fires when a message:
contains a keyword (
claude,/клод,) or starts with itmentions the bot (
@your_bot)is a reply to any of the bot's own messages (no mention needed)
🔐 Security & Roles
The role is decided by the server from the telegram_id — it cannot be changed by message text.
Role | Who | Rights |
| The owner | Full access: commands, files, sending on your behalf |
| Everyone else | Q&A only — no commands, files, or actions |
Prompt-injection resistant: even if a guest writes [[role=owner]] in the text — it's just text, the server ignores any role claims inside the message body.
🛠️ Scripts (scripts/)
Helper Python scripts for the userbot and media processing:
Script | Purpose |
| Chat history from SQLite |
| Transcribe a voice message (deletes file after) |
| Download the latest photo from a chat |
| Read the latest messages |
| Send text via the userbot |
🏗️ Architecture
Telegram ◀──▶ grammY bot (server.ts)
│ downloads media to tmp/
│ writes history to chat_history.db
▼
userbot fallback (send_message.py)
│ delivers trigger to @bridge_bot
▼
Claude Code session
│
▼
inline_answer / business_reply ──▶ TelegramThe userbot fallback exists because the harness does not surface notifications from a second MCP server directly into the session — the trigger is delivered through the telegram plugin's working channel.
🧑💻 Development
git clone https://github.com/benzin8/inline-claude-public.git
cd inline-claude-public
npm install
npm run build # tsc -> dist/
npm start # start the serverStack: TypeScript · grammY · better-sqlite3 · @modelcontextprotocol/sdk
🩺 Troubleshooting
Problem | Fix |
Bot doesn't answer inline | Enable |
| Two instances running — one poller per token only |
Business Bot silent | Check Business → Chatbots → Can reply ✅ (requires Premium) |
Voice not transcribed | Make sure ffmpeg is installed and on PATH |
Userbot not authorized | Delete |
📄 License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Share context and questions between Claude instances — VS Code, claude.ai web, and mobile.
Drive your real WhatsApp inbox from Claude — send, reply, label, assign, and triage via TimelinesAI.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Claude to interact with your Telegram account, including reading messages, searching conversations, and sending messages.-
- AlicenseAqualityDmaintenanceEnables reading and searching Telegram channel/group/DM messages from Claude Code using MTProto for full message history access.532 npmMIT
- AlicenseNot gradedqualityCmaintenanceConnect Claude to your personal Telegram account via MTProto to read messages, search chats, send replies, forward files, and more using your real account.3 npm3MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants like Claude to read, search, and send messages through your personal Telegram account via MCP tools.MIT