worklog-telegram
Provides tools for logging work items and sending daily summaries to Telegram chats, with automatic scheduled summaries at 11 PM and on-demand sending via the send_summary tool.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@worklog-telegramSend me today's work log"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Work log → Telegram
What this is
MCP server that logs what you got done throughout the day via a log_work
tool, keeping one Markdown file per day with entries grouped by project. The
day's log goes to Telegram two ways: automatically at 11 PM, or on demand when
you ask Claude to send it.
Related MCP server: Daily Work MCP Server
Architecture
server.py— MCP server. Two tools:log_work(entry, project)files a bullet under## <project>inlogs/<date>.md;send_summary(day)posts that day's log to Telegram on request.send.py— standalone script, reads a day's log, posts to Telegram. Also the shared implementation the MCP tool calls.Scheduled via Windows Task Scheduler at 11 PM daily (
register-task.ps1)~/.claude/CLAUDE.md— the parent prompt telling Claude to log as it works, in every project
The scheduled task only needs send.py, so the nightly summary keeps
working even when no MCP server is running. That script is stdlib-only for the
same reason — the task doesn't have to activate the virtualenv.
Setup
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Copy-Item .env.example .env # then fill in the two Telegram valuesTelegram setup
Bot token and chat_id are obtained via BotFather + getUpdates:
Message @BotFather →
/newbot→ copy the token.Send your new bot any message (a bot can't start the conversation).
Open
https://api.telegram.org/bot<TOKEN>/getUpdatesand copyresult[0].message.chat.id.Put both in
.envasTELEGRAM_BOT_TOKENandTELEGRAM_CHAT_ID.
.env is gitignored. The scheduled task reads it from disk, so real
environment variables aren't required — but if both are set, the environment
wins.
Wiring the MCP server to Claude Code
claude mcp add worklog -- "E:\Reels graphics\code logs\.venv\Scripts\python.exe" "E:\Reels graphics\code logs\server.py"Or add it to .mcp.json by hand:
{
"mcpServers": {
"worklog": {
"command": "E:\\Reels graphics\\code logs\\.venv\\Scripts\\python.exe",
"args": ["E:\\Reels graphics\\code logs\\server.py"]
}
}
}Add it once at user scope (claude mcp add --scope user ...) so every project
logs to the same folder, not just this one.
The parent prompt
Tool descriptions alone make logging optional. ~/.claude/CLAUDE.md loads into
every session and carries the standing instruction:
log after each meaningful unit of work, one call per item,
projectset to the working directory's namedon't log routine steps, don't batch a whole session into one entry, don't ask permission first
call
send_summarywhen you ask for it, never unprompted
Edit that file to change the logging behaviour — it's the lever, not the tool descriptions.
Scheduling
powershell -ExecutionPolicy Bypass -File .\register-task.ps1Registers WorkLogSummary at 23:00 daily, running under your account while
logged on. Override with -At "22:30" or -TaskName "...".
Start-ScheduledTask -TaskName "WorkLogSummary" # fire it now
Get-ScheduledTaskInfo -TaskName "WorkLogSummary" # last run + result
Unregister-ScheduledTask -TaskName "WorkLogSummary" -Confirm:$falseThe task passes --skip-if-empty, so days with no logged work send nothing.
Drop that flag in register-task.ps1 if you'd rather get a "Nothing logged
today" ping as proof the job ran.
Sending on demand
Just ask Claude — "send me today's log", "send it", "text me what I did
yesterday" — and it calls the send_summary tool. From the shell:
python send.py --dry-run # print, don't send
python send.py --date 2026-08-01 # re-send an older day
python send.py # send today'sLog format
logs/2026-08-02.md:
# 2026-08-02
## Reels graphics
- 09:14 Rebuilt the beat cards in comic style
- 11:02 Added project grouping to the daily log
## contextvolt
- 14:30 Fixed the bolt glyph in the logoNew entries are inserted at the end of their project's section, so a day spent switching between projects still reads as one block per project. A section is created the first time that project is logged.
Plain Markdown on purpose — readable on its own, easy to grep or feed somewhere
else later. send.py re-reads the bullets and reformats them; it does
not condense with an LLM. If you want summarizing instead of verbatim bullets,
that's the place to add it.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- -licenseAquality-maintenanceEnables natural language time tracking through Claude with markdown file storage. Supports multi-company tracking, flexible time parsing, auto-calculated summaries, and commitment warnings all through conversational input.Last updated1
- Flicense-qualityDmaintenanceEnables recording, querying, and summarizing daily work entries with tags using a local SQLite database. Supports work logging, search, timeline queries, tag management, and automated reminders for tracking daily tasks.Last updated
- Flicense-qualityDmaintenanceSummarizes Slack activity and GitLab merge requests with OpenAI to help generate daily standups, weekly reports, or quarterly check-ins.Last updated
- AlicenseAqualityAmaintenanceEnables tracking work time with start/stop timers, logging entries, and generating reports.Last updated419MIT
Related MCP Connectors
Track time on usetimebook.com - start/stop timers, log entries, list projects/clients.
Manage projects, tasks, time tracking, and team collaboration through natural language.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rithvickkr/code-logs'
If you have feedback or need assistance with the MCP directory API, please join our Discord server