Telegram CLI + MCP server powered by MTProto and the official MCP SDK
npm install @kfastov/tgcliTelegram CLI with background sync and an optional MCP server for your personal account (MTProto, not bot API).
``bash`
npm install -g @kfastov/tgcli
`bash`
brew install kfastov/tap/tgcli
Get Telegram API credentials:
1. Go to https://my.telegram.org/apps
2. Log in with your phone number
3. Create a new application
4. Copy api_id and api_hash
Then authenticate:
`bash`
tgcli auth
`bash`
tgcli auth
tgcli sync --follow
tgcli messages list --chat @username --limit 20
tgcli messages search "course" --chat @channel --source archive
tgcli send text --to @username --message "hello"
tgcli server
`bash`
tgcli auth Authentication and session setup
tgcli config View and edit config
tgcli sync Archive backfill and realtime sync
tgcli server Run background sync service (MCP optional)
tgcli service Install/start/stop/status/logs for background service
tgcli channels List/search channels
tgcli messages List/search messages
tgcli send Send text or files
tgcli media Download media
tgcli topics Forum topics
tgcli tags Channel tags
tgcli metadata Channel metadata cache
tgcli contacts Contacts and people
tgcli groups Group management
tgcli doctor Diagnostics and sanity checks
Use tgcli [command] --help for details. Add --json for machine-readable output.
Enable it via config:
`bash`
tgcli config set mcp.enabled true
By default the server binds to http://127.0.0.1:8080/mcp. To change it:
`bash`
tgcli config set mcp.host 127.0.0.1
tgcli config set mcp.port 8080
Then run tgcli server and point your client at the configured address.
The tgcli store lives in the OS app-data directory and contains config.json, sessions, and messages.db.TGCLI_STORE
Override the location with .
Legacy version: see MIGRATION.md`.