Skip to content
Conduit

mcp server

haskclaw

Telegram ↔ Claude Code bridge bot in Haskell, with per-chat isolation and a cron scheduler (MCP).

eunmin/haskclawcommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

This project does not publish an install method we can turn into a config. Follow the README instead.

README

synced Oct 22, 2026

haskclaw

Telegram ↔ assistant CLI bridge bot with per-chat isolation and a cron scheduler.

Features

  • Long-polling Telegram bot
  • Per-chat working directory under ~/.haskclaw/chats/<chat_id>/
  • Session resume via claude -p --resume or codex exec resume
  • Scheduler MCP server (schedule_task, list_tasks, cancel_task, ...) — register recurring tasks in natural language

Requirements

Build & Run

stack build
TELEGRAM_BOT_TOKEN=xxx stack exec haskclaw-exe

CLI Options

Pass flags after -- when running through stack exec:

stack exec haskclaw-exe -- --help
OptionDescription
-h, --helpShow the help message and exit.
--all, --all-messagesDispatch every message in group chats. Default behavior is to forward only messages that mention the bot or reply to one of its messages.
--assistant claude|codexChoose the assistant CLI provider. Defaults to claude.
--assistant-provider claude|codexAlias for --assistant.
--dangerously-skip-permissionsForward the provider-specific unsafe permission bypass flag to the subprocess.
Environment VariableDescription
TELEGRAM_BOT_TOKENRequired. Telegram Bot API token from @BotFather.

Layout

~/.haskclaw/
├── CLAUDE.md            # shared instructions (auto-seeded)
├── state.json           # chat → session id
└── chats/<chat_id>/
    ├── .mcp.json        # haskclaw MCP server registration
    ├── .claude/settings.json
    ├── schedules.json   # scheduled tasks
    └── bot.log

Example

Send to the bot in Telegram:

"Every morning at 8am, give me the weather."

The assistant registers a cron task; the bot delivers the response each tick.

License

MIT.

↑↓ navigate openesc close