termloop
Telegram bot for spaced repetition of professional terms + MCP server to save terms straight from LLM conversations
Install / Use
claude mcp add Gyxer513 -- npx -y github:Gyxer513/termloopIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of termloop
termloop scores 75/100 on our quality scale, 725th of 860 AI & Machine Learning skills we index.
Its MCP Server is 5.3 KB long, well organised into 11 sections with 4 code examples: a solid amount of guidance for an agent.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 2 months ago, so termloop is actively maintained.
- Our last check on 2026-09-26 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-26. Automated pattern scan on 2026-09-26. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
termloop compared with similar skills
All 4 of these similar skills score higher than termloop; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| termloop (this skill)by Gyxer513 | 75 | 3 | 2mo ago | MCP Server |
| claude-memby thedotmack | 100 | 95.0k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 86.3k | 14d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 84.8k | 2d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.1k | today | CLAUDE.md |
Frequently asked questions
- How do I install termloop?
- Run
claude mcp add Gyxer513 -- npx -y github:Gyxer513/termloop. The install tabs above show the steps for each supported agent. - Which AI agents does termloop work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is termloop safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is termloop still maintained?
- The repository was last updated about 2 months ago, so termloop is actively maintained.
Skill content
View source on GitHub🧠 TermLoop
Terms keep coming back until you remember them.
A minimal Telegram bot for spaced repetition of professional terminology — plus an MCP server, so you can save terms into your dictionary right from a conversation with an LLM (Claude Code, Claude Desktop, or anything else that speaks MCP).
Docs: gyxer513.github.io/termloop · Документация на русском
Why
The problem is rarely a lack of engineering understanding — it's that professional vocabulary lags behind the concepts you already use in practice. You know that "reprocessing must not change the result"; TermLoop makes sure the word idempotency comes back to you until the link sticks.
No AI grading, no token spend: you judge yourself with two buttons, the priority math is deterministic.
Features
- Personal card dictionaries (term — definition, optional topic)
- Priority rotation: new and forgotten cards come back more often (100 → decrements of 1/10/25/50 per recall streak; "forgot" resets to 100)
- Self-assessment flow: show term → recall → reveal definition → Remember / Forgot
- Manual reviews (
/go [topic]) and a shared notification schedule - MCP server (streamable HTTP) with
add_term/list_terms/list_terms_topics— write terms from any LLM chat - Sturdy by design: state machine with single-use review tokens and TTL, idempotent callbacks, row-level ownership in every query, rate limiting, optional Telegram ID allowlist
- Boring ops: single process, long polling (no public endpoint), SQLite WAL, Alembic migrations, Docker Compose
Bot commands
| Command | Action |
|---|---|
| /start | create account, show help |
| /add Topic \| Term \| Definition | add a card (topic is optional) |
| /edit 17 \| Topic \| Term \| Definition | edit card #17 |
| /delete 17 | delete card #17 |
| /list [topic] | list your cards |
| /topics | list topics |
| /go [topic] | start or resume a review |
| /notify on\|off | toggle reminders |
| /cancel | reset the active attempt |
Quick start
Requirements: Docker + Compose, a bot token from @BotFather.
git clone https://github.com/Gyxer513/termloop.git
cd termloop
mkdir -p data && sudo chown 1000:1000 data # container runs as uid 1000
cp .env.example .env
# set BOT_TOKEN, MCP_TELEGRAM_USER_ID, MCP_AUTH_TOKEN in .env
docker compose up -d --build
Configuration (.env):
| Variable | Default | Purpose |
|---|---|---|
| BOT_TOKEN | — | Telegram bot token (required) |
| REVIEW_TIMES | 10:00,19:00 | shared reminder schedule |
| TIMEZONE | Europe/Moscow | schedule timezone |
| PENDING_TTL_MINUTES | 30 | active attempt expiry |
| ALLOWED_TELEGRAM_IDS | empty | optional allowlist (empty = everyone) |
| MCP_TELEGRAM_USER_ID | — | whose dictionary MCP tools write to (required for MCP) |
| MCP_AUTH_TOKEN | empty | static bearer token for the MCP endpoint |
| MCP_PORT | 8210 | MCP server port |
MCP: save terms from an LLM conversation
The termloop-mcp service exposes the dictionary at http://<host>:8210/mcp
(streamable HTTP, bearer auth). Cards land in the same rotation the bot uses.
Claude Code:
claude mcp add --transport http termloop http://<host>:8210/mcp \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>"
Claude Desktop (claude_desktop_config.json, via a local mcp-remote
bridge — connectors on claude.ai itself require a public HTTPS URL):
"termloop": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://<host>:8210/mcp",
"--allow-http", "--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer <MCP_AUTH_TOKEN>" }
}
Then just say: "save to termloop: bulkhead — resource isolation so one failing component can't take down the rest, topic Architecture."
Development
Python 3.12+, no external services needed:
python -m venv .venv && . .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements-dev.txt
pytest # 34 tests: priority policy, state machine, ownership, scheduler, migrations
ruff check .
Stack: aiogram 3 · SQLAlchemy 2 (async) · Alembic · APScheduler · MCP Python SDK · SQLite (WAL).
Layout: domain logic lives in app/services/ (~280 lines, fully covered by
tests), Telegram wiring in app/bot/, the MCP server in app/mcp_server.py.
Design notes
- Both triggers —
/goand the scheduler — call the samestart_review(user, topic, source)application service. - Card selection: top-10 by priority with deterministic tie-breaks, random
pick in the application. No
ORDER BY RANDOM(). - Review state machine:
IDLE → QUESTION_SHOWN → ANSWER_SHOWN → IDLE, guarded by a per-attempt random token; stale or replayed callbacks are safe no-ops. - Authorization is row-level and lives in the queries themselves: a foreign card is indistinguishable from a missing one.
- The stop rule is part of the spec: no AI grading, no web UI, no tag system, no analytics until real usage demands them.
Questions & feedback
Ask in Discussions (Q&A) — bugs go to Issues.
License
Related Skills
claude-mem
95.0kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
86.3kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
84.8kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
74.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
