MCP server providing access to dartwork-mpl documentation, color manipulation, code linting, and data validation tools
Three well-documented tools with clear names, descriptions, and input schemas. All tools follow verb_noun naming convention and include type information. However, output schemas are not explicitly documented, and some parameter descriptions could be more prescriptive about constraints. The tools are narrowly scoped and composition-ready. Risk classifications are appropriate.
Fetch document content from a GitHub Raw URL. Only ``https://raw.githubusercontent.com/`` URLs are accepted — other schemes (``file://``, ``http://``, ``ftp://``) and other hosts are rejected. This is a defence-in-depth check; the tool is intended for fetching dartwork-mpl docs from the canonical GitHub Raw host.
Get the hex color code for a dartwork-mpl or matplotlib color name.
Blend two colors in OKLab space and return the resulting hex code. Delegates to the public :func:`dartwork_mpl.mix_colors`, which blends along an OKLab authoring path rather than gamma-encoded sRGB. This generally improves perceptual regularity, but does not promise perfectly equal visible steps. The MCP tool therefore always agrees with what ``dm.mix_colors`` produces in generated plot code.
Output schemas not documented for any tool. Callers cannot determine response structure, field names, or types. LLMs must guess whether response is a string, object, or array.
No error handling or recovery guidance. Tools do not explain what happens on invalid input (e.g., non-existent color name, malformed GitHub URL, out-of-range ratio). LLMs have no way to self-correct.
get_color_value accepts a free-form 'name' parameter without enum or pattern constraints. Valid color names appear to follow a 'namespace.colorname' format, but this is not formally declared. LLMs may hallucinate invalid color names.
mix_colors 'ratio' parameter lacks explicit bounds documentation in schema. Description implies 0.0 - 1.0, but schema has no minimum/maximum fields. LLMs may pass values outside this range.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 74 | 2026-07-28+ | v2 |
fetch_github_document description provides only one example URL. LLMs benefit from multiple examples to understand the expected format, e.g., both README.md and nested paths like 'docs/guide/intro.md'.