by TheMyxa
# Add to your Claude Code skills
git clone https://github.com/TheMyxa/telegram-parserGuides for using mcp servers skills like telegram-parser.
Last scanned: 10/15/2026
{
"issues": [
{
"file": "README.md",
"line": 312,
"type": "secret-exfiltration",
"message": "Instruction appears to send credentials/secrets to an external endpoint",
"severity": "medium"
}
],
"status": "PASSED",
"scannedAt": "2026-10-15T08:54:05.850Z",
"npmAuditRan": true,
"pipAuditRan": false,
"promptInjectionRan": true
}See how telegram-parser compares with popular alternatives.
telegram-parser is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by TheMyxa. It has 143 GitHub stars.
Yes. telegram-parser passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/TheMyxa/telegram-parser" and add it to your Claude Code skills directory (see the Installation section above).
telegram-parser is primarily written in Python. It is open-source under TheMyxa on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh telegram-parser against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
30 days in the Featured rail · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
TG is a local-first Telegram comments exporter and analytics dashboard. It exports channel posts, discussion comments, reactions, links, optional media files, and can update existing datasets incrementally.
Current version: 2.3.1.

CHANNEL, separated by commas.JSON, CSV, Parquet, or PostgreSQL.data/content/<dataset_name>/.user_id, username, first_name, and last_name.9595 with dashboard, post view, comment tree, filters, user profiles, export launch screen, Scheduler mode, and Watch mode.data/raw directly in the dashboard, sorted by date or channel.tg compare.

Use examples/example.json to test the dashboard without connecting to Telegram.
.
├── main.py # Unified CLI: export, analyze, dashboard, config-check, mcp
├── export_comments.py # Compatibility entrypoint for exporters.telegram_exporter
├── web/
│ ├── comments_dashboard.html # Web dashboard markup
│ ├── css/ # Dashboard styles
│ └── js/ # Dashboard scripts
├── web_server.py # Compatibility entrypoint for api.web_server
├── api/ # Local web server and dashboard API
├── telegram/ # Telegram message serialization helpers
├── exporters/ # Telegram export orchestration and output formats
├── storage/ # JSON file loading and atomic writes
├── analytics/ # Export summaries and dataset analytics helpers
├── llm/ # LLM analysis implementation
├── mcp_server.py # MCP server for local exports and analysis
├── llm_analyzer.py # Compatibility entrypoint for llm.analyzer
├── config.py # .env/config loader
├── docker-compose.yml # Docker Compose services
├── anonymizer # Aliases for anonymized users
├── prompts/ # LLM prompt files
├── data/
│ ├── raw/ # Exported datasets
│ ├── content/ # Downloaded media
│ ├── analysis/ # LLM analysis output
│ └── state/ # Incremental export state
└── examples/
├── example.json
└── demo_export.json
API_ID and API_HASH.postgresql export.analyze.Get Telegram API credentials at https://my.telegram.org/apps.
Docker creates .env from .env.example on the first start, so new users can begin with one command:
docker compose up --build
Then open http://localhost:9595 and fill in Telegram settings in the Export tab.
If you prefer to edit the file before starting, create .env manually:
Copy-Item .env.example .env
Edit .env:
API_ID=123456
API_HASH=your_api_hash_here
CHANNEL=your_channel,another_channel
TELEGRAM_SESSION=sessions/session
OUTPUT_FILE=data/raw/export.json
POST_LIMIT=500
INCREMENTAL_LOOKBACK_POSTS=50
POSTS_PAUSE_SECONDS=30
POSTS_PAUSE_AFTER_POSTS=500
POSTGRES_HOST=host.docker.internal
POSTGRES_PORT=5432
POSTGRES_DB=telegram_parser
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_postgres_password_here
POSTGRES_TABLE=telegram_comments_export
LLM_ENDPOINT=http://localhost:1234/v1/chat/completions
LLM_MODEL=local-model
Important fields:
API_ID, API_HASH: Telegram API app credentials.CHANNEL: one or more channel usernames or links separated by commas, for example durov,telegram.TELEGRAM_SESSION: Telethon session file path, usually inside sessions/.POST_LIMIT: how many new/latest posts to scan per export run.INCREMENTAL_LOOKBACK_POSTS: in incremental mode, how many already exported older posts to revisit at or below the saved last_post_id.POSTS_PAUSE_SECONDS: pause duration in seconds.POSTS_PAUSE_AFTER_POSTS: pause after every N processed posts.OUTPUT_FILE: base output directory is taken from this path, usually data/raw/export.json.LLM_ENDPOINT, LLM_MODEL: used by analyze.Configuration is validated per command: export requires Telegram settings, analyze requires LLM settings, and PostgreSQL settings are loaded only for postgresql export.
Start the web UI with one command:
docker compose up --build
Open:
http://localhost:9595
Run CLI commands:
docker compose run --rm cli --help
docker compose run --rm cli config-check
The project uses one CLI entrypoint:
tg <command> [options]
In Docker:
docker compose run --rm cli <command> [options]
docker compose run --rm cli export json
Output example:
data/raw/<channel>_20260710_120000.json
docker compose run --rm cli export json --incremental
Incremental mode writes and updates:
data/raw/<channel>_dataset.json
data/state/<channel>_state.json
It scans posts newer than the saved last_post_id plus INCREMENTAL_LOOKBACK_POSTS already exported posts at or below that last_post_id. This refreshes counters, reactions, and comments on older posts that changed after a previous run. It merges posts by post_id, merges comments by comment_id, and keeps already downloaded media files.
docker compose run --rm cli watch --poll-interval 30 --refresh-active-posts 20
Watch mode is a long-running process that keeps the Telethon session open, watches selected channels for new posts, tracks discussion activity for recent posts, and updates changed posts in data/raw/<channel>_dataset.json. The poll interval refreshes recent posts for counters, reactions, nested replies, and missed events.
docker compose run --rm cli export json --incremental --download-media
Media is saved to:
data/content/<channel>_dataset/
docker compose run --rm cli export csv
docker compose run --rm cli export parquet
docker compose run --rm cli export postgresql
PostgreSQL settings are read from .env.
docker compose run --rm cli export json --incremental --anonymize
Aliases are loaded from anonymizer. Use --anonymizer-file <path> to pass a custom file.
docker compose run --rm cli analyze durov_dataset.json --limit 10
Use a built-in prompt language:
docker compose run --rm cli analyze durov_dataset.json --limit 10 --language en
docker compose run --rm cli analyze durov_dataset.json --limit 10 --language zh
Built-in prompt files:
prompts/llm_ru.jsonprompts/llm_en.jsonprompts/llm_zh.jsonPass a custom prompt file:
docker compose run --rm cli analyze durov_dataset.json --prompt-file prompts/llm_en.json
Compare comments, unique users, and comment reactions for a selected period against the immediately previous period of the same length:
docker compose run --rm cli compare --from 2026-07-01 --to 2026-08-01 --file durov_dataset.json
--to is exclusive. If --file is omitted, the newest JSON export from data/raw is used.
Prompt files are JSON objects with system and user_template fields. user_template must include {data}.
Analysis files are saved to:
data/analysis/analysis_<source_file>.json
Run a Model Context Protocol server over stdio:
docker compose run --rm -i cli mcp
Local Python:
python main.py mcp
The MCP server exposes tools for local automation:
get_config_safe: read non-secret config values with secrets masked.list_exports, get_export_summary, get_post, search_comments: inspect JSON exports in data/raw.list_analysis_files, read_analysis, run_analysis: work with LLM analysis files.start_export, get_export_process_status: start and monitor a Telegram export. start_export requires confirm=true.docker compose up
The dashboard can:
data/raw;.env settings from the Export tab;version.py through /api/version.Dashboard API endpoints:
GET /api/version: return the current app version.