MCP server exposing professional identity as queryable API for AI agents. Your resume as an endpoint.
This server presents a clear, single-purpose design with 6 tools that follow consistent naming conventions (verb_noun pattern). All tools have explicit definitions visible in src/index.ts with descriptions and input schemas. However, several quality gaps prevent a higher score: (1) Parameter descriptions are minimal or absent for many inputs (tag, featured_only, platform, limit, category, current_only lack substantive guidance); (2) No output schemas are documented, agents cannot infer what fields will be returned or plan downstream calls; (3) Error handling is minimal, no recovery guidance or categorization; (4) No tool annotations (readOnlyHint/destructiveHint/idempotentHint) despite clear distinction between read-only and write operations; (5) The 'leave_message' tool lacks critical security documentation about rate limits, validation, or what constitutes valid input. The tool set is well-scoped and the HTTP transport is current, but definition quality falls into the C range due to missing output schemas and sparse parameter documentation.
Get work experience history. Requires guestbook entry or Agent Token.
Get basic profile information including name, tagline, links, and contact info.
Get list of projects, optionally filtered by tag.
Get technical skills by category. Requires guestbook entry or Agent Token.
Get list of articles and blog posts.
Leave a message in the guestbook. Unlocks access to gated tools.
No output schemas documented. Tools return profileData subsets but agents cannot see field structures, types, or which fields are available for downstream chaining. This forces agents to guess what fields exist and violates the requirement that LLMs know what to expect.
Parameter descriptions are sparse or missing. 'tag', 'featured_only', 'platform', 'limit', 'category', 'current_only' have only 1 - 2 word descriptions like 'Filter projects by tag'. No guidance on valid values, ranges, formats, or when to use each parameter. LLMs cannot reason about constraints without explicit documentation.
'leave_message' tool accepts name, message, agent_id, contact but provides no validation guidance. No error messages showing invalid input format, minimum/maximum lengths, or what constitutes a valid message. Agents have no actionable feedback if submission fails.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 57 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). 5 tools are read-only, 1 is write-destructive (leave_message modifies state). Explicit annotations would signal to agents which tools are safe to retry and which require confirmation.
Gating mechanism ('Requires guestbook entry or Agent Token') is documented in descriptions for get_experience and get_skills, but the actual permission check logic (SessionState, access control) is incomplete in the visible source. Agents have no way to know their access status or why a call failed with a permission error.
'limit' parameter in get_writing is numeric with no bounds. Description says 'Max posts to return' but does not specify valid range (e.g. 1 - 100). An agent could request 10,000 posts, blowing the context window or timing out.