MCP Server for Hierarchical Community Leiden Detector Skill - Partitions graph edges into modular communities using greedy modularity optimization
Single tool with minimal documentation. Tool name 'detect_communities' lacks action verb prefix (should be 'detect_' or 'partition_'). Description is adequate (56 chars) but lacks WHEN to use it or what it returns. Input schema present but incomplete: 'edges' parameter lacks description entirely, 'resolution' description is minimal (47 chars). No output schema documented, LLM cannot predict return structure. No error handling guidance. Parameters lack type constraints (edges items should specify tuple structure). Missing idempotency/destructiveness hints.
Partition graph edges into modular communities
Missing parameter descriptions: 'edges' parameter has no description explaining format, constraints, or examples. LLM cannot infer that it expects [source, target, weight?] tuples.
No output schema documented. Tool returns JSON with 'community_count', 'communities', 'iterations', 'total_nodes' but LLM has no way to know this structure in advance. Breaks downstream tool chaining.
Tool description lacks WHEN to use it and what it returns. Current: 'Partition graph edges into modular communities' (56 chars). Should explain: use case, input format, output structure, and when to call vs alternatives.
Input schema incomplete: 'edges' items are typed as 'array of strings' but actually expect [source:string, target:string, weight?:number]. Schema does not capture tuple structure or optional weight field.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No error handling guidance. Tool may fail on empty edges, non-numeric weights, or disconnected graphs, but error responses do not guide LLM on recovery (e.g., 'Try with at least 2 nodes' or 'Ensure all weights are positive numbers').