mcpField
V
vibe-coding

vibe-coding

本地服务
github.com/MUSE-CODE-SPACE开发工具11 周前更新

关于 vibe-coding

vibe-coding 捕获 Claude Code 会话记录,并将其整理为报告、开发文档和 PR 描述,适合希望检索提示词、文件变更、命令及设计决策的开发者。数据先保存在本地,再按需发布。

主要功能

  1. 01捕获并搜索 Claude Code 会话
  2. 02生成站会及周期报告
  3. 03创建开发文档和 PR 描述
  4. 04分析 TypeScript、Python 和 Go 代码
  5. 05发布至 Notion、Obsidian、GitHub Wiki、Confluence、Slack 或 Discord

适用场景

  1. 01根据近期编码会话准备站会内容
  2. 02查找过去设计决策的理由
  3. 03结合会话上下文起草 PR 描述
  4. 04将会话中的决策发布为 ADR

MCP 相关

MCP 服务提供用于捕获、搜索、总结、编写文档和发布会话数据的工具、资源及提示词,支持 stdio 和 HTTP 传输;目前捕获功能解析 Claude Code 会话记录。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"muse-code-space-vibe-coding": {
"command": "npx",
"args": [
"-y",
"vibe-coding-mcp"
]
}
}
}
启动命令npx -y vibe-coding-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmvibe-coding-mcp2.12.1

工具

15

收录的工具列表 · 更新于 2 周前

参数类型必填说明
tagsarray否可选的分类标签(自动添加语言标签)
rawTextstring否包含要提取的代码块的原始文本(作为 codeBlocks 的替代项)
codeBlocksarray否包含语言和代码内容的代码块数组
includeStatsboolean否在输出中包含代码统计信息(默认:true)
removeDuplicatesboolean否移除重复的代码块(默认:true)
autoDetectLanguageboolean否自动检测编程语言(默认:true)
conversationSummarystring是对话或上下文摘要

详细介绍

vibe-coding-mcp

自动记录你的 AI 编码会话。它会从 Claude Code 的会话记录中捕获每次会话的内容——提示词、修改的文件、执行的命令和设计决策——然后将其整理成站会记录、每周报告、ADR 和 PR 描述,并发布到 Notion / Obsidian / GitHub Wiki / Confluence / Slack / Discord。

CI npm License: MIT Maintained

English · 한국어


为什么选择 vibe-coding?

你和 Claude 结对编程了四个小时。你做出了三个架构决策,编写了八个文件,还撤销了两次。明天,你就不记得为什么选了第二个方案而不是第一个。大多数人会用手动记录来解决这个问题,但这种习惯通常只能坚持两周;或者事后翻阅 git log——而 git log 只知道改了什么,不知道为什么改。

vibe-coding-mcp 从源头解决这个问题。Claude Code 已经会将每次会话的完整记录写入 ~/.claude/projects/。一个轻量级钩子(vibe-coding-mcp hook)会在每轮对话结束后解析记录,并在本地保存结构化会话数据:你提出了什么请求、写入或编辑了哪些文件(含代码)、执行了哪些命令、耗时多久、使用了哪个分支,以及它能从对话中识别出的设计决策。之后,17 个 MCP 工具会将这些会话整理成站会记录、每周报告、每日日志、设计文档 / ADR / README / API 文档或 PR 描述,并发布到任何地方。

捕获会话不需要 API 密钥。在你发布之前,所有内容都会保留在本地磁盘上。

30 秒安装

# 1. Register the MCP server with Claude Code (tools, resources, slash-command prompts)
claude mcp add -s user vibe-coding-mcp -- npx -y vibe-coding-mcp

# 2. Install the capture hooks into ~/.claude/settings.json (backup written first)
npx -y vibe-coding-mcp init

# 3. Restart Claude Code. Then import the sessions you already have and check health
npx -y vibe-coding-mcp capture --all
npx -y vibe-coding-mcp doctor

然后,在 Claude Code 中:

/standup                     → Yesterday / Today / Blockers from captured sessions
/weekly-report               → Shipped / Decisions / In progress / Next, per project
/daily-vibe-log              → today's sessions as one log, offer to publish
@vibe-coding://search/redis  → every session that touched redis (titles, prompts, or file paths)

或者直接提问:“上周我们为什么选择 JWT 而不是会话?”、“把昨天的会话整理成一份设计文档,并放进我的 Obsidian 库”、“为这次重构写一份 PR 描述”。

从 v2.14 升级? 旧版 README 中的钩子配置使用了 claude mcp call,但这并不是有效的 Claude Code 命令,因此实际上从未捕获任何内容。运行 npx vibe-coding-mcp init 并移除旧配置。参见 docs/AUTO_CAPTURE.md。

v2.15.0 新增内容

  • 可正常工作的自动捕获。 vibe-coding-mcp hook 会从标准输入读取 Claude Code 的钩子 JSON,解析会话记录,并为每个 Claude 会话新增或更新一条会话记录(幂等、始终以 0 退出、标准输出为空)。
  • init / doctor / capture CLI。 合并并备份配置以安装钩子、诊断问题、补录历史记录。
  • muse_digest。 基于捕获的会话生成站会记录 / 每周报告 / 每月报告,可按日期 · 项目 · 标签分组,支持英语或韩语。
  • muse_capture_transcript。 在聊天中按需捕获会话(“保存这次会话”)。
  • 资源 vibe-coding://sessions/today、vibe-coding://search/{query} 和提示词 /standup、/weekly-report。
  • Agent Skill。 skills/vibe-coding/ 会告诉任何支持技能的 Agent(Claude Code、Cursor、Codex、……)何时以及如何使用此服务。npm run skill:pack 会构建 zip 文件。

实际用例

1. “写我的站会记录”

/standup 会调用 muse_digest 获取昨天和今天的数据,再调用 muse_git status,并返回三组要点。每条要点都能追溯到捕获的会话标题、文件路径或决策——绝不编造内容。

2. “我这周交付了什么?”(用于 1:1 沟通、Slack 或 Notion)

/weekly-report 会调用 muse_digest { period: "week", groupBy: "project" }:提供汇总数据(会话数、小时数、文件数、决策数)、重点内容(附理由的决策)、各项目会话及涉及的文件,以及修改最多的文件。还可以选择调用 muse_publish_document 发布到 Notion / Slack。

3. “为什么我们选择了方案 B?”

@vibe-coding://search/<keyword> 会匹配标题、摘要、标签 以及涉及的文件路径。打开会话;designDecisions 中包含问题 → 选择 → 理由,summary 中则包含你实际输入的提示词。这些上下文是 diff 无法提供的。

4. “为涉及 11 个文件的重构编写 PR 描述”

/refactor-context 会依次调用会话 → muse_summarize_design_decisions → muse_analyze_code(AST + Mermaid)→ muse_git diff,生成“原因 / 变更内容 / 权衡 / 审查方式”。

5. “用 ADR 填充我的 Obsidian 知识库”

对会话调用 muse_summarize_design_decisions、muse_generate_dev_document { documentType: "DESIGN" }、muse_publish_document { platform: "obsidian" } — 包含 frontmatter、标签和会话反向链接。

工具 / 资源 / 提示词

名称类型功能
muse_capture_transcript工具(新增) 将 Claude Code 转录内容保存为会话(capture / preview / list,使用 all 进行回填)
muse_digest工具(新增) 基于已捕获的会话生成每日站会 / 每周 / 每月报告,按天 / 项目 / 标签分组
muse_session_history工具对 ~/.vibe-coding-mcp/sessions/ 执行 save / get / update / delete / list / search / stats
muse_session_stats工具生产力仪表板:每天的会话数、每个会话的决策数、语言分布
muse_summarize_design_decisions工具提取决策(问题 → 选项 → 选择 → 权衡),支持 EN/KO,可选 Claude API
muse_analyze_code工具AST 分析(TypeScript / Python / Go)+ Mermaid 图表
muse_generate_dev_document工具README / DESIGN / TUTORIAL / CHANGELOG / API / ARCHITECTURE 生成器
muse_create_session_log工具编写每日或每个会话的日志
muse_export_session工具将会话导出为 Markdown / JSON / HTML
muse_normalize_for_platform工具处理 Notion / GitHub Wiki / Obsidian 的 Markdown 格式差异
muse_publish_document工具发布到 Notion / GitHub Wiki / Obsidian / Confluence / Slack / Discord
muse_collect_code_context工具从原始文本中提取代码块和摘要
muse_git工具status / log / diff / branch / snapshot + 从提交记录中提取决策
muse_auto_tag工具标签建议(Claude API,可选)
muse_template工具自定义文档模板
muse_project_profile工具每个项目的默认设置(平台、标签、语言)
muse_batch工具在一次往返中调用多个工具
vibe-coding://sessions/list资源所有已捕获的会话
vibe-coding://sessions/today资源(新增) 今天开始的会话及涉及的文件
vibe-coding://sessions/{id}资源单个会话的完整内容
vibe-coding://search/{query}资源(新增) 关键词搜索,包括文件路径
vibe-coding://config资源已配置的发布平台
/daily-vibe-log提示词将今天的会话整理成一份每日日志
/standup提示词(新增) 昨天 / 今天 / 阻碍
/weekly-report提示词(新增) 已交付 / 决策 / 进行中 / 下一步
/document-session提示词会话 → 开发文档 → 发布
/refactor-context提示词会话 → PR 描述

技能

skills/vibe-coding/ 是一项 Agent 技能(SKILL.md + references/ + scripts/setup.sh + assets/)。它会教会 Agent:报告前确认捕获功能正在运行,根据请求选择合适的工具链,了解站会 / 周报 / PR 的输出格式,以及确保每条报告内容都能追溯到已捕获会话的规则。请将其与 MCP 服务一同安装:

# Claude Code: drop it into your skills directory
cp -r skills/vibe-coding ~/.claude/skills/

# or build a zip for a marketplace (Agensi, etc.)
npm run skill:pack      # → dist-skill/vibe-coding-skill-<version>.zip

工作原理

 Claude Code ──Stop / SessionEnd hook──▶ vibe-coding-mcp hook ──▶ ~/.vibe-coding-mcp/sessions/*.json
      │   (stdin: session_id,             │ parse ~/.claude/projects/<slug>/<id>.jsonl
      │    transcript_path, cwd)          │ prompts · files+code · commands · timing · decisions
      │                                   │ upsert by claudeSessionId
      ▼
 Claude (or any MCP client) ──▶ src/cli.ts ──▶ src/stdio.ts ─┐
                              src/index.ts (HTTP, POST /mcp) ─┴─▶ src/core/mcpServerFactory.ts
                                                                    ├─ toolRegistry.ts   (17 muse_* tools)
                                                                    ├─ resources.ts      (5 resources)
                                                                    └─ prompts.ts        (5 prompts)
                                                                          │
                                                                          ▼
                                            src/tools/*.ts · src/core/{captureEngine,transcriptParser}.ts
                                            src/core/sessionStorage.ts · src/platforms/*.ts

重要的设计选择:

  1. 捕获读取的是对话记录,而不是编辑器。 Claude Code 已经记录了所有内容;我们会事后解析。钩子不会发起网络请求,不会向 stdout 写入任何内容,并且即使失败也会以 0 退出,因此绝不会拖慢或中断会话。
  2. 每个 Claude 会话对应一个会话。 Stop 钩子会在每轮结束后触发;捕获内容以 claudeSessionId 为键并原地更新。用户添加的标签会在更新后保留。
  3. 本地优先。 ~/.vibe-coding-mcp/sessions/<id>.json。无需数据库,也不收集遥测数据。你可以随意使用 grep、备份或同步这些文件。
  4. 一个注册表,两种传输方式。 HTTP 和 stdio 通过 createMcpServer() 提供相同的 17 个工具 / 5 个资源 / 5 个提示词。

CLI 参考

vibe-coding-mcp                 start the MCP server (stdio)
vibe-coding-mcp init            install Stop + SessionEnd hooks into ~/.claude/settings.json
    --project | --local         target .claude/settings.json | .claude/settings.local.json
    --dry-run | --print         show merged file | print only the hooks block
    --remove                    uninstall
    --command "<cmd>"           custom hook command
vibe-coding-mcp capture         capture the newest transcript for the cwd
    --all                       every transcript for the cwd (backfill)
    --transcript <path> --cwd <dir> --dry-run --json
vibe-coding-mcp doctor          hooks · transcripts · store · last hook run · platforms
vibe-coding-mcp hook            (used by the hooks) stdin JSON → capture

配置

环境变量必需项用途
(无)捕获、摘要、搜索、文档无需任何配置即可使用
ANTHROPIC_API_KEYuseAI 选项、muse_auto_tag由 Claude API 驱动的分析
NOTION_API_KEY + NOTION_DATABASE_ID发布到 Notion
GITHUB_TOKEN + GITHUB_REPO发布到 GitHub Wiki
OBSIDIAN_VAULT_PATHObsidian 默认知识库或传入 options.vaultPath
CONFLUENCE_BASE_URL + CONFLUENCE_USERNAME + CONFLUENCE_API_TOKEN + CONFLUENCE_SPACE_KEYConfluence
SLACK_WEBHOOK_URL / DISCORD_WEBHOOK_URLSlack / Discord
VIBE_CODING_STORAGE_DIR—更改会话存储位置
CLAUDE_CONFIG_DIR—Claude Code 的配置不在 ~/.claude 时使用
PORT仅限 HTTP 模式默认值为 3000

需要未配置集成的工具会返回结构化的 INTEGRATION_NOT_CONFIGURED 错误,而不会崩溃。

已知限制

  • 目前仅支持 Claude Code。 捕获功能会解析 Claude Code 的对话记录格式。Cursor / Codex 对话记录已列入路线图。MCP 工具本身可与任何 MCP 客户端配合使用。
  • 决策提取使用启发式方法,除非设置 useAI: true 并提供 API 密钥:它会在英文和韩文文本中查找“decided / chose / instead of / because”模式。
  • AST 分析支持 TS / Python / Go。
  • 发布是单向的。 在 Notion / Wiki 中所做的编辑不会同步回来。
  • 单用户存储。 跨团队成员会话的搜索需要共享存储(已列入路线图)。

不适用场景

  • 自动生成提交消息 → 使用 aicommits 或类似工具;本工具用于生成文档。
  • 跨团队成员会话搜索 → 在此基础上构建 Notion 数据库,或等待共享存储功能。
  • 手动撰写的丰富笔记 → 直接使用 Obsidian / Notion;本工具采用先捕获、后发布的方式。

路线图

  • 捕获 Cursor / Codex CLI 对话记录。
  • 共享会话存储(S3 / Git / WebDAV)和团队模式。
  • 根据当前会话的决策生成 prepare-commit-msg 建议。
  • Rust / Swift / Kotlin AST + 图表。

贡献

git clone https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp
cd vibe-coding-mcp
npm install
npm run typecheck && npm test && npm run build
node dist/cli.js capture --dry-run     # try the capture engine on your own transcript

添加工具只需在 src/tools/<name>.ts 中添加一个文件,在 src/core/schemas.ts 中添加一个 Zod 模式,并在 src/core/toolRegistry.ts 中添加一项。CI 会在 Node 22 和 24 上运行类型检查、构建和测试。

安全

路径会经过验证,文件名会进行清理,Webhook URL 必须使用 HTTPS 且位于允许列表中,出站 HTTP 请求设有超时和退避机制——详见 src/core/security.ts 和 SECURITY.md。捕获钩子只会存储你的提示词、助手的文字内容、它编写的代码以及执行的命令;工具输出、子 Agent 的旁支对话和系统提醒都会被丢弃。

请通过 GitHub Security Advisory 私下报告漏洞: https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp/security/advisories/new。

许可证

MIT — 详见 LICENSE。

维护者

@yoon-k (MUSE-CODE-SPACE)。问题反馈与支持: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 mcp add -s user vibe-coding-mcp -- npx -y vibe-coding-mcp   # MCP 등록
npx -y vibe-coding-mcp init                                        # 훅 설치 (settings.json 백업 후 병합)
npx -y vibe-coding-mcp capture --all                               # 기존 세션 가져오기
npx -y vibe-coding-mcp doctor                                      # 상태 확인

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/ 참고.

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。