Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Work log → Telegram

MCP server that logs what you got done throughout the day, one Markdown file per day grouped by project, and sends the day's log to Telegram — nightly on a schedule or on demand.

1. Install

git clone https://github.com/Rithvickkr/code-logs.git
cd code-logs
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

2. Configure Telegram

Copy-Item .env.example .env

Then fill in the two values:

  1. Message @BotFather/newbot → copy the token.
  2. Send your new bot any message (a bot can't start the conversation).
  3. Open https://api.telegram.org/bot<TOKEN>/getUpdates and copy result[0].message.chat.id.
  4. Put both in .env as TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID.

.env is gitignored. If the same variables are set in the real environment, those win.

3. Register the MCP server

Run from the repo root, at user scope so every project logs to the same place:

claude mcp add --scope user worklog -- .\.venv\Scripts\python.exe .\server.py

Use absolute paths if your client needs them.

4. Tell Claude to log as it works

Add to ~/.claude/CLAUDE.md:

The `worklog` MCP server keeps one Markdown file per day, grouped by project.

- After each meaningful unit of work lands, call `log_work` with a one-line
  past-tense summary, and `project` set to the working directory's name.
- One call per item. Don't batch a session into one entry, don't log routine
  steps, don't ask permission first.
- Call `send_summary` only when asked for the log.

5. Schedule the nightly send

powershell -ExecutionPolicy Bypass -File .\register-task.ps1

Registers WorkLogSummary at 23:00 daily. Override with -At "22:30" or -TaskName "...".

Start-ScheduledTask -TaskName "WorkLogSummary"              # run it now
Get-ScheduledTaskInfo -TaskName "WorkLogSummary"            # last run + result
Unregister-ScheduledTask -TaskName "WorkLogSummary" -Confirm:$false

6. Send on demand

Ask Claude — "send me today's log", "send it" — or 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's

Tools

Tool What it does
log_work(entry, project) Files a bullet under ## <project> in logs/<date>.md
send_summary(day) Posts that day's log to Telegram

Log format

# 2026-08-02

## project-one

- 09:14 Rebuilt the beat cards
- 11:02 Added project grouping to the daily log

## project-two

- 14:30 Fixed the logo glyph

Entries are appended to their project's section; a section is created the first time that project is logged.

About

MCP server that logs daily work per project and ships the day's summary to Telegram

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages