Toulouse Métropole Open Data (data.toulouse-metropole.fr) — OpenDataSoft MCP. Provides access to open data for Toulouse Métropole, France via the OpenDataSoft Explore v2.1 API: mobility, urban services, culture & environment. Keyless.
Three tools with complete input schemas and descriptions. Naming follows verb_noun convention (search_, dataset_, query). Descriptions are adequate (100-200 chars) but lack dependency hints and prerequisites. Parameters have types and descriptions, but lack enums for constrained inputs (e.g., 'limit' should enforce 1-100 via schema, not just description). Output schemas are undocumented, LLMs cannot predict response structure for chaining. Error handling is minimal (generic HTTP errors only). No security annotations or permission gates. Composition is sound: search → info → query workflow is logical.
Get metadata for one Toulouse Métropole Open Data dataset (fields/schema, themes, record count) — call before query to learn the column names.
Query records from a Toulouse Métropole Open Data dataset with ODSQL. Filter (where), aggregate (group_by/select), sort (order_by), paginate (limit/offset).
Search Toulouse Métropole Open Data for datasets by keyword (mobility, urban services, culture & environment). Returns dataset_ids (pass to query/dataset_info), titles, themes and record counts.
Output schemas are completely undocumented. LLMs cannot predict response structure (fields, types, pagination) for downstream chaining or data extraction.
Numeric parameters (limit, offset) lack JSON Schema constraints (minimum, maximum). Descriptions mention ranges but LLMs cannot parse text constraints reliably.
Error handling is generic HTTP status + truncated text. No recovery guidance (e.g., 'Invalid dataset_id, call search_datasets to find valid IDs'). LLMs cannot self-correct.
Descriptions lack dependency hints. No explicit guidance that search_datasets must be called first to obtain dataset_id, or that dataset_info should precede query to learn column names.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, idempotentHint). All three tools are read-only and idempotent, declaring this enables agent optimization and safety checks.