Workspace context tooling for LLM-assisted development. Provides utilities for indexing markdown files, mapping document structure, managing workspace context files, and verifying code integrity.
This STDIO-only bash/Python toolkit lacks formal MCP tool registration. Tool definitions are inferred from shell script wrappers and manual documentation rather than explicit schema declarations. No input schemas are visible in the source code, parameters are documented in prose descriptions only. Most tools lack structured output schemas. Descriptions vary widely in quality (10 - 300+ chars); many are adequate but several are vague. No error handling guidance, no permission gates, no security annotations. The server is a collection of utility scripts, not a production-grade MCP implementation.
Generates .mwp/topology.md from the current project structure. Scans for sub-project markers (package.json, Cargo.toml, pyproject.toml, go.mod, etc.), context files, entry points, infrastructure config, monorepo workspace files, API schemas, and README files. Respects .mwpignore patterns.
Session-start orientation tool. Reports recent commits, uncommitted changes, and topology freshness. Checks if .mwp/topology.md is stale relative to project markers.
Concatenates the context cascade from project root to target file or directory. Resolves .mwp-context.yaml → .mwp-context.yml → .mwp-context.md (legacy) in order. Extracts the `description` key from YAML files; emits legacy .md files whole.
Creates a .mwp-context.yaml stub in a directory with schema version and TODO comments for layer, scope, description, imports, and guards.
Deterministic, extractive preview of long documents and corpora. Provides section index for structured markdown (delegates to md-index), turn/paragraph scent index + salient terms for unstructured text, and corpus map for directories. Includes seen-ledger guard to avoid re-indexing unchanged files.
Ad-hoc map of a directory. Prints directory structure, sub-project markers, context files, entry points, config/infra files, and ancestor context cascade. Respects .mwpignore patterns.
No formal input schemas. Tools accept parameters documented only in prose (e.g., 'path', 'format', 'target'). No JSON Schema with type definitions, enums, or constraints visible. LLMs cannot validate inputs or understand parameter relationships.
No output schemas documented. Tools return unstructured text or YAML/JSON without declared field types or structure. Agents cannot plan downstream calls or extract required data reliably.
No error handling guidance. Tools fail silently or with raw exit codes (e.g., 'exit 1'). No recovery hints, no categorization of retryable vs. fatal errors, no actionable error messages for LLMs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2026-07-28+ | v2 |
Indexes markdown headers with line numbers. Headers only — no prose hints. Supports ATX headers (# style) and Setext headers (underline style). Outputs in YAML, JSON, or text format with parent relationships and line ranges.
Converts legacy .mwp-context.md files (YAML frontmatter + markdown body) to pure-YAML format (.mwp-context.yaml). Moves body into the `description` key. Idempotent and safe — original .md deleted only after valid .yaml written.
Hook that runs MWP verification before destructive actions (edit, multiedit, write). Checks CRUSH_TOOL_NAME and CRUSH_TOOL_INPUT_FILE_PATH environment variables. Exits 1 if verification fails, preventing the action.
MWP installer. Downloads and installs all MWP tool files, skills, hooks, and protocol documentation into .mwp/. Optionally runs bootstrap to generate topology.md. Idempotent — updates existing files.
Lightweight verified-references check for MWP manual implementation. Computes SHA-256 hash over declared verified_paths or default source files. Cache hit returns immediately; cache miss runs guard commands and builtin checks (tsc --noEmit, pytest -k smoke). Pass writes .ok file; fail writes diagnostics and appends to discoveries.md.
.mwpignore-aware code search. Searches for a pattern in files, respecting .mwpignore exclusions and common build/cache directories.
Removes all MWP artefacts from the project: .mwp/ directory, all .mwp-context.* files, and .mwpignore. Requires user confirmation.
Checks for MWP protocol updates by comparing local and remote version numbers. Runs mwp-up installer if remote version is newer.
Destructive tools (uninstall, migrate-to-yaml, mwp-up) lack confirmation or dry-run support. No permission gates. Agents could accidentally delete .mwp/ or overwrite context files without safeguards.
Tool names lack clear action verbs. 'bootstrap', 'changes', 'explore', 'mwp-verify', 'mwp-up', 'mwp-guard' are vague or domain-specific. LLMs struggle to infer intent. Rename to 'generate_topology', 'list_recent_changes', 'map_directory', 'verify_project', 'install_mwp', 'check_permissions'.