wctx — workspace context for coding agents. Local-first MCP server that shares session evidence across related repositories.
wctx demonstrates solid tool design with clear, domain-specific naming (workspace_overview, search_session_evidence, verify_finding_freshness) and comprehensive parameter descriptions. All 7 tools have explicit schemas with type definitions and descriptions. However, output schemas are not documented in the visible code, responses are formatted as text with optional data payloads, but the structure of that data is not formally specified. Error handling is present but minimal; most tools lack recovery guidance. Tool descriptions are well-written (100-200 chars, within baseline), and parameter descriptions are detailed. The finalize_session tool has a complex nested schema with proper enum constraints (high|medium|low confidence). No security issues detected, all tools are read-only except finalize_session, which is appropriately marked. Composition is excellent: tools form a clear progression (overview → search → get → finalize) matching agent workflows.
At the end of substantive work, record what you learned so the next session inherits it. Attach the repository each finding is about and the files and symbols it concerns.
Read one piece of evidence in full: its title, body, confidence, the files and symbols it concerns, and when it was captured. Use this after search_session_evidence to read a promising result in detail.
Read all evidence from one session: findings, decisions, constraints, and open questions. Use this to understand what was learned in a session and how it relates to your current work.
Read the raw transcript of a session: every message and event. Use this only when you need the full context of a conversation, not just the extracted findings.
Search for evidence from previous sessions that might answer a question or inform a decision. Results are ranked by relevance and how the repositories relate. Verify promising results with verify_finding_freshness before acting on them.
Output schemas not formally documented. Tools return ToolResult with optional 'data' field, but the structure of that data is not specified in code or comments. LLMs cannot plan downstream operations without knowing what fields to expect.
Error handling lacks recovery guidance. Tools return errors as text (e.g., 'No workspaces are registered yet') but do not categorize them as retryable, user-fixable, or fatal, nor suggest next steps. Agents cannot determine whether to retry, ask the user, or abandon the operation.
search_session_evidence accepts optional 'limit' parameter (default 5, max 50) but does not document pagination or whether results are ranked/sorted. Agents cannot determine if they need to call again with different parameters to find more relevant results.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
Check whether a finding is still true by verifying it against the current code. Returns current, possibly_stale, or stale based on whether the files and symbols it mentions have changed since it was captured.
Orient yourself in this workspace: which repositories it contains, how they relate, what recent sessions did, and the most important active findings, decisions, and open questions. Call this once at the start of a session in an unfamiliar repository.
finalize_session is a write tool but lacks a dry-run or confirmation step. Agents could accidentally finalize a session with incorrect findings, decisions, or constraints. No undo mechanism is visible.
Tool descriptions do not explicitly state when to call each tool vs. similar ones. E.g., get_evidence vs. get_session_evidence, when should an agent choose one over the other? Descriptions assume the agent already knows the workflow.