MCP server for markmhendrickson.com website content. Provides read-only access to posts, links, timeline, pages, meet, consulting, and investing content by fetching production JSON endpoints.
This server exposes 9 read-only tools that fetch content from markmhendrickson.com. Tool names follow verb_noun convention (get_*), which is good. However, descriptions are minimal (10-50 chars), parameter schemas lack detail, and there is no output schema documentation. Input schemas exist but are sparse: most tools accept only an optional 'filters' object with no type constraints or nested property definitions. Error handling returns JSON with success/error fields but provides no recovery guidance. No tool annotations (readOnlyHint, etc.) despite all being read-only. The server is functional but falls short of production-grade quality standards.
Return the home post (about page) content.
Return posts, links, timeline, pages, meet, consulting, and investing records in a single response.
Return consulting page content from production.
Return investing page content from production.
Return links records from production (markmhendrickson.com). Optional filters supported.
Return meet page content from production.
Return static page API index from production.
Minimal parameter descriptions. The 'filters' parameter in get_posts, get_links, and get_timeline has only a generic description ('Optional filters to apply') with an example. No documentation of which filter keys are valid, their types, or constraints. LLMs cannot infer valid filter fields.
No output schema documentation. Tools return JSON with 'success', 'data', 'count', and 'error' fields, but the structure of 'data' (array of what objects?) is not documented. LLMs cannot plan downstream operations without knowing the response shape.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Return post records from production (markmhendrickson.com). Optional filters supported. Production serves published posts only.
Return timeline records from production (markmhendrickson.com). Optional filters supported.
No tool annotations. All 9 tools are read-only, but none declare readOnlyHint=true. This prevents clients from optimizing caching, retry logic, or safety checks. Current MCP spec (2026-07-28) supports tool annotations.
Error responses lack recovery guidance. When a tool fails (e.g., HTTP error, invalid filters), the response is {'success': false, 'error': '<message>'}. No guidance on whether to retry, what to try next, or how to fix the input. Per pattern:recovery-guide, errors should tell the LLM what to do.
Input schema for 'filters' parameter is too generic. Defined as type 'object' with no properties, additionalProperties, or constraints. LLMs cannot validate filter keys and will guess at valid field names, causing silent failures.