A structured career profile vault that AI tools can query. Local-first MCP server exposing a career identity vault with tools for profile queries, skill searches, story discovery, and vault management.
Nine tools with consistent naming (verb_noun pattern) and descriptions present. All tools have input schemas with type definitions and parameter descriptions. However, descriptions are brief (avg ~80 chars, below the 194-char baseline), lack WHEN-to-use guidance, and output schemas are not documented in the code. Error handling is minimal, no recovery guidance or categorization. Tools are read-only except vault_sync, which lacks confirmation/dry-run pattern. No tool annotations (readOnlyHint/destructiveHint). Composition is sound: tools chain via UUIDs and support filtering. Security: no secrets in params (good), but no permission gates or audit trail declarations visible.
Local-only tool: Run a comprehensive vault audit including coherence scoring, contradiction detection, philosophy tensions, and structural gap checks.
Find bullet points (accomplishments) by query, optionally filtered by story ID or skill IDs.
Find stories by query, optionally filtered by skill IDs, experience ID, or outcome type (win/failure/learning).
Retrieve philosophy statements, optionally filtered by category (leadership/collaboration/technical-approach/culture/decision-making).
Retrieve the user's career profile summary including display name, headline, location, and a vault-wide disputes inventory.
Search the vault's skills by query string, with optional minimum proficiency filter and taxonomy expansion.
Output schemas not documented in code. Tool descriptions state what is returned (e.g., 'Retrieve...') but do not specify the response structure, field types, or pagination. LLMs cannot plan downstream calls without knowing what fields to expect.
Descriptions lack WHEN-to-use guidance and prerequisites. E.g., 'search_skills' does not explain when to call it vs 'vault_lens_get', or that min_proficiency accepts both labels and integers. Descriptions average ~80 chars vs 194-char baseline.
vault_sync (WRITE operation) lacks confirmation/dry-run pattern. Agents can invoke 'push' or 'pull' without preview or confirmation, risking unintended data loss or overwrites.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Retrieve a specific lens by slug, including its skills and proficiency levels.
List all lenses (custom skill groupings) in the vault.
Local-only tool: Manage vault synchronization with the hosted remote (status/push/pull operations).
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Eight tools are read-only but lack readOnlyHint; vault_sync is destructive but lacks destructiveHint. Agents cannot infer safety without explicit annotations.
Error handling not visible in code. No recovery guidance (e.g., 'If skill not found, try search_skills()'), no error categorization (retryable vs user-fixable), and no actionable error messages shown.