Victoria and Albert Museum (V&A) Collections MCP. Keyless. Wraps the V&A Collections API v2.
Two well-named, read-only tools with complete input schemas and solid descriptions. search_objects and get_object follow verb_noun convention and clearly state their purpose. Descriptions (150 - 180 chars) are adequate but lack dependency hints and recovery guidance. All parameters have types and descriptions. However, output schemas are not formally documented, LLMs must infer structure from the description text. Error handling returns basic messages but lacks actionable recovery steps (e.g., 'Try search_objects() first'). No tool annotations (readOnlyHint, idempotentHint) despite both being read-only and idempotent. Parameter descriptions could be more prescriptive about format and constraints.
Get the full record for a single V&A object by its system number (e.g. "O72610", as returned by search_objects). Returns title, maker, object type, materials, description, date, place, dimensions, and a usable image URL. Keyless.
Search the Victoria & Albert Museum (V&A) — the world's leading art & design museum. Find objects across 1M+ items (furniture, fashion, ceramics, photographs, paintings, jewellery, sculpture) by keyword. Returns id, title, maker, date, place, type, and thumbnail. Use the returned id with get_object for full details. Keyless.
Output schemas not formally documented. LLMs must infer return structure from description text alone. search_objects returns {total, count, objects[]} and get_object returns {id, title, maker, ...} but these are not declared in a schema property.
Error messages lack recovery guidance. When query is empty or id is missing, errors say 'Required argument missing' but do not suggest what to do next. Should guide LLM to retry with valid input or call a discovery tool.
No tool annotations despite both tools being read-only and idempotent. Adding readOnlyHint: true and idempotentHint: true would help agents reason about safety and retry behavior.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Parameter descriptions lack format constraints. 'limit' says 'default 15, max 100' but does not state minimum (1). 'page' says '1-based' but does not state minimum. 'query' lacks guidance on minimum length or special characters.
No dependency hints in descriptions. search_objects description does not mention that returned 'id' must be passed to get_object for full details, this is stated but could be more explicit as a prerequisite.