MCP server for bulk organizing Eagle items through batch updates, snapshots, and rollback operations
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. item_update has a vague description that doesn't explain the nameAction behavior clearly enough for LLM selection. item_get lacks output schema documentation entirely. Neither tool documents return structure, pagination, or error cases. Parameter descriptions are minimal (e.g., 'Array of item IDs to fetch' lacks format/constraint details). No error handling guidance provided. Naming is acceptable (verb_noun pattern) but descriptions fall short of the 50-200 char LLM-optimized baseline.
Fetch Eagle items by id list with optional fullDetails flag to retrieve current name, tags, and annotation for snapshot/rollback purposes
Bulk-apply Eagle item updates (name, tags, annotation) through MCP stdio proxy. Accepts a batch of items with id, name, tags, and annotation fields. Honors nameAction field to determine whether to rename or preserve existing names.
Output schemas not documented. item_get and item_update lack documented return types, forcing LLMs to guess what fields are available for downstream tool calls or response parsing.
Parameter descriptions are too brief and lack constraints. 'Array of item objects to update' doesn't explain required vs optional fields, valid tag formats, annotation length limits, or what happens when an item is not found.
item_update description obscures the nameAction behavior. The description mentions 'Honors nameAction field' but doesn't explain the enum values ('keep' vs 'rename') or the default. LLMs cannot infer this from the description alone.
No error handling guidance. Tools do not document what happens when an item ID is invalid, when Eagle is not running, or when a batch partially fails. LLMs have no recovery path.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
item_get lacks output schema entirely. The description says 'retrieve current name, tags, and annotation' but doesn't document the response structure, whether results are paginated, or what fullDetails=true adds to the response.