
Vibe Coding
io.github.MUSE-CODE-SPACEPublished by GitHub account MUSE-CODE-SPACEv2.12.1Updated Oct 24, 2026
Auto-document vibe coding sessions - collect, summarize, and publish
Overview
Captures AI coding sessions and turns them into README, design, API and changelog documents, then publishes them to Notion, GitHub Wiki, Obsidian, Confluence…
- What you can do
- Provides 15 tools that collect code blocks and design decisions from a chat session, summarize architectural choices, run AST analysis with Mermaid diagrams, and generate documents such as README, DESIGN, API, ARCHITECTURE, CHANGELOG and TUTORIAL. Sessions are stored as local JSON files under a user directory and can be listed, searched, exported, tagged and profiled per project. A publish tool writes the generated documents to six platforms, with per-platform Markdown normalization. Three resources and three prompts support daily logs, single-session documentation and refactor PR descriptions.
- When to use it
- Useful when you pair-program with an AI assistant and want the reasoning behind changes recorded without manual journaling, for example a daily log, a design-decision record, or a PR description for a large refactor. It is single-user and local, so it is not a team knowledge base or a commit-message generator.
- Requirements
- Runs as a local stdio process, typically started with npx from the npm package vibe-coding-mcp, so Node.js and network access for the package download are needed. Automatic capture requires wiring it as a Claude Code PostToolUse and Stop hook in the client settings. All environment variables are optional: ANTHROPIC_API_KEY for AI tagging and summarization, NOTION_API_KEY and NOTION_DATABASE_ID, GITHUB_TOKEN and GITHUB_REPO, CONFLUENCE_BASE_URL, CONFLUENCE_USERNAME and CONFLUENCE_API_TOKEN…
Installation
In SourceWeft
- Open Vibe Coding in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
vibe-coding-mcp
Your AI coding sessions, documented automatically. Captures every Claude Code session from its transcript — prompts, files changed, commands, design decisions — then turns them into standups, weekly reports, ADRs and PR descriptions, and publishes them to Notion / Obsidian / GitHub Wiki / Confluence / Slack / Discord.
[CI] [npm] [License: MIT] [Maintained]
Why vibe-coding?
You spent four hours pair-programming with Claude. You made three architectural decisions, wrote eight files, and reverted twice. Tomorrow you will not remember why you picked the second option over the first. Most people solve this with manual journaling that lasts two weeks, or by trawling git log after the fact — and git log knows what changed, not why.
vibe-coding-mcp fixes that at the source. Claude Code already writes a full transcript of every session to ~/.claude/projects/. A tiny hook (vibe-coding-mcp hook) parses that transcript after every turn and stores a structured session locally: what you asked, which files were written or edited (with the code), which commands ran, how long it took, which branch, and the design decisions it can detect in the conversation. From there, 17 MCP tools turn those sessions into a standup, a weekly report, a daily log, a DESIGN / ADR / README / API doc, or a PR description, and publish them anywhere.
No API key needed for capture. Everything stays on your disk until you publish.
30-second install
Then, inside Claude Code:
Or just ask: "why did we choose JWT over sessions last week?", "document yesterday's session as a DESIGN doc and put it in my Obsidian vault", "write the PR description for this refactor".
Upgrading from v2.14? The old README's hook recipe used
claude mcp call, which is not a real Claude Code command, so nothing was ever captured. Runnpx vibe-coding-mcp initand remove the old entries. Seedocs/AUTO_CAPTURE.md.
What's new in v2.15.0
- Auto-capture that works.
vibe-coding-mcp hookreads Claude Code's hook JSON on stdin, parses the session transcript, and upserts one session per Claude session (idempotent, exit 0 always, nothing on stdout). init/doctor/captureCLI. Install the hooks with a merge + backup, diagnose, backfill history.muse_digest. Standup / weekly / monthly report over captured sessions, grouped by day · project · tag, English or Korean.muse_capture_transcript. Capture on demand from inside the chat ("save this session").- Resources
vibe-coding://sessions/today,vibe-coding://search/{query}and prompts/standup,/weekly-report. - Agent Skill.
skills/vibe-coding/tells any skill-aware agent (Claude Code, Cursor, Codex, …) when and how to use the server.npm run skill:packbuilds the zip.
Real use cases
1. "Write my standup"
/standup calls muse_digest for yesterday and today plus muse_git status, and returns three bullet groups. Every bullet traces to a captured session title, file path, or decision — nothing invented.
2. "What did I ship this week?" (for your 1:1, Slack, or Notion)
/weekly-report calls muse_digest { period: "week", groupBy: "project" }: totals (sessions, hours, files, decisions), highlights (decisions with rationale), per-project sessions with the files they touched, and most-touched files. Optionally muse_publish_document to Notion / Slack.
3. "Why did we pick option B?"
@vibe-coding://search/<keyword> matches titles, summaries, tags and touched file paths. Open the session; designDecisions holds problem → choice → rationale, and summary holds the actual prompts you typed. This is the context a diff cannot give you.
4. "PR description for a refactor that touched 11 files"
/refactor-context chains session → muse_summarize_design_decisions → muse_analyze_code (AST + Mermaid) → muse_git diff into Why / What changed / Trade-offs / How to review.
5. "Fill my Obsidian vault with ADRs"
muse_summarize_design_decisions over a session, muse_generate_dev_document { documentType: "DESIGN" }, muse_publish_document { platform: "obsidian" } — frontmatter, tags and a session back-reference included.
Tools / Resources / Prompts
The skill
skills/vibe-coding/ is an Agent Skill (SKILL.md + references/ + scripts/setup.sh + assets/). It teaches the agent: check that capture is running before reporting, which tool chain matches which request, output shapes for standup / weekly / PR, and the rule that every reported line must trace to a captured session. Install it alongside the MCP server:
How it works
Design choices that matter:
- Capture reads the transcript, not the editor. Claude Code already logs everything; we parse it after the fact. The hook does no network calls, writes nothing to stdout, and exits 0 even on failure, so it can never slow down or break a session.
- One session per Claude session. The
Stophook fires after every turn; captures are keyed onclaudeSessionIdand update in place. User-added tags survive updates. - Local-first.
~/.vibe-coding-mcp/sessions/<id>.json. No DB, no telemetry.grep, back up, or sync it however you like. - One registry, two transports. HTTP and stdio expose the same 17 tools / 5 resources / 5 prompts via
createMcpServer().
CLI reference
Configuration
Tools that need an unconfigured integration return a structured INTEGRATION_NOT_CONFIGURED error instead of crashing.
Known limitations
- Claude Code only (for now). Capture parses Claude Code's transcript format. Cursor / Codex transcripts are on the roadmap. The MCP tools themselves work from any MCP client.
- Decision extraction is heuristic unless
useAI: truewith an API key: it looks for "decided / chose / instead of / because" patterns in EN and KO. - AST analysis covers TS / Python / Go.
- Publishing is one-way. Edits made in Notion / Wiki are not pulled back.
- Single-user store. Team search across everyone's sessions needs a shared store (roadmap).
When NOT to use this
- Automatic commit messages → use aicommits or similar; this generates documents.
- Team-wide search across everyone's sessions → build a Notion DB on top, or wait for the shared store.
- Hand-written rich notes → use Obsidian / Notion directly; this is capture-then-publish.
Roadmap
- Cursor / Codex CLI transcript capture.
- Shared session store (S3 / Git / WebDAV) and team mode.
prepare-commit-msgsuggestions from the current session's decisions.- Rust / Swift / Kotlin AST + diagrams.
Contributing
Adding a tool is one file in src/tools/<name>.ts, a Zod schema in src/core/schemas.ts, and one entry in src/core/toolRegistry.ts. CI runs typecheck + build + tests on Node 22 and 24.
Security
Paths are validated, filenames sanitized, webhook URLs must be HTTPS and allowlisted, outbound HTTP has timeouts and backoff — see src/core/security.ts and SECURITY.md. The capture hook stores only your prompts, the assistant's prose, the code it wrote, and the commands it ran; tool outputs, sub-agent side-chains and system reminders are dropped.
Report vulnerabilities privately via a GitHub Security Advisory: https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp/security/advisories/new.
License
MIT — see LICENSE.
Maintainer
@yoon-k (MUSE-CODE-SPACE). Issues + support: https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp/issues.
한국어 요약
vibe-coding-mcp는 Claude Code 세션을 자동으로 문서화하는 MCP 서버 + 에이전트 스킬입니다. Claude Code가 남기는 트랜스크립트(~/.claude/projects/)를 훅이 매 턴마다 파싱해서 프롬프트 · 수정한 파일과 코드 · 실행한 명령 · 소요 시간 · 브랜치 · 설계 결정을 ~/.vibe-coding-mcp/sessions/에 저장합니다. API 키 없이 동작하고, 발행하기 전까지는 아무것도 외부로 나가지 않습니다.
Claude Code 안에서 /standup(어제·오늘·블로커), /weekly-report(주간 보고, language: ko 지원), /daily-vibe-log, @vibe-coding://search/키워드를 바로 쓸 수 있고, "지난주에 왜 JWT를 골랐지?", "어제 세션을 DESIGN 문서로 만들어서 Obsidian에 넣어줘", "이 리팩터링 PR 설명 써줘" 같은 요청에 muse_* 도구 17개가 대응합니다.
v2.14의 훅 레시피(
claude mcp call)는 존재하지 않는 명령이라 실제로 캡처가 되지 않았습니다. v2.15에서init으로 교체하세요.
설치·검증·백필은 docs/AUTO_CAPTURE.md, 변경 이력은 CHANGELOG.md, 스킬 패키지는 skills/vibe-coding/ 참고.
Source: README.md at commit a51c7d8
Tools
0Version history
1- v2.12.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts