worklog-mcp
The project doc that writes itself.
MCP server that manages worklogs and keeps PROJECT.md up to date — across Claude Code, Cursor, and Claude Desktop.
What It Does
- Worklog — records what you worked on into
.worklogs/YYYY-MM-DD.md, optionally syncs to Notion - Project doc — creates and maintains
PROJECT.mdwith structure, decisions, and solved problems - Gap detection — compares recent git commits to
PROJECT.mdand surfaces what's missing - Any client — Claude Code, Cursor, Claude Desktop, anything MCP-compatible
Install
git clone https://github.com/kangraemin/worklog-for-claude
cd worklog-for-claude/mcp
uv sync
Connect
Add to your MCP client config. Replace the path with the absolute path to this mcp/ directory.
Claude Code — .claude/settings.json:
{
"mcpServers": {
"worklog-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/worklog-for-claude/mcp", "run", "worklog-mcp"]
}
}
}
Cursor — ~/.cursor/mcp.json (same format)
Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json (same format)
See examples/ for complete config files.
Tools
| Tool | Description |
|---|---|
write_worklog |
Append an entry to .worklogs/YYYY-MM-DD.md |
read_worklog |
Read worklog for a given date (default: today) |
write_worklog_to_notion |
Send worklog entry to Notion DB |
read_project_doc |
Read PROJECT.md with section parsing |
create_project_doc |
Create PROJECT.md with 7 standard sections |
analyze_gaps |
Compare recent git commits to PROJECT.md, return gaps |
update_project_doc |
Update a specific section (replace or append) |
PROJECT.md Sections
## 이게 뭔가 — one-line description
## 왜 만들었나 — motivation and problem
## 구조 — folder/file structure
## 기술 스택 — tech choices and reasons
## 주요 결정들 — key architectural decisions
## 해결한 문제들 — bugs and how they were fixed
## 지금 상태 — current state, what works, what's next
Notion Setup
Set environment variables before running the server:
export NOTION_TOKEN=secret_...
export NOTION_DB_ID=your-db-id
Or pass them directly as tool arguments.
Required Notion DB columns: Title, Project, Cost, Duration, Model, Tokens, DateTime
Gap Detection
analyze_gaps watches your git history and finds what's missing in PROJECT.md:
feat:commits → checks주요 결정들,지금 상태fix:commits → checks해결한 문제들refactor:commits → checks구조,기술 스택- Empty sections → always flagged
- Recent
docs:orPROJECT.mdcommit → skips gap check
Test
uv run pytest tests/ -v
71 tests, all passing.
Metadata
Release files for worklog-for-claude 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| worklog_for_claude-0.1.0.tar.gz | 65.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| worklog_for_claude-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 75.0 kB
Release files / worklog_for_claude-0.1.0.tar.gz
| Download URL | worklog_for_claude-0.1.0.tar.gz |
|---|---|
| Size | 65.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
caeeaf507aa69225e6eb9fd2cab2728a52dfe9e60bd24e2402e01af2c07e8b97
|
|
BLAKE2b-256 checksum How to use checksums |
549760c49231b516d79f031d07cd4ca95c4b2fb0c4752b16ab741dda9b46b7d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / worklog_for_claude-0.1.0-py3-none-any.whl
| Download URL | worklog_for_claude-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
505b7e05fffbb6e7d094af0a4235e8cff140204fd6b3bc7ca91b598f1df6ad4a
|
|
BLAKE2b-256 checksum How to use checksums |
de43d6d00e60dda4e446c82ed020804b6f6348ec84bae05b8efb612093026eea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|