A controlled window MCP server that manages scoped file access to local projects. Provides read-only and write-controlled access to project directories with fine-grained permission management, audit logging, and elevation policies.
Lighthouse demonstrates solid tool design with clear naming conventions (verb_noun pattern: window_info, list_files, read_file, search, write_file, edit_file, make_dir, delete_file, request_access). All 9 tools have descriptions (avg ~120 chars, within 10-1024 baseline). Input schemas are present with type definitions and parameter descriptions. Security is a strength: built-in redaction of API keys/tokens, path traversal prevention, and audit logging. However, output schemas are not documented in the source code provided, and error handling lacks recovery guidance. Tool composition is clean (single responsibility per tool), but descriptions could be more LLM-optimized with explicit WHEN/WHY guidance.
Delete a file or directory within the window scope. Requires write switch to be enabled. Creates automatic backups before deletion.
Edit a file by applying line-based changes (insert/replace/delete). Requires write switch to be enabled. Creates automatic backups before editing.
List files in a directory within the window scope. Returns file names, sizes, and modification times. Respects include/exclude patterns and security blacklist.
Create a directory within the window scope. Requires write switch to be enabled. Creates parent directories as needed.
Read file contents within the window scope. Automatically redacts sensitive patterns (API keys, tokens, private keys, credentials). Enforces max_file_kb and max_output_chars limits.
Request expanded file access scope. Agent submits a reason and desired include patterns. Request is either auto-approved (if arm/auto_grant active), added to pending queue for user approval, or rejected if outside elevation ceiling.
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields (e.g., what does list_files return? file count? metadata structure?). Baseline: 100% of A+ tools document return types.
Error handling lacks recovery guidance. Descriptions mention constraints (max_file_kb, max_output_chars) but do not explain what error the LLM receives or how to recover. E.g., 'File exceeds 512 KB. Try reading a smaller file or request elevated limits via request_access().'
Destructive operations (delete_file, write_file, edit_file) lack confirmation/dry-run pattern. Agents make mistakes, no mechanism to preview changes or confirm before execution.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Search for text patterns in files within the window scope. Returns matching files and line numbers. Respects include/exclude patterns and redaction rules.
Get information about the current window: root directory, include/exclude patterns, visibility, write status, and elevation policies
Write content to a file within the window scope. Requires write switch to be enabled. Creates automatic backups before writing. Enforces max_write_kb limit.
Parameter descriptions lack format/constraint details. E.g., 'path' is described as 'Directory path relative to window root (POSIX format)' but does not specify: max length, allowed characters, or what happens if path contains '..' or symlinks.
edit_file 'edits' parameter description is vague: 'Array of edit operations (line number, operation type, content)' does not specify the schema of each edit object (required fields, valid operation types, or examples).