Vibe Coding Documentation MCP (MUSE)
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 "Install 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
Auto-documents your AI coding sessions — wire it as a Claude Code hook and your daily README / design-decision log / refactor-PR description writes itself.
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 in commit a1b2c3d over the first one you tried. Most people solve this with manual journaling that lasts two weeks, or by trawling git log after the fact.
vibe-coding-mcp solves it differently: it sits as an MCP server next to your editor, collects code blocks and design decisions out of the conversation, generates README / DESIGN / API / ARCHITECTURE documents from them, and publishes to Notion / GitHub Wiki / Obsidian / Confluence / Slack / Discord — all from inside the chat with Claude. Wire it as a Claude Code PostToolUse + Stop hook (one block of JSON, see Quickstart) and every session auto-captures into ~/.vibe-coding-mcp/sessions/ without you typing anything. The bundled daily-vibe-log prompt then rolls today's captures into one document.
The Phase 3 refactor (v2.14.0, May 2026) collapsed the two-entry-point drift (index.ts had 7 tools, stdio.ts had 15) into a single transport-agnostic registry, so HTTP and stdio now expose the same 15 tools, 3 resources, and 3 prompts.
Related MCP server: Autonomous Documentation MCP
What's new in v2.14.0
One registry, two entry points, zero drift.
src/core/toolRegistry.tsis the single source of truth — bothindex.ts(Streamable HTTP) andstdio.ts(bin) load the same 15 tools, 3 resources, and 3 prompts.Migrated to high-level
McpServerAPI (SDK 1.25+).McpServer.registerTool() / .resource() / .prompt()instead of low-levelsetRequestHandler(CallToolRequestSchema). Adding a tool is now a one-lineregister()call.Streamable HTTP (MCP 2025-03-26), not SSE.
POST /mcpat:3000. The legacy/sseroute returns HTTP 410 with a pointer.3 new MCP Resources for
@-mention.vibe-coding://sessions/list(captured sessions),vibe-coding://sessions/{id}(one session in full),vibe-coding://config(current platform creds).3 new MCP Prompts.
daily-vibe-log(roll today's sessions into one doc),document-session(one session → README/DESIGN/API/etc. → publish),refactor-context(session → PR description with decisions + AST analysis + git diff).+34 tests (149 → 183 passing) covering the registry, resources, prompts, and the McpServer factory.
5-minute Quickstart
# 1. Install via Claude Code
claude mcp add vibe-coding-mcp -- npx -y vibe-coding-mcpWire it as a Claude Code hook so every session auto-captures. Add this to
~/.claude/settings.json:
{
"mcpServers": {
"vibe-coding-mcp": {
"command": "npx",
"args": ["-y", "vibe-coding-mcp"]
}
},
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write|NotebookEdit",
"hooks": [{
"type": "command",
"command": "claude mcp call vibe-coding-mcp muse_session_history '{\"action\":\"save\",\"title\":\"auto-capture\",\"summary\":\"PostToolUse\",\"tags\":[\"auto-capture\"]}' >/dev/null 2>&1 || true"
}]
}
],
"Stop": [
{
"hooks": [{
"type": "command",
"command": "claude mcp call vibe-coding-mcp muse_create_session_log '{\"title\":\"Claude Code session\",\"summary\":\"Stop hook\",\"options\":{\"logType\":\"session\"}}' >/dev/null 2>&1 || true"
}]
}
]
}
}Restart Claude Code. The next time you edit a file in a session, capture starts.
After a session, try this in Claude:
오늘 캡처된 세션들 합쳐서 daily vibe log 만들어줘. (use the /daily-vibe-log prompt)Expected: Claude calls
muse_session_history(action='list', filterTags=['auto-capture'])to gather today's sessions, thenmuse_create_session_logto compose, then offers to publish to Notion / Obsidian / GitHub Wiki. Seedocs/AUTO_CAPTURE.mdfor hook customization (e.g. pipinggit diff --statinto the capture payload).
Real use cases
1. "I want today's coding session as a daily log without lifting a finger"
Problem: You'll never sit down at the end of the day and write a journal entry. Nobody does.
With this MCP: the PostToolUse + Stop hooks save sessions automatically into ~/.vibe-coding-mcp/sessions/. Next morning, run the /daily-vibe-log prompt and Claude reads vibe-coding://sessions/list for today, compiles a Markdown log (problems, decisions, code blocks, blockers), and offers to publish to Notion.
Why it's better than git log or Notion templates: git log knows what you committed, not why you picked option B over option A. The session capture preserves the conversation context that the diff doesn't.
2. "I need a PR description for a refactor that touched 11 files"
Problem: Writing a good PR description for a refactor takes 15 minutes of re-reading the diff. Most refactor PRs end up with a one-liner and reviewers hate it.
With this MCP: invoke the /refactor-context prompt against the session you just finished. The prompt chains muse_session_history(get) → muse_summarize_design_decisions → muse_analyze_code (AST + Mermaid diagram) → muse_git(diff) and outputs a structured PR description with: Why (decisions), What changed (file-by-file from AST), Trade-offs (decisions section), and How to review (diagram of new architecture).
Why it's better than asking Claude to "write a PR description": the prompt explicitly pulls the design-decision summary out of the session, not just the diff — reviewers get the why, not a paraphrased diff.
3. "I want my Obsidian vault to fill itself with my design decisions"
Problem: You make architectural decisions during pair-programming and they evaporate. ADR templates require manual discipline you don't have.
With this MCP: call muse_summarize_design_decisions over your session, then muse_publish_document({ platform: 'obsidian', vault: '~/MyVault/decisions' }). The Obsidian platform writer adds YAML frontmatter (tags, date, session-id back-reference), so the new note shows up correctly in your vault graph view.
Why it's better than a Notes/ADR-template.md: the decision text is generated from the actual code+conversation, not from your tired post-session memory. And it works across 6 platforms (Notion, GitHub Wiki, Obsidian, Confluence, Slack, Discord) with one tool call.
Tools / Resources / Prompts
Name | Type | What it does |
| tool | Pull code blocks + conversation summary out of a chat into a structured session |
| tool | Extract architectural / design decisions (problem → options → choice → trade-off) |
| tool | AST analysis (TypeScript / Python / Go) + Mermaid diagrams (Class / Flow / Sequence / ER / Architecture) |
| tool | README / DESIGN / TUTORIAL / CHANGELOG / API / ARCHITECTURE generator |
| tool | Markdown normalization for Notion / GitHub Wiki / Obsidian / Confluence / Slack / Discord quirks |
| tool | Publish to any of the 6 supported platforms |
| tool | Daily or per-session log composition |
| tool |
|
| tool | Export one session to Markdown / JSON / HTML |
| tool | Per-project settings (default platform, default tags, language) |
| tool |
|
| tool | Productivity dashboard: sessions/day, decisions/session, language breakdown |
| tool | AI tag suggestions for a session (Claude API, optional) |
| tool | Custom doc templates (per project / per output type) |
| tool | Compose multiple tool calls sequentially or in parallel in one round-trip |
| resource | List of captured sessions ( |
| resource | One session's full body, code blocks, decisions, tags |
| resource | Current platform configuration (which integrations are wired) |
| prompt | Roll today's captured sessions into one daily log |
| prompt | One session → dev document → publish |
| prompt | Session → PR description with decisions + AST + git diff |
How it works
Claude (or any MCP client)
│
┌────────────────────────┴────────────────────────┐
▼ ▼
src/index.ts (Streamable HTTP, POST /mcp at :3000) src/stdio.ts (bin)
│ │
└────────────────────────┬─────────────────────────┘
▼
src/core/mcpServerFactory.ts
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
toolRegistry.ts resources.ts prompts.ts
(15 muse_* tools) (3 resources) (3 prompts)
│
▼
src/tools/*.ts (15 tool implementations)
│
▼
src/core/sessionStorage.ts (~/.vibe-coding-mcp/sessions/)
src/platforms/*.ts (notion / github-wiki / obsidian / ...)Three design choices that matter:
Single registry, two transports. HTTP and stdio both call
createMcpServer()frommcpServerFactory.ts. There's no "stdio has feature X that HTTP doesn't" — the v2.13.0 drift is closed.Sessions are local files.
~/.vibe-coding-mcp/sessions/<id>.json— no remote DB, no telemetry, you own the data. Trivial to back up, grep, or sync via Dropbox.Publishing is per-platform, not one-size-fits-all. Notion expects blocks, GitHub Wiki expects sidebar markdown, Obsidian expects frontmatter —
muse_normalize_for_platformhandles each one's quirks somuse_publish_documentcan stay a single tool.
Configuration
Env var | Required for | Default | Purpose |
|
| — | Optional. Enables Claude-API-powered analysis |
| Notion publishing | — | Notion integration |
| GitHub Wiki publishing | — | Wiki push uses git over HTTPS |
| Confluence | — | Atlassian Cloud |
| Slack | — | Webhook URL |
| Discord | — | Webhook URL |
| HTTP mode only |
| Streamable HTTP bind port |
All env vars are optional. The MCP boots with zero env vars set — tools that require an integration return a structured INTEGRATION_NOT_CONFIGURED error instead of crashing.
Known limitations
Capture is hook-driven. The MCP itself doesn't sniff your editor — it relies on Claude Code calling it (via the
PostToolUse/Stophooks shown in Quickstart). Without hooks, you have to callmuse_session_historymanually.No shared session store yet. Sessions are local. Two laptops = two session histories. Cross-device sync is on the roadmap.
AST analysis covers TS / Python / Go. Rust, Swift, Kotlin, Ruby AST support is not in v2.x.
Publishing is one-way. We can write to Notion / Wiki / Obsidian etc. but we don't pull updates back into the session store.
When NOT to use this
If you want automatic git commit messages, use aicommits or similar — vibe-coding-mcp generates documents, not commit messages.
If you want team-wide knowledge base search across everyone's sessions, this MCP is single-user/local. Build a Notion DB on top and search there, or wait for the shared-store roadmap item.
If you want a manual journaling tool with rich editing, use Obsidian / Notion directly — this MCP is for the auto-capture-then-publish flow, not for hand-writing notes.
Comparison
vibe-coding-mcp | Manual journaling |
| Notion ADR template | |
Captures why (decisions), not just what | yes | yes (if you do it) | no | yes (if you do it) |
Survives skipping a day | yes (hooks) | no | n/a | no |
Code-block + AST analysis | yes | no | no | no |
Auto-publishes to 6 platforms | yes | no | no | Notion only |
Local-first session store | yes ( | varies | local | cloud |
Per-platform Markdown quirks handled | yes | no | n/a | n/a |
Roadmap
Shared session store. Opt-in cross-device sync (S3 / Git / WebDAV) and team mode where multiple users can search each other's captured sessions.
Auto-summary by topic. Group sessions by topic across weeks ("everything I did on the auth refactor in Q2") instead of by day.
Git commit-message integration. Surface
muse_summarize_design_decisionsoutput as a prepare-commit-msg suggestion.Wider AST language support. Rust + Swift + Kotlin AST + Mermaid diagrams.
Resource for cross-session search.
vibe-coding://search?q=...so the LLM can@-mention"all sessions about caching" in one go.
Contributing
PRs welcome. Adding a tool is now a single-file change in src/tools/<name>.ts + a one-line register() in src/core/toolRegistry.ts. CI runs typecheck + build + test on Node 20 against every PR.
Quick contributor loop:
git clone https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp
cd vibe-coding-mcp
npm install
npm run typecheck && npm test && npm run buildSecurity
This package validates paths, sanitizes filenames, enforces HTTPS-only + allowlisted hosts for webhook URLs, and wraps outbound HTTP with a timeout + exponential-backoff retry — see src/core/security.ts. The threat model, supported versions, and vulnerability reporting process are in SECURITY.md. CodeQL with the security-and-quality query pack runs on every push and weekly.
Report vulnerabilities privately via a GitHub Security Advisory: https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp/security/advisories/new.
License
MIT — SPDX identifier declared in package.json (a top-level LICENSE file will be added in the next release).
Maintainer
@yoon-k (MUSE-CODE-SPACE). Issues + support: https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp/issues.
한국어 요약
vibe-coding-mcp는 Claude(또는 다른 MCP 클라이언트)와 함께 AI 페어 코딩 세션을 자동으로 문서화해 주는 MCP 서버입니다. Claude Code의 PostToolUse + Stop 훅에 연결하면 매 세션이 ~/.vibe-coding-mcp/sessions/ 에 자동 저장되고, 15개 도구가 거기서 README / DESIGN / API / ARCHITECTURE / CHANGELOG / TUTORIAL 6종 문서를 생성한 뒤 Notion / GitHub Wiki / Obsidian / Confluence / Slack / Discord 6개 플랫폼에 발행합니다.
v2.14.0(2026-05-20)에서 HTTP/stdio 두 진입점이 단일 레지스트리 를 공유하도록 통합되었고, @-mention 가능한 MCP Resources 3개(sessions/list, sessions/{id}, config)와 Prompts 3개(daily-vibe-log, document-session, refactor-context)가 추가되었습니다.
설치 + 자동 캡처 훅 설정은 docs/AUTO_CAPTURE.md 참고. 변경 이력은 CHANGELOG.md, 위협 모델은 SECURITY.md.
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.
TDQS
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.
Generate, search, and manage codebase documentation on DocuWriter.ai. 72 tools incl. Autopilot.
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
- FlicenseNot gradedqualityCmaintenanceAutomatically generates comprehensive wiki documentation from any codebase, including Mermaid diagrams, source code citations, and automated quality checks.2
- FlicenseNot gradedqualityDmaintenanceEnables seamless integration between GitHub, Obsidian, and AI assistants (Claude/ChatGPT) for managing documentation and code workflows.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MUSE-CODE-SPACE/vibe-coding-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server