Vibe Coding Documentation MCP (MUSE)
MUSE is a local-first MCP server that manages captured coding sessions, generates documentation and reports, analyzes code, and publishes or exports results.
Manage session history: save, get, update, delete, list, search, and view storage stats.
Create daily/session logs and export sessions as Markdown, JSON, or HTML.
Extract design decisions from English/Korean conversation logs, with optional Claude AI enhancement.
Analyze TypeScript/JavaScript/Python/Go code via AST, generate Mermaid diagrams, and optionally get AI quality/security suggestions.
Generate README, DESIGN, TUTORIAL, CHANGELOG, API, and ARCHITECTURE documents with badges, TOC, API reference, FAQ, and custom sections.
Normalize Markdown for Notion, GitHub Wiki, or Obsidian and publish to Notion, GitHub Wiki, Obsidian, Confluence, Slack, or Discord.
Integrate with Git for status, log, diff, branch, snapshot, decision extraction, and session linking.
Manage project profiles, custom templates, auto-tagging, session analytics, and batch tool operations.
Per README, also supports auto-capture hooks, session search resources, and prompts like /standup and /weekly-report.
Enables publishing of vibe coding documentation, design decisions, and generated developer documents to Confluence pages.
Supports publishing of code documentation, session logs, and design decisions to Discord channels.
Provides Git-based wiki updates for publishing README, DESIGN, TUTORIAL, CHANGELOG, API, and ARCHITECTURE documents to GitHub Wiki.
Offers full API integration for creating and publishing developer documentation, design decisions, and session logs as Notion pages in databases.
Enables local vault file storage with frontmatter support for saving generated documentation and coding session logs.
Allows publishing of vibe coding documentation, summaries, and session logs to Slack channels.
Click on "Deploy 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., "@Vibe Coding Documentation MCP (MUSE)create a README for today's session and publish it to Notion"
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.
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.
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.
Related MCP server: Autonomous Documentation MCP
30-second install
# 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 doctorThen, inside 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)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
Name | Type | What it does |
| tool | (new) Claude Code transcript → stored session ( |
| tool | (new) Standup / weekly / monthly report over captured sessions, grouped by day / project / tag |
| tool |
|
| tool | Productivity dashboard: sessions/day, decisions/session, language breakdown |
| tool | Extract decisions (problem → options → choice → trade-off), EN/KO, optional Claude API |
| tool | AST analysis (TypeScript / Python / Go) + Mermaid diagrams |
| tool | README / DESIGN / TUTORIAL / CHANGELOG / API / ARCHITECTURE generator |
| tool | Daily or per-session log composition |
| tool | Export sessions to Markdown / JSON / HTML |
| tool | Markdown quirks for Notion / GitHub Wiki / Obsidian |
| tool | Publish to Notion / GitHub Wiki / Obsidian / Confluence / Slack / Discord |
| tool | Pull code blocks + summary out of raw text |
| tool |
|
| tool | Tag suggestions (Claude API, optional) |
| tool | Custom doc templates |
| tool | Per-project defaults (platform, tags, language) |
| tool | Several tool calls in one round-trip |
| resource | All captured sessions |
| resource | (new) Sessions started today, with files touched |
| resource | One session in full |
| resource | (new) Keyword search incl. file paths |
| resource | Which publish platforms are configured |
| prompt | Today's sessions → one daily log |
| prompt | (new) Yesterday / Today / Blockers |
| prompt | (new) Shipped / Decisions / In progress / Next |
| prompt | Session → dev document → publish |
| prompt | Session → PR description |
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:
# 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>.zipHow it works
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/*.tsDesign 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
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 → captureConfiguration
Env var | Required for | Purpose |
(none) | capture, digest, search, docs | Works with zero configuration |
|
| Claude-API-powered analysis |
| Notion publishing | |
| GitHub Wiki publishing | |
| Obsidian default vault | or pass |
| Confluence | |
| Slack / Discord | |
| — | Move the session store |
| — | If Claude Code's config is not in |
| HTTP mode only | default |
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
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 transcriptAdding 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 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/ 참고.
Available Tools
15 toolsmuse_analyze_codeA
Performs deep code analysis using AST parsing. Extracts functions, classes, imports, and generates Mermaid diagrams. Supports AI-powered analysis for quality insights, security issues, and improvement suggestions.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The source code to analyze | |
| language | No | Programming language (auto-detected if not provided) | |
| filename | No | Optional filename for context | |
| generateDiagrams | No | Generate Mermaid diagrams (default: true) | |
| diagramTypes | No | Types of diagrams to generate (default: all) | |
| useAI | No | Enable AI-powered analysis for quality, security, and suggestions (default: false, requires ANTHROPIC_API_KEY) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses that AST parsing is used, diagrams are generated by default, and AI analysis requires an API key. However, it does not detail potential side effects or output format, though the tool is likely read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It front-loads the core purpose and then expands on key features. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters, 100% schema coverage, no output schema, and no annotations, the description covers the tool's capabilities well, including the two modes (AST-only vs AI) and diagram generation. Minor missing detail on return format but otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context like 'auto-detected' for language and 'AI-powered analysis for quality, security, and suggestions' for useAI, enriching the schema but not critically.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs and nouns: 'performs deep code analysis using AST parsing', 'extracts functions, classes, imports', 'generates Mermaid diagrams', and 'supports AI-powered analysis'. It clearly distinguishes itself from sibling tools like muse_git and muse_template, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for code analysis but does not explicitly state when to use this tool versus alternatives, nor does it provide when-not or exclude conditions. It lacks explicit guidance on prerequisites or contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_auto_tagC
Automatically suggests and applies tags to sessions. Actions: suggest (recommend tags), apply (add tags to session), train (learn from examples), config (configure tagging behavior).
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| sessionId | No | Session ID to analyze or update (for suggest/apply) | |
| content | No | Text content to analyze for tags | |
| codeBlocks | No | Code blocks to analyze | |
| maxTags | No | Maximum number of tags to suggest (default: 5) | |
| minConfidence | No | Minimum confidence threshold 0-1 (default: 0.7) | |
| includeExisting | No | Include existing tags when applying (default: true) | |
| categories | No | Filter suggestions by category | |
| examples | No | Training examples for train action | |
| enableAutoTag | No | Enable/disable auto-tagging (for config) | |
| defaultCategories | No | Default categories to use (for config) | |
| customPatterns | No | Custom patterns for tag detection (for config) | |
| useAI | No | Use AI for tag suggestions (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavioral traits. It mentions 'apply' which implies session modification, but lacks details on persistence, idempotency, rate limits, or side effects. The description adds minimal behavioral context beyond the action names.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: first states the overarching purpose, second enumerates actions. It is front-loaded, concise, and every word adds value. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 13 parameters and 4 actions, but the description does not explain how actions map to parameter sets, expected workflows, or return values. Since there is no output schema, the agent lacks information about what the tool returns (e.g., suggested tags list). The description is incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing detailed param explanations. The description adds value by mapping actions to parameters (e.g., suggest/apply need sessionId, content), but the schema already specifies this via param descriptions. The description does not add significant new semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool auto-tags sessions and lists four actions (suggest, apply, train, config). It specifies the verb and resource, making the main purpose obvious, though it does not explicitly differentiate from sibling tools like muse_analyze_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. There's no mention of prerequisites, when not to use it, or comparison with sibling tools. The action enumeration is information but not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_batchA
Executes multiple tool operations in batch. Actions: execute (run batch), preview (plan without executing), status (check job status), cancel (stop running job), history (list past jobs). Supports sequential and parallel execution with dependency management.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| operations | No | Array of operations to execute | |
| mode | No | Execution mode (default: sequential) | |
| stopOnError | No | Stop batch on first error (default: true) | |
| timeout | No | Timeout per operation in ms (default: 60000) | |
| jobId | No | Job ID for status/cancel actions | |
| limit | No | Limit for history action (default: 20) | |
| status | No | Filter history by status | |
| includeResults | No | Include operation results in response (default: true) | |
| includeErrors | No | Include error details in response (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not disclose behavioral traits beyond what is implied by the actions. With no annotations, it fails to mention potential destructive nature, authorization requirements, rate limits, or error handling nuances beyond stopOnError. For a tool that executes operations, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and clearly communicates the tool's purpose and key features. It is well-structured and front-loaded with the action list. Minor improvement could be trimming redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, no output schema), the description lacks information about return values, response format, or error details. It covers usage but misses critical context for an agent to anticipate behavior fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all parameters. The description does not add extra semantic value beyond summarizing the actions; thus it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a batch executor for multiple tool operations, listing specific actions (execute, preview, status, cancel, history) and highlighting its ability to handle sequential/parallel execution with dependency management. It distinguishes itself from sibling tools which are individual operation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool (for batching multiple operations) and explains actions and modes. However, it lacks explicit 'when not to use' guidance or mention of alternatives (e.g., calling tools individually).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_collect_code_contextB
Collects code blocks and conversation summaries into a structured context for documentation. Supports automatic language detection, duplicate removal, and statistics.
| Name | Required | Description | Default |
|---|---|---|---|
| codeBlocks | No | Array of code blocks with language and code content | |
| rawText | No | Raw text containing code blocks to extract (alternative to codeBlocks) | |
| conversationSummary | Yes | Summary of the conversation or context | |
| tags | No | Optional tags for categorization (language tags auto-added) | |
| autoDetectLanguage | No | Automatically detect programming language (default: true) | |
| removeDuplicates | No | Remove duplicate code blocks (default: true) | |
| includeStats | No | Include code statistics in output (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It lists key features: automatic language detection, duplicate removal, and statistics. However, it does not mention side effects (e.g., does it modify state?), behavior when both codeBlocks and rawText are provided, or whether the tool is idempotent. The two sentences add some context but are not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and 22 words, very concise. It front-loads the primary purpose and then lists key features. Every word earns its place; no redundant or vague phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite 7 parameters (1 required) and no output schema, the description does not explain what the output looks like (e.g., structured JSON), the relationship between codeBlocks and rawText (mutual exclusivity?), or the behavior when parameters conflict. A tool of this complexity needs more context to be fully understood.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so each parameter is described in the schema. The description only summarizes features (auto-detect, duplicate removal, stats) that directly correspond to parameters. It adds no new meaning beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool collects code blocks and conversation summaries into structured context for documentation, with verbs 'collects' and 'supports'. It distinguishes from sibling tools like muse_analyze_code (analysis) and muse_auto_tag (tagging). However, 'structured context' is somewhat vague and could be more specific about the output format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool vs alternatives. It neither states when it is appropriate nor mentions any prerequisites or complements. This leaves the agent without information to decide among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_create_session_logC
Creates daily or session-based vibe coding session logs.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the session | |
| summary | Yes | Summary of what was accomplished | |
| codeContexts | No | Array of code contexts from the session | |
| designDecisions | No | Array of design decisions made | |
| duration | No | Session duration in seconds | |
| tags | No | Tags for the session | |
| options | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'creates' implying a write operation, but does not disclose side effects (e.g., file creation, database write), permission requirements, or overwrite/append behavior. Lacks transparency for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. Concise and directly states the purpose. Could be slightly more structured but remains efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters and no output schema, the description is too brief. It does not explain where logs are saved, their format details beyond what's in schema, or how the tool interacts with the system. Incomplete for a tool with nested objects and multiple options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the input schema already documents most parameters. The description adds 'daily or session-based', which aligns with the options.logType enum but does not provide additional meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'creates' and identifies the resource 'vibe coding session logs' with type differentiation ('daily or session-based'). Clearly states what the tool does, but does not distinguish from sibling tools like muse_export_session or muse_session_history.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., muse_export_session). No context on prerequisites or exclusions. The usage is only implied through the description, which is insufficient given the number of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_export_sessionA
Exports vibe coding sessions to various formats (Markdown, JSON, HTML). Use for creating shareable documentation, backups, or reports from session history.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionIds | No | Specific session IDs to export. If omitted, exports all sessions. | |
| format | Yes | Output format: markdown (readable docs), json (structured data), html (web page) | |
| outputPath | No | File path to save the export. If omitted, returns content directly. | |
| includeMetadata | No | Include session metadata (ID, timestamps, tags). Default: true | |
| includeCodeBlocks | No | Include code blocks from code contexts. Default: true | |
| includeDesignDecisions | No | Include design decisions. Default: true | |
| template | No | Template style: minimal (brief), default (balanced), detailed (comprehensive), report (formal) | |
| title | No | Document title. Default: "Vibe Coding Session Export" | |
| bundleMultiple | No | Combine multiple sessions into one document. Default: true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits beyond the basic purpose. It does not state that the tool is non-destructive (read-only), nor does it mention authorization needs, rate limits, or side effects like file writing. The description is too minimal for a mutation-free guarantee.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with no wasted words. Front-loads the verb and resource, lists formats, and gives use cases. Ideal conciseness for a focused description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an export tool with no output schema and well-documented parameters, the description covers the core functionality and use cases. It could mention that the tool does not modify sessions or what happens when outputPath is provided, but overall it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well documented in the schema. The description adds no additional meaning beyond what the schema already provides. Baseline score of 3 is appropriate as the schema handles the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool exports vibe coding sessions to Markdown, JSON, HTML, and mentions use cases (documentation, backups, reports). However, it does not explicitly differentiate from siblings like muse_create_session_log or muse_generate_dev_document, which also produce documentation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use cases: 'creating shareable documentation, backups, or reports from session history.' Does not mention when not to use it or alternatives, but the context is clear enough for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_generate_dev_documentB
Generates README, DESIGN, TUTORIAL, or CHANGELOG documents in Markdown format. Supports multiple languages, badges, API reference, FAQ, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| documentType | Yes | Type of document to generate (README, DESIGN, TUTORIAL, CHANGELOG, API, ARCHITECTURE) | |
| title | No | Title of the document | |
| projectName | No | Name of the project | |
| description | No | Project or document description | |
| language | No | Language for section headers (default: en) | |
| author | No | Author name | |
| version | No | Version number | |
| license | No | License type (e.g., MIT, Apache-2.0) | |
| repository | No | Repository URL | |
| badges | No | Shield.io badges | |
| features | No | List of features | |
| installation | No | Installation instructions | |
| apiReference | No | API documentation | |
| faq | No | Frequently asked questions | |
| contributors | No | List of contributors | |
| codeContexts | No | Array of code contexts to include | |
| designDecisions | No | Array of design decisions to include | |
| customSections | No | Custom sections to add (key: section title, value: content) | |
| includeTableOfContents | No | Whether to include a table of contents |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, and the description does not disclose behavioral traits like whether the tool saves files to disk, overwrites existing files, requires authentication, or has rate limits. It only says 'Generates' without explaining what happens to the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently communicates the tool's purpose and key capabilities. It is not verbose, but could be improved by structuring the list of features for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 19 parameters (many nested) and no output schema, the description is too brief. It fails to explain the return value or behavior, leaving agents without enough context to understand the tool's full functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds some context by listing supported features (badges, API reference, FAQ) that correspond to parameters, but does not explain parameter formats or relationships beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Generates' and the resource 'dev documents' (README, DESIGN, TUTORIAL, CHANGELOG) in Markdown format. It lists supported features (multiple languages, badges, API reference, FAQ) and is distinct from sibling tools like 'muse_analyze_code' or 'muse_publish_document'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to generate vs publish documents. No prerequisites, context, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_gitB
Git integration for vibe coding sessions. Get repository status, commit history, diffs, branch info. Capture git snapshots for sessions and extract design decisions from commit messages.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: status (repo state), log (commit history), diff (changes), branch (branch info), snapshot (full context), extractDecisions (from commits), linkToSession (attach to session) | |
| repoPath | No | Path to git repository. Defaults to current working directory. | |
| includeUntracked | No | Include untracked files in status (default: true) | |
| limit | No | Max commits to return for log/extractDecisions (default: 20, max: 500) | |
| author | No | Filter commits by author name or email | |
| since | No | Filter commits after date (e.g., "2024-01-01", "1 week ago") | |
| until | No | Filter commits before date | |
| grep | No | Search commit messages for keyword | |
| oneline | No | Compact log format (default: false) | |
| diffType | No | Diff type: staged, unstaged, or all changes (default: all) | |
| fromRef | No | Source commit/branch/tag for diff | |
| toRef | No | Target commit/branch/tag for diff | |
| path | No | Filter by file or directory path | |
| contextLines | No | Lines of context around changes (default: 3) | |
| stat | No | Include stat summary in diff (default: true) | |
| includeRemote | No | Include remote branches (default: true) | |
| verbose | No | Include last commit info per branch (default: false) | |
| includeDiff | No | Include current diff in snapshot (default: true) | |
| includeLog | No | Include recent commits in snapshot (default: true) | |
| logLimit | No | Commits to include in snapshot (default: 10) | |
| includeStash | No | Include stash list in snapshot (default: false) | |
| patterns | No | Custom regex patterns for detecting design decisions | |
| language | No | Language for analysis (default: auto-detect) | |
| sessionId | No | Session ID to link git context to (required for linkToSession) | |
| snapshotType | No | Detail level when linking to session (default: minimal) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It does not mention whether actions are read-only or destructive, any side effects (e.g., linking to a session may modify data), authentication requirements, or rate limits. This is a significant gap for a multi-action tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) and front-loaded with the tool's purpose. It lists key capabilities without unnecessary detail, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a high parameter count (25) and multiple actions, the description is too brief to provide complete guidance. It does not explain how actions relate to parameters, what each action returns, or how to combine parameters effectively. With no output schema or annotations, the description should offer more context to compensate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 25 parameters adequately. The description adds overall context (e.g., listing actions) but does not enhance understanding of individual parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'Git integration for vibe coding sessions' and lists specific capabilities: getting repository status, commit history, diffs, branch info, capturing snapshots, and extracting design decisions. This distinguishes it from sibling tools that focus on analysis, tagging, or session management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for Git-related tasks within coding sessions but does not explicitly guide when to use this tool versus alternatives like muse_summarize_design_decisions. There is no mention of prerequisites, when not to use it, or comparison with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_normalize_for_platformA
Converts Markdown documents for Notion, GitHub Wiki, or Obsidian platforms. Handles links, images, code blocks, tables, frontmatter, and platform-specific syntax.
| Name | Required | Description | Default |
|---|---|---|---|
| document | Yes | The Markdown document to normalize | |
| platform | Yes | Target platform for the document | |
| options | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for transparency. It discloses that the tool handles various markdown elements, but it does not mention side effects (e.g., whether the original document is modified), return type (likely a string), or error conditions. The description is moderately transparent but could be improved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the main action and key details. Every word adds value; there is no redundancy or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and supported elements but lacks information about the output format (e.g., returns a string) and does not discuss error handling or limits. For a tool with nested options and no output schema, the description should provide more context about the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes all parameters and sub-properties, so the description adds limited new meaning. However, it reinforces that the platform parameter targets specific platforms and hints at the scope of options. Since schema coverage is high, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: converting Markdown documents for specific platforms (Notion, GitHub Wiki, Obsidian) and lists the elements handled. It distinguishes itself from sibling tools like muse_analyze_code or muse_publish_document by focusing on normalization for target platforms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks guidance on when to use this tool versus alternatives. For example, it does not mention that muse_publish_document might be more suitable for full publication workflows, or provide any exclusion criteria. The usage context is only implied by the platform enumeration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_project_profileB
Manages project profiles for vibe coding sessions. Save project-specific settings for documentation, code analysis, and publishing.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: create, get, update, delete, list, setActive, getActive, clone | |
| profileId | No | Profile ID (for get, update, delete, setActive, clone) | |
| name | No | Profile name (required for create, optional for get by name) | |
| newName | No | New name for cloned profile (required for clone) | |
| description | No | Profile description | |
| projectPath | No | Path to the project directory | |
| repository | No | Git repository URL | |
| version | No | Project version | |
| publishing | No | Publishing settings (defaultPlatform, platformSettings, autoPublish) | |
| codeAnalysis | No | Code analysis settings (defaultLanguage, defaultDiagramTypes, excludePatterns, useAI) | |
| documentation | No | Documentation settings (defaultDocType, language, author, license, includeTableOfContents) | |
| defaultTags | No | Default tags applied to all sessions | |
| tagCategories | No | Tag categories for organization | |
| team | No | Team information | |
| metadata | No | Custom metadata | |
| limit | No | Max results for list (default: 50) | |
| offset | No | Skip results for list (default: 0) | |
| sortBy | No | Sort field for list | |
| sortOrder | No | Sort order for list |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description uses the vague verb 'manages' and emphasizes 'save', which underrepresents the full range of actions (create, get, update, delete, list, setActive, getActive, clone). With no annotations, the description carries the burden of behavioral disclosure but remains incomplete and somewhat misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences that avoid fluff and front-load the purpose. However, it is so brief that it omits important aspects of the tool's functionality. For a tool with 19 parameters, this brevity borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (19 parameters, nested objects, multiple actions, no output schema), the description is too minimal. It does not explain the profile lifecycle, the significance of actions like setActive/getActive, or how profiles integrate with other tools. The description leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description mentions 'documentation, code analysis, and publishing' which aligns with schema parameters, but adds no extra meaning beyond what the schema already provides. It does not enhance understanding of parameter relationships or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool manages project profiles for vibe coding sessions, specifying the domains (documentation, code analysis, publishing). This distinguishes it from sibling tools like muse_analyze_code or muse_publish_document, which operate on profiles rather than managing them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention that profiles are prerequisites for other tools, nor does it explain when to create, get, update, or list. Context is implied but missing direct usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_publish_documentB
Publishes generated documents to external platforms (Notion, GitHub Wiki, Obsidian, Confluence, Slack, or Discord).
| Name | Required | Description | Default |
|---|---|---|---|
| document | Yes | The document content to publish | |
| title | Yes | Title of the document | |
| platform | Yes | Target platform for publishing | |
| options | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only states the action (publish) but omits details like whether it creates or updates, authentication requirements, rate limits, or handling of failures. This lack of transparency is a significant gap for a tool interacting with external APIs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that front-loads the core purpose. It is efficient, though slightly oversimplified, and could benefit from a brief note on when to use or a reference to the schema for details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple platforms, nested options, no output schema), the description lacks crucial context such as return values, error handling, prerequisites, or authentication setup. It is inadequate for an agent to fully understand the tool's behavior and expected outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds minimal value beyond the input schema. The schema already provides descriptions for all parameters, including nested options, and the enum list for platform. The description merely echoes the platforms without clarifying parameter usage or providing additional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Publishes' and the resource 'generated documents', listing all six target platforms. It effectively differentiates from sibling tools, which are mostly analysis and generation tools, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when you need to publish a document to an external platform, and the sibling tools are distinct enough not to cause confusion. However, it does not explicitly mention when not to use it or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_session_historyC
Manages vibe coding session history. Save, retrieve, search, and manage past coding sessions with their code contexts and design decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform: save (create new), get (retrieve by ID), update (modify existing), delete (remove), list (get all), search (find by keyword), stats (storage statistics) | |
| sessionId | No | Session ID (required for get, update, delete actions) | |
| title | No | Session title (required for save, optional for update) | |
| summary | No | Session summary (required for save, optional for update) | |
| tags | No | Tags for categorization | |
| codeContexts | No | Array of code context objects | |
| designDecisions | No | Array of design decision objects | |
| metadata | No | Additional metadata | |
| limit | No | Maximum results to return (for list/search, default: 50) | |
| offset | No | Number of results to skip (for list, default: 0) | |
| filterTags | No | Filter by tags (for list) | |
| sortBy | No | Sort field (for list, default: updatedAt) | |
| sortOrder | No | Sort order (for list, default: desc) | |
| keyword | No | Search keyword (required for search action) | |
| searchIn | No | Fields to search in (for search, default: all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as persistence behavior, side effects, or permission requirements. The word 'manages' is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is clear and not overly verbose. It efficiently states the tool's purpose without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 15 parameters, no output schema, and no annotations, the description is too brief. It does not explain return values or behavior for each action, leaving significant gaps for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters have descriptions. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it manages vibe coding session history with save, retrieve, search, and manage actions. However, it does not differentiate from siblings like muse_session_stats, which also deal with sessions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like muse_create_session_log or muse_session_stats. The description is generic and does not specify prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_session_statsA
Provides analytics and insights about coding sessions. Actions: overview (summary stats), languages (language breakdown), timeline (activity over time), tags (tag analysis), productivity (work patterns), trends (compare periods).
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Type of statistics to retrieve | |
| since | No | Start date for filtering (ISO date or relative like "1 week ago") | |
| until | No | End date for filtering | |
| period | No | Time period for grouping (default: all) | |
| tags | No | Filter by specific tags | |
| languages | No | Filter by specific languages | |
| format | No | Output format (default: summary) | |
| includeInsights | No | Include AI-generated insights (default: true) | |
| compareWith | No | Compare with previous period or average |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It states the tool 'provides analytics' but does not mention whether it is read-only, requires authentication, or has rate limits. For a stats tool, it is likely safe, but the description lacks explicit behavioral context, earning a 2.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence plus a parenthetical list of actions. Every word is necessary; there is no fluff. It is front-loaded with the core purpose and quickly enumerates the available actions. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 9 parameters and no output schema. The description explains what each action provides (e.g., 'language breakdown'), but it does not describe the return format or structure of the analytics. Given the complexity, the description is adequate but leaves gaps on output expectations, earning a 3.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing a baseline of 3. The description adds value by elaborating on the 'action' parameter's enum values (e.g., 'overview' as summary stats, 'languages' as language breakdown). This clarifies what each action returns beyond the schema's simple 'Type of statistics to retrieve'. The extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides analytics and insights about coding sessions and lists specific actions like overview, languages, timeline, etc. This distinguishes it from sibling tools such as muse_session_history (which likely returns raw session data) and muse_analyze_code (code analysis). The verb 'provides' and resource 'analytics and insights' are specific and informative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like muse_session_history or muse_analyze_code. However, the listed actions (overview, languages, timeline, etc.) imply different use cases, so an agent can infer context. No when-not or alternative guidance is provided, which limits the score to 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_summarize_design_decisionsA
Extracts and analyzes key architectural and design decisions from conversation logs. Supports both English and Korean, with importance scoring and keyword extraction. Set useAI=true for Claude-powered enhanced analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| conversationLog | Yes | The full conversation log text to analyze | |
| projectContext | No | Optional context about the project for better categorization | |
| language | No | Language of the conversation (default: auto-detect) | |
| includeImportanceScore | No | Include importance scoring for each decision (default: true) | |
| extractRelatedCode | No | Extract related code blocks (default: true) | |
| maxDecisions | No | Maximum number of decisions to extract (default: 20) | |
| useAI | No | Use Claude AI for enhanced analysis. Requires ANTHROPIC_API_KEY environment variable. (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses features (language support, importance scoring, keyword extraction) and prerequisites (ANTHROPIC_API_KEY for AI). However, it does not mention any side effects or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loading the main purpose, then listing features, then a config hint. No wasted words, efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, no output schema, and no annotations, the description adequately covers all major features and behaviors. It provides enough context for an AI agent to understand and use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds context beyond individual parameter descriptions by summarizing the overall purpose and binding parameters together. It also highlights the useAI parameter's requirement, which is not detailed in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Extracts and analyzes key architectural and design decisions from conversation logs,' with specific verb and resource. This distinguishes it from sibling tools like muse_analyze_code and muse_session_stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide guidance on when to use this tool versus alternatives, nor does it mention when not to use it. It only mentions setting useAI for enhanced analysis but lacks explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
muse_templateC
Manages custom document templates with variable substitution. Actions: create, get, update, delete, list, apply (render with data), preview (render preview), import, export.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform | |
| templateId | No | Template ID | |
| name | No | Template name | |
| type | No | Template type | |
| content | No | Template content with {{variables}} | |
| description | No | Template description | |
| variables | No | Template variables definition | |
| data | No | Variable values for apply/preview | |
| format | No | Import/export format (default: json) | |
| filePath | No | File path for import/export | |
| filterType | No | Filter list by type | |
| limit | No | Limit results for list | |
| offset | No | Offset for list pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must cover behavioral traits. It only lists actions without mentioning idempotency, side effects, authorization needs, or what happens on errors. The lack of details about actions like 'delete' or 'update' is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one sentence followed by a list of actions. It is front-loaded with the core purpose. However, the list could be more structured (e.g., grouping actions by type), but still minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 13 parameters, nested objects, and no output schema, the description is insufficient. It does not explain the template lifecycle, how actions interact, or what results to expect. The schema covers parameter details, but the overall picture is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no extra parameter context beyond the schema. The action list is redundant with the schema's enum. No new meaning is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Manages custom document templates with variable substitution', which clearly identifies the tool's domain. The list of actions (create, get, etc.) further specifies functionality. However, it does not differentiate from sibling tools beyond the subject matter, which are all distinct anyway.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There are no prerequisites, exclusions, or context for selecting specific actions. The sibling tools are all different, but the description offers no decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
v1.0.0- First observed
muse_analyze_code - First observed
muse_auto_tag - First observed
muse_batch - First observed
muse_collect_code_context - First observed
muse_create_session_log - First observed
muse_export_session - First observed
muse_generate_dev_document - First observed
muse_git - First observed
muse_normalize_for_platform - First observed
muse_project_profile - First observed
muse_publish_document - First observed
muse_session_history - First observed
muse_session_stats - First observed
muse_summarize_design_decisions - First observed
muse_template
TDQS
Scored across 15 tools
Most tools have clearly distinct purposes, but there is minor overlap among muse_create_session_log, muse_export_session, and muse_session_history, which all deal with session records. Also, muse_collect_code_context and muse_analyze_code both involve code but serve different goals.
The tools follow a consistent muse_verb_noun pattern for most names (e.g., analyze_code, create_session_log). However, 'muse_git' uses a noun instead of a verb-noun, and 'muse_batch' lacks a specific object, causing slight inconsistency.
With 15 tools, the count sits at the upper bound of the ideal range (3-15). Each tool serves a distinct function within the documentation domain, so it's still well-scoped, though a few could potentially be merged.
The tool set covers code analysis, session management, documentation generation, publishing, templates, and git integration, providing a comprehensive workflow. Minor gaps exist, such as no explicit tool for deleting sessions or documents, but the core lifecycle is addressed.
Maintenance
Related MCP Connectors
Versioned documentation registry and semantic search for AI tools and coding assistants.
Shared memory for coding agents. Stop re-explaining your codebase every session.
Your AI writes the doc. People comment. Your AI updates it.
Serves your design system and coding standards to coding agents, so they stop guessing.
Related MCP Servers
- -licenseBqualityNot gradedmaintenanceAutomates the creation of standardized documentation by extracting information from source files and applying templates, with integration capabilities for GitHub, Google Drive, and Perplexity AI.33-
- AlicenseAqualityDmaintenanceAutomatically analyzes codebases and generates beautiful Mintlify-style documentation with API references, code examples, and changelogs. Keeps documentation synchronized with code changes across multiple programming languages.81MIT
- AlicenseNot gradedqualityDmaintenanceAutomatically generates comprehensive wiki documentation from any codebase, including Mermaid diagrams, source code citations, and automated quality checks.3MIT
- AlicenseNot gradedqualityDmaintenanceAnalyzes codebases to automatically generate README, API docs, architecture diagrams, and CHANGELOG.4 npmMIT