MCP server for computing Voronoi maps by partitioning a convex shape based on weighted data points
Single tool with excellent schema definition and comprehensive parameter documentation. Tool name 'compute_voronoi_map' is action-oriented and clear. Input schema uses Zod with full type definitions and detailed descriptions (50-200 chars per param, well above baseline). Output schema properly documented with CellSchema defining polygon, site, and datum fields. Error handling distinguishes validation errors from runtime errors with actionable messages. Main gap: no tool annotations (readOnlyHint, destructiveHint, idempotentHint) and no per-tool risk classification beyond the READ_ONLY marker in metadata.
**tags:** visualization, part-to-whole, voronoi **description:** Computes a Voronoi map by partitioning a convex shape based on weighted data points. Each cell's area represents the relative weight of its corresponding data point. If no shape is provided, defaults to a unit square. Returns array of cells with polygon coordinates (unit square by default), site coordinates for label placement, and original datum. Extra input properties are preserved in output. **EXAMPLE:** Input: ```json { "data": [ { "id": "A", "weight": 70, "label": "Category A" }, { "id": "Others", "weight": 30 } ] } ``` Output: ```json { "cells": [ { "polygon": [[0.3,0], [1,0], [1,1], [0.3,1]], "site": [0.65, 0.5], "datum": { "id": "A", "weight": 70, "label": "Category A" } }, { "polygon": [[0,0], [0.3,0], [0.3,1], [0,1]], "site": [0.15, 0.5], "datum": { "id": "Others", "weight": 30 } } ] } ```
Tool lacks MCP-standard annotations (readOnlyHint, destructiveHint, idempotentHint). The tool is read-only and idempotent but these properties are not declared in the tool registration.
No recovery guidance in error messages. Validation errors list the constraint violated but do not suggest corrective actions (e.g., 'data array must not be empty, provide at least one item with id and weight').
Output schema lacks pagination or result-limiting guidance. While a single Voronoi map is typically small, the description should clarify expected output size and any limits on data array length.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2025-06-18+ | v2 |