fast-mcp-telegram
CLAUDE.md50 starsChanged 4 months agoMITView on GitHub
Canonical GitHub repository: https://github.com/leshchenko1979/fast-mcp-telegram Canonical Python package: fast-mcp-telegram on PyPI (https://pypi.org/project/fast-mcp-telegram/). Canonical MCP registry name: io.github.leshchenko1979/fast-mcp-telegram Owner order 2026-09-26: the leshchenko1979 account is the canonical location. This reverses the guidance that stood here, which was written while that account was suspended and told agents to avoid its owner name on every surface. The account is live again and now carries origin, CI, the issue tracker and all current pushes. The previously used owner account is superseded: do not push to…
- Reads credentials
- Commits and pushes
In this repository12 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .cursor/rules/code-optimization.mdcCursor rule
- .cursor/rules/docs-plain-language.mdcCursor rule
- .cursor/rules/general.mdcCursor rule
- .cursor/rules/implementation-workflow.mdcCursor rule
- .cursor/rules/memory-bank.mdcCursor rule
- Clean Up Docs PushSkill
- feature-developmentSkill
- Release Notes GenerationSkill
- Remove Old LogsSkill
- sourcery-pr-cycleSkill
- telegram-patternsSkill
The file
We split this CLAUDE.md into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 35
Correct approach: Start the server from the project root so Python loads .env / .env.local via dotenv.
- Distinctive: line 39
Correct approach: After changing server code used by telegram-dev, restart telegram-dev in Cursor’s MCP panel — stale subprocess keeps old …
- Very specific: line 41
Correct approach: Keep acl.dev.yaml gitignored.
- Very specific: line 47
Correct approach: After gh release create, verify CI/checks are green on the release tag or master commit (gh run list, gh release view).
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
fast-mcp-telegram
Canonical GitHub repository: https://github.com/leshchenko1979/fast-mcp-telegram
Canonical Python package: fast-mcp-telegram on PyPI (https://pypi.org/project/fast-mcp-telegram/).
Canonical MCP registry name: io.github.leshchenko1979/fast-mcp-telegram
Owner order 2026-09-26: the leshchenko1979 account is the canonical
location. This reverses the guidance that stood here, which was written while
that account was suspended and told agents to avoid its owner name on every
surface. The account is live again and now carries origin, CI, the issue tracker
and all current pushes.
The previously used owner account is superseded: do not push to it, file against it, or use its owner in new links, image names or registry manifests. Which listings and packages still exist under it, and which duplicates still need deprecating, is recorded in docs/published-resources.md.
Repository identity and published artifacts are separate things: the GHCR packages under both owners stay pullable, and both owners' MCP registry and Glama listings are live, so a duplicate listing is deprecated in its own console rather than assumed gone.
PyPI remains a stable pointer regardless of which GitHub owner is canonical.
Telegram MCP server (stdio, http-no-auth, http-auth). Full setup, ACL matrix, and dev workflow: CONTRIBUTING.md.
Session Corrections
2026-05-27
- Issue: Tried ACL live testing via Cursor MCP (
telegram-devor http-auth URL with fixedAuthorization)- Correct approach: ACL is not viable through Cursor MCP (stdio has no ACL; URL MCP uses a fixed bearer; stale MCP subprocesses). Use
pytest tests/test_session_acl.py tests/test_mcp_tool_acl_integration.py, HTTP curl against a local http-auth server, andscripts/acl_mcp_smoke.sh(reads bearer tokens fromacl.dev.yaml, not hardcoded placeholders) — see CONTRIBUTING.md § ACL development and testing
- Correct approach: ACL is not viable through Cursor MCP (stdio has no ACL; URL MCP uses a fixed bearer; stale MCP subprocesses). Use
- Issue: Started http-auth ACL server from wrong cwd, or
source .env.localin zsh forMTPROTO_PROXY- Correct approach: Start the server from the project root so Python loads
.env/.env.localvia dotenv; do notsource .env.localin zsh — proxy URLs with&break shell parsing
- Correct approach: Start the server from the project root so Python loads
- Issue: Assumed ACL applies in stdio or without per-bearer sessions
- Correct approach: ACL enforces only with
SERVER_MODE=http-authandACL_ENABLED=true; each bearer inacl.dev.yamlneeds a matching{token}.sessionviahttp://127.0.0.1:8765/setup
- Correct approach: ACL enforces only with
- Issue: Expected
connection.pystdio fix without restarting Cursor MCP- Correct approach: After changing server code used by telegram-dev, restart telegram-dev in Cursor’s MCP panel — stale subprocess keeps old behavior
- Issue: Risk of committing real ACL bearer tokens
- Correct approach: Keep
acl.dev.yamlgitignored; never commit real bearer tokens (template only:acl.dev.yaml.example)
- Correct approach: Keep
- Issue: "Repeat the sourcery-pr-cycle" interpreted as running another full PR → Sourcery → fix loop
- Correct approach: User may mean publish/commit the skill to master, not re-execute the review cycle. Confirm intent when ambiguous.
- Issue: Treated phase closeout as blocked until all follow-up PRs merge, or assumed phase 1 code cannot land on master while follow-ups are open
- Correct approach: Phase 1 code can be on master while follow-up PRs (e.g. #56) remain open; closeout means merge all blocking follow-ups first, not every open PR.
- Issue: Posted Telegram release announcement before release CI finished
- Correct approach: After
gh release create, verify CI/checks are green on the release tag or master commit (gh run list,gh release view); do not post Telegram until release is published and CI is green unless the user explicitly overrides — see release-notes skill
- Correct approach: After
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

