Skip to main content
Glama
MUSE-CODE-SPACE

Vibe Coding Documentation MCP (MUSE)

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.

CI npm License: MIT Maintained

English · 한국어


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.ts is the single source of truth — both index.ts (Streamable HTTP) and stdio.ts (bin) load the same 15 tools, 3 resources, and 3 prompts.

  • Migrated to high-level McpServer API (SDK 1.25+). McpServer.registerTool() / .resource() / .prompt() instead of low-level setRequestHandler(CallToolRequestSchema). Adding a tool is now a one-line register() call.

  • Streamable HTTP (MCP 2025-03-26), not SSE. POST /mcp at :3000. The legacy /sse route 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-mcp
  1. Wire 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"
        }]
      }
    ]
  }
}
  1. Restart Claude Code. The next time you edit a file in a session, capture starts.

  2. After a session, try this in Claude:

오늘 캡처된 세션들 합쳐서 daily vibe log 만들어줘. (use the /daily-vibe-log prompt)
  1. Expected: Claude calls muse_session_history(action='list', filterTags=['auto-capture']) to gather today's sessions, then muse_create_session_log to compose, then offers to publish to Notion / Obsidian / GitHub Wiki. See docs/AUTO_CAPTURE.md for hook customization (e.g. piping git diff --stat into 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_decisionsmuse_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

muse_collect_code_context

tool

Pull code blocks + conversation summary out of a chat into a structured session

muse_summarize_design_decisions

tool

Extract architectural / design decisions (problem → options → choice → trade-off)

muse_analyze_code

tool

AST analysis (TypeScript / Python / Go) + Mermaid diagrams (Class / Flow / Sequence / ER / Architecture)

muse_generate_dev_document

tool

README / DESIGN / TUTORIAL / CHANGELOG / API / ARCHITECTURE generator

muse_normalize_for_platform

tool

Markdown normalization for Notion / GitHub Wiki / Obsidian / Confluence / Slack / Discord quirks

muse_publish_document

tool

Publish to any of the 6 supported platforms

muse_create_session_log

tool

Daily or per-session log composition

muse_session_history

tool

save / get / update / delete / list / search / stats over ~/.vibe-coding-mcp/sessions/

muse_export_session

tool

Export one session to Markdown / JSON / HTML

muse_project_profile

tool

Per-project settings (default platform, default tags, language)

muse_git

tool

status / log / diff / branch / snapshot + design-decision extraction from commit messages

muse_session_stats

tool

Productivity dashboard: sessions/day, decisions/session, language breakdown

muse_auto_tag

tool

AI tag suggestions for a session (Claude API, optional)

muse_template

tool

Custom doc templates (per project / per output type)

muse_batch

tool

Compose multiple tool calls sequentially or in parallel in one round-trip

vibe-coding://sessions/list

resource

List of captured sessions (@-mention-able)

vibe-coding://sessions/{id}

resource

One session's full body, code blocks, decisions, tags

vibe-coding://config

resource

Current platform configuration (which integrations are wired)

prompt://vibe-coding/daily-vibe-log

prompt

Roll today's captured sessions into one daily log

prompt://vibe-coding/document-session

prompt

One session → dev document → publish

prompt://vibe-coding/refactor-context

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:

  1. Single registry, two transports. HTTP and stdio both call createMcpServer() from mcpServerFactory.ts. There's no "stdio has feature X that HTTP doesn't" — the v2.13.0 drift is closed.

  2. 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.

  3. Publishing is per-platform, not one-size-fits-all. Notion expects blocks, GitHub Wiki expects sidebar markdown, Obsidian expects frontmatter — muse_normalize_for_platform handles each one's quirks so muse_publish_document can stay a single tool.

Configuration

Env var

Required for

Default

Purpose

ANTHROPIC_API_KEY

muse_auto_tag, AI summarization

Optional. Enables Claude-API-powered analysis

NOTION_API_KEY + NOTION_DATABASE_ID

Notion publishing

Notion integration

GITHUB_TOKEN + GITHUB_REPO

GitHub Wiki publishing

Wiki push uses git over HTTPS

CONFLUENCE_BASE_URL + CONFLUENCE_USERNAME + CONFLUENCE_API_TOKEN

Confluence

Atlassian Cloud

SLACK_WEBHOOK_URL

Slack

Webhook URL

DISCORD_WEBHOOK_URL

Discord

Webhook URL

PORT

HTTP mode only

3000

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 / Stop hooks shown in Quickstart). Without hooks, you have to call muse_session_history manually.

  • 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

git log

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 (~/.vibe-coding-mcp/)

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_decisions output 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 build

Security

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 tools
muse_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe source code to analyze
languageNoProgramming language (auto-detected if not provided)
filenameNoOptional filename for context
generateDiagramsNoGenerate Mermaid diagrams (default: true)
diagramTypesNoTypes of diagrams to generate (default: all)
useAINoEnable AI-powered analysis for quality, security, and suggestions (default: false, requires ANTHROPIC_API_KEY)

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
sessionIdNoSession ID to analyze or update (for suggest/apply)
contentNoText content to analyze for tags
codeBlocksNoCode blocks to analyze
maxTagsNoMaximum number of tags to suggest (default: 5)
minConfidenceNoMinimum confidence threshold 0-1 (default: 0.7)
includeExistingNoInclude existing tags when applying (default: true)
categoriesNoFilter suggestions by category
examplesNoTraining examples for train action
enableAutoTagNoEnable/disable auto-tagging (for config)
defaultCategoriesNoDefault categories to use (for config)
customPatternsNoCustom patterns for tag detection (for config)
useAINoUse AI for tag suggestions (default: false)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
operationsNoArray of operations to execute
modeNoExecution mode (default: sequential)
stopOnErrorNoStop batch on first error (default: true)
timeoutNoTimeout per operation in ms (default: 60000)
jobIdNoJob ID for status/cancel actions
limitNoLimit for history action (default: 20)
statusNoFilter history by status
includeResultsNoInclude operation results in response (default: true)
includeErrorsNoInclude error details in response (default: true)

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeBlocksNoArray of code blocks with language and code content
rawTextNoRaw text containing code blocks to extract (alternative to codeBlocks)
conversationSummaryYesSummary of the conversation or context
tagsNoOptional tags for categorization (language tags auto-added)
autoDetectLanguageNoAutomatically detect programming language (default: true)
removeDuplicatesNoRemove duplicate code blocks (default: true)
includeStatsNoInclude code statistics in output (default: true)

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTitle of the session
summaryYesSummary of what was accomplished
codeContextsNoArray of code contexts from the session
designDecisionsNoArray of design decisions made
durationNoSession duration in seconds
tagsNoTags for the session
optionsNo

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdsNoSpecific session IDs to export. If omitted, exports all sessions.
formatYesOutput format: markdown (readable docs), json (structured data), html (web page)
outputPathNoFile path to save the export. If omitted, returns content directly.
includeMetadataNoInclude session metadata (ID, timestamps, tags). Default: true
includeCodeBlocksNoInclude code blocks from code contexts. Default: true
includeDesignDecisionsNoInclude design decisions. Default: true
templateNoTemplate style: minimal (brief), default (balanced), detailed (comprehensive), report (formal)
titleNoDocument title. Default: "Vibe Coding Session Export"
bundleMultipleNoCombine multiple sessions into one document. Default: true

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentTypeYesType of document to generate (README, DESIGN, TUTORIAL, CHANGELOG, API, ARCHITECTURE)
titleNoTitle of the document
projectNameNoName of the project
descriptionNoProject or document description
languageNoLanguage for section headers (default: en)
authorNoAuthor name
versionNoVersion number
licenseNoLicense type (e.g., MIT, Apache-2.0)
repositoryNoRepository URL
badgesNoShield.io badges
featuresNoList of features
installationNoInstallation instructions
apiReferenceNoAPI documentation
faqNoFrequently asked questions
contributorsNoList of contributors
codeContextsNoArray of code contexts to include
designDecisionsNoArray of design decisions to include
customSectionsNoCustom sections to add (key: section title, value: content)
includeTableOfContentsNoWhether to include a table of contents

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction: status (repo state), log (commit history), diff (changes), branch (branch info), snapshot (full context), extractDecisions (from commits), linkToSession (attach to session)
repoPathNoPath to git repository. Defaults to current working directory.
includeUntrackedNoInclude untracked files in status (default: true)
limitNoMax commits to return for log/extractDecisions (default: 20, max: 500)
authorNoFilter commits by author name or email
sinceNoFilter commits after date (e.g., "2024-01-01", "1 week ago")
untilNoFilter commits before date
grepNoSearch commit messages for keyword
onelineNoCompact log format (default: false)
diffTypeNoDiff type: staged, unstaged, or all changes (default: all)
fromRefNoSource commit/branch/tag for diff
toRefNoTarget commit/branch/tag for diff
pathNoFilter by file or directory path
contextLinesNoLines of context around changes (default: 3)
statNoInclude stat summary in diff (default: true)
includeRemoteNoInclude remote branches (default: true)
verboseNoInclude last commit info per branch (default: false)
includeDiffNoInclude current diff in snapshot (default: true)
includeLogNoInclude recent commits in snapshot (default: true)
logLimitNoCommits to include in snapshot (default: 10)
includeStashNoInclude stash list in snapshot (default: false)
patternsNoCustom regex patterns for detecting design decisions
languageNoLanguage for analysis (default: auto-detect)
sessionIdNoSession ID to link git context to (required for linkToSession)
snapshotTypeNoDetail level when linking to session (default: minimal)

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
documentYesThe Markdown document to normalize
platformYesTarget platform for the document
optionsNo

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction: create, get, update, delete, list, setActive, getActive, clone
profileIdNoProfile ID (for get, update, delete, setActive, clone)
nameNoProfile name (required for create, optional for get by name)
newNameNoNew name for cloned profile (required for clone)
descriptionNoProfile description
projectPathNoPath to the project directory
repositoryNoGit repository URL
versionNoProject version
publishingNoPublishing settings (defaultPlatform, platformSettings, autoPublish)
codeAnalysisNoCode analysis settings (defaultLanguage, defaultDiagramTypes, excludePatterns, useAI)
documentationNoDocumentation settings (defaultDocType, language, author, license, includeTableOfContents)
defaultTagsNoDefault tags applied to all sessions
tagCategoriesNoTag categories for organization
teamNoTeam information
metadataNoCustom metadata
limitNoMax results for list (default: 50)
offsetNoSkip results for list (default: 0)
sortByNoSort field for list
sortOrderNoSort order for list

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
documentYesThe document content to publish
titleYesTitle of the document
platformYesTarget platform for publishing
optionsNo

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform: save (create new), get (retrieve by ID), update (modify existing), delete (remove), list (get all), search (find by keyword), stats (storage statistics)
sessionIdNoSession ID (required for get, update, delete actions)
titleNoSession title (required for save, optional for update)
summaryNoSession summary (required for save, optional for update)
tagsNoTags for categorization
codeContextsNoArray of code context objects
designDecisionsNoArray of design decision objects
metadataNoAdditional metadata
limitNoMaximum results to return (for list/search, default: 50)
offsetNoNumber of results to skip (for list, default: 0)
filterTagsNoFilter by tags (for list)
sortByNoSort field (for list, default: updatedAt)
sortOrderNoSort order (for list, default: desc)
keywordNoSearch keyword (required for search action)
searchInNoFields to search in (for search, default: all)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesType of statistics to retrieve
sinceNoStart date for filtering (ISO date or relative like "1 week ago")
untilNoEnd date for filtering
periodNoTime period for grouping (default: all)
tagsNoFilter by specific tags
languagesNoFilter by specific languages
formatNoOutput format (default: summary)
includeInsightsNoInclude AI-generated insights (default: true)
compareWithNoCompare with previous period or average

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
conversationLogYesThe full conversation log text to analyze
projectContextNoOptional context about the project for better categorization
languageNoLanguage of the conversation (default: auto-detect)
includeImportanceScoreNoInclude importance scoring for each decision (default: true)
extractRelatedCodeNoExtract related code blocks (default: true)
maxDecisionsNoMaximum number of decisions to extract (default: 20)
useAINoUse Claude AI for enhanced analysis. Requires ANTHROPIC_API_KEY environment variable. (default: false)

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
templateIdNoTemplate ID
nameNoTemplate name
typeNoTemplate type
contentNoTemplate content with {{variables}}
descriptionNoTemplate description
variablesNoTemplate variables definition
dataNoVariable values for apply/preview
formatNoImport/export format (default: json)
filePathNoFile path for import/export
filterTypeNoFilter list by type
limitNoLimit results for list
offsetNoOffset for list pagination

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

B3.4/5.0
Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivitySlowing
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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