Skip to main content
Glama
MUSE-CODE-SPACE

Vibe Coding Documentation MCP (MUSE)

vibe-coding-mcp

Your AI coding sessions, documented automatically. Captures every Claude Code session from its transcript — prompts, files changed, commands, design decisions — then turns them into standups, weekly reports, ADRs and PR descriptions, and publishes them to Notion / Obsidian / GitHub Wiki / Confluence / Slack / Discord.

CI npm License: MIT Maintained

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 over the first. Most people solve this with manual journaling that lasts two weeks, or by trawling git log after the fact — and git log knows what changed, not why.

vibe-coding-mcp fixes that at the source. Claude Code already writes a full transcript of every session to ~/.claude/projects/. A tiny hook (vibe-coding-mcp hook) parses that transcript after every turn and stores a structured session locally: what you asked, which files were written or edited (with the code), which commands ran, how long it took, which branch, and the design decisions it can detect in the conversation. From there, 17 MCP tools turn those sessions into a standup, a weekly report, a daily log, a DESIGN / ADR / README / API doc, or a PR description, and publish them anywhere.

No API key needed for capture. Everything stays on your disk until you publish.

Related MCP server: Autonomous Documentation MCP

30-second install

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

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

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

Then, inside Claude Code:

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

Or just ask: "why did we choose JWT over sessions last week?", "document yesterday's session as a DESIGN doc and put it in my Obsidian vault", "write the PR description for this refactor".

Upgrading from v2.14? The old README's hook recipe used claude mcp call, which is not a real Claude Code command, so nothing was ever captured. Run npx vibe-coding-mcp init and remove the old entries. See docs/AUTO_CAPTURE.md.

What's new in v2.15.0

  • Auto-capture that works. vibe-coding-mcp hook reads Claude Code's hook JSON on stdin, parses the session transcript, and upserts one session per Claude session (idempotent, exit 0 always, nothing on stdout).

  • init / doctor / capture CLI. Install the hooks with a merge + backup, diagnose, backfill history.

  • muse_digest. Standup / weekly / monthly report over captured sessions, grouped by day · project · tag, English or Korean.

  • muse_capture_transcript. Capture on demand from inside the chat ("save this session").

  • Resources vibe-coding://sessions/today, vibe-coding://search/{query} and prompts /standup, /weekly-report.

  • Agent Skill. skills/vibe-coding/ tells any skill-aware agent (Claude Code, Cursor, Codex, …) when and how to use the server. npm run skill:pack builds the zip.

Real use cases

1. "Write my standup"

/standup calls muse_digest for yesterday and today plus muse_git status, and returns three bullet groups. Every bullet traces to a captured session title, file path, or decision — nothing invented.

2. "What did I ship this week?" (for your 1:1, Slack, or Notion)

/weekly-report calls muse_digest { period: "week", groupBy: "project" }: totals (sessions, hours, files, decisions), highlights (decisions with rationale), per-project sessions with the files they touched, and most-touched files. Optionally muse_publish_document to Notion / Slack.

3. "Why did we pick option B?"

@vibe-coding://search/<keyword> matches titles, summaries, tags and touched file paths. Open the session; designDecisions holds problem → choice → rationale, and summary holds the actual prompts you typed. This is the context a diff cannot give you.

4. "PR description for a refactor that touched 11 files"

/refactor-context chains session → muse_summarize_design_decisions → muse_analyze_code (AST + Mermaid) → muse_git diff into Why / What changed / Trade-offs / How to review.

5. "Fill my Obsidian vault with ADRs"

muse_summarize_design_decisions over a session, muse_generate_dev_document { documentType: "DESIGN" }, muse_publish_document { platform: "obsidian" } — frontmatter, tags and a session back-reference included.

Tools / Resources / Prompts

Name

Type

What it does

muse_capture_transcript

tool

(new) Claude Code transcript → stored session (capture / preview / list, all for backfill)

muse_digest

tool

(new) Standup / weekly / monthly report over captured sessions, grouped by day / project / tag

muse_session_history

tool

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

muse_session_stats

tool

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

muse_summarize_design_decisions

tool

Extract decisions (problem → options → choice → trade-off), EN/KO, optional Claude API

muse_analyze_code

tool

AST analysis (TypeScript / Python / Go) + Mermaid diagrams

muse_generate_dev_document

tool

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

muse_create_session_log

tool

Daily or per-session log composition

muse_export_session

tool

Export sessions to Markdown / JSON / HTML

muse_normalize_for_platform

tool

Markdown quirks for Notion / GitHub Wiki / Obsidian

muse_publish_document

tool

Publish to Notion / GitHub Wiki / Obsidian / Confluence / Slack / Discord

muse_collect_code_context

tool

Pull code blocks + summary out of raw text

muse_git

tool

status / log / diff / branch / snapshot + decision extraction from commits

muse_auto_tag

tool

Tag suggestions (Claude API, optional)

muse_template

tool

Custom doc templates

muse_project_profile

tool

Per-project defaults (platform, tags, language)

muse_batch

tool

Several tool calls in one round-trip

vibe-coding://sessions/list

resource

All captured sessions

vibe-coding://sessions/today

resource

(new) Sessions started today, with files touched

vibe-coding://sessions/{id}

resource

One session in full

vibe-coding://search/{query}

resource

(new) Keyword search incl. file paths

vibe-coding://config

resource

Which publish platforms are configured

/daily-vibe-log

prompt

Today's sessions → one daily log

/standup

prompt

(new) Yesterday / Today / Blockers

/weekly-report

prompt

(new) Shipped / Decisions / In progress / Next

/document-session

prompt

Session → dev document → publish

/refactor-context

prompt

Session → PR description

The skill

skills/vibe-coding/ is an Agent Skill (SKILL.md + references/ + scripts/setup.sh + assets/). It teaches the agent: check that capture is running before reporting, which tool chain matches which request, output shapes for standup / weekly / PR, and the rule that every reported line must trace to a captured session. Install it alongside the MCP server:

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

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

How it works

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

Design choices that matter:

  1. Capture reads the transcript, not the editor. Claude Code already logs everything; we parse it after the fact. The hook does no network calls, writes nothing to stdout, and exits 0 even on failure, so it can never slow down or break a session.

  2. One session per Claude session. The Stop hook fires after every turn; captures are keyed on claudeSessionId and update in place. User-added tags survive updates.

  3. Local-first. ~/.vibe-coding-mcp/sessions/<id>.json. No DB, no telemetry. grep, back up, or sync it however you like.

  4. One registry, two transports. HTTP and stdio expose the same 17 tools / 5 resources / 5 prompts via createMcpServer().

CLI reference

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

Configuration

Env var

Required for

Purpose

(none)

capture, digest, search, docs

Works with zero configuration

ANTHROPIC_API_KEY

useAI options, muse_auto_tag

Claude-API-powered analysis

NOTION_API_KEY + NOTION_DATABASE_ID

Notion publishing

GITHUB_TOKEN + GITHUB_REPO

GitHub Wiki publishing

OBSIDIAN_VAULT_PATH

Obsidian default vault

or pass options.vaultPath

CONFLUENCE_BASE_URL + CONFLUENCE_USERNAME + CONFLUENCE_API_TOKEN + CONFLUENCE_SPACE_KEY

Confluence

SLACK_WEBHOOK_URL / DISCORD_WEBHOOK_URL

Slack / Discord

VIBE_CODING_STORAGE_DIR

—

Move the session store

CLAUDE_CONFIG_DIR

—

If Claude Code's config is not in ~/.claude

PORT

HTTP mode only

default 3000

Tools that need an unconfigured integration return a structured INTEGRATION_NOT_CONFIGURED error instead of crashing.

Known limitations

  • Claude Code only (for now). Capture parses Claude Code's transcript format. Cursor / Codex transcripts are on the roadmap. The MCP tools themselves work from any MCP client.

  • Decision extraction is heuristic unless useAI: true with an API key: it looks for "decided / chose / instead of / because" patterns in EN and KO.

  • AST analysis covers TS / Python / Go.

  • Publishing is one-way. Edits made in Notion / Wiki are not pulled back.

  • Single-user store. Team search across everyone's sessions needs a shared store (roadmap).

When NOT to use this

  • Automatic commit messages → use aicommits or similar; this generates documents.

  • Team-wide search across everyone's sessions → build a Notion DB on top, or wait for the shared store.

  • Hand-written rich notes → use Obsidian / Notion directly; this is capture-then-publish.

Roadmap

  • Cursor / Codex CLI transcript capture.

  • Shared session store (S3 / Git / WebDAV) and team mode.

  • prepare-commit-msg suggestions from the current session's decisions.

  • Rust / Swift / Kotlin AST + diagrams.

Contributing

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

Adding a tool is one file in src/tools/<name>.ts, a Zod schema in src/core/schemas.ts, and one entry in src/core/toolRegistry.ts. CI runs typecheck + build + tests on Node 22 and 24.

Security

Paths are validated, filenames sanitized, webhook URLs must be HTTPS and allowlisted, outbound HTTP has timeouts and backoff — see src/core/security.ts and SECURITY.md. The capture hook stores only your prompts, the assistant's prose, the code it wrote, and the commands it ran; tool outputs, sub-agent side-chains and system reminders are dropped.

Report vulnerabilities privately via a GitHub Security Advisory: https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp/security/advisories/new.

License

MIT — see LICENSE.

Maintainer

@yoon-k (MUSE-CODE-SPACE). Issues + support: https://github.com/MUSE-CODE-SPACE/vibe-coding-mcp/issues.


한국어 요약

vibe-coding-mcp는 Claude Code 세션을 자동으로 문서화하는 MCP 서버 + 에이전트 스킬입니다. Claude Code가 남기는 트랜스크립트(~/.claude/projects/)를 훅이 매 턴마다 파싱해서 프롬프트 · 수정한 파일과 코드 · 실행한 명령 · 소요 시간 · 브랜치 · 설계 결정을 ~/.vibe-coding-mcp/sessions/에 저장합니다. API 키 없이 동작하고, 발행하기 전까지는 아무것도 외부로 나가지 않습니다.

claude mcp add -s user vibe-coding-mcp -- npx -y vibe-coding-mcp   # MCP 등록
npx -y vibe-coding-mcp init                                        # 훅 설치 (settings.json 백업 후 병합)
npx -y vibe-coding-mcp capture --all                               # 기존 세션 가져오기
npx -y vibe-coding-mcp doctor                                      # 상태 확인

Claude Code 안에서 /standup(어제·오늘·블로커), /weekly-report(주간 보고, language: ko 지원), /daily-vibe-log, @vibe-coding://search/키워드를 바로 쓸 수 있고, "지난주에 왜 JWT를 골랐지?", "어제 세션을 DESIGN 문서로 만들어서 Obsidian에 넣어줘", "이 리팩터링 PR 설명 써줘" 같은 요청에 muse_* 도구 17개가 대응합니다.

v2.14의 훅 레시피(claude mcp call)는 존재하지 않는 명령이라 실제로 캡처가 되지 않았습니다. v2.15에서 init으로 교체하세요.

설치·검증·백필은 docs/AUTO_CAPTURE.md, 변경 이력은 CHANGELOG.md, 스킬 패키지는 skills/vibe-coding/ 참고.

Available Tools

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

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

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.

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.

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.

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.

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.

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.

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.

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.

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

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.

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

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.

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.

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updatesv1.0.0
    • First observedmuse_analyze_code
    • First observedmuse_auto_tag
    • First observedmuse_batch
    • First observedmuse_collect_code_context
    • First observedmuse_create_session_log
    • First observedmuse_export_session
    • First observedmuse_generate_dev_document
    • First observedmuse_git
    • First observedmuse_normalize_for_platform
    • First observedmuse_project_profile
    • First observedmuse_publish_document
    • First observedmuse_session_history
    • First observedmuse_session_stats
    • First observedmuse_summarize_design_decisions
    • First observedmuse_template

TDQS

B3.4/5.0

Scored across 15 tools

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers