Opendata Ademe
Server Details
Access to ADEME datasets (French ecological transition agency) - data on energy, environment, waste, transport, housing
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 7 tools
Each tool has a clear, distinct purpose with no overlap. aggregate_data and calculate_metric are explicitly described for grouped vs single metric calculations, and other tools cover listing, describing, searching, geocoding, and field value retrieval without ambiguity.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., list_datasets, describe_dataset, geocode_address), making them predictable and easy to understand.
7 tools is an ideal number for this domain—comprehensive enough to cover core operations (list, search, aggregate, calculate, geocode) without overwhelming the agent or introducing redundancy.
The tool surface covers essential data exploration workflows: discovery, metadata, filtering, aggregation, and geocoding. A minor gap is the lack of a dedicated tool for raw data export, but the search_data tool with CSV output partially addresses this.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- Changed
aggregate_data12 fields changed- changed
Input schema / properties / bbox / descriptionPrevious value: -"Geographic bounding box filter (only for geolocalized datasets). Format: \"lonMin,latMin,lonMax,latMax\". Example: \"-2.5,43,3,47\"."New value: +"Bounding box \"lonMin,latMin,lonMax,latMax\" (lon before lat), e.g. \"-2.5,43,3,47\". Geolocalized datasets only." - changed
Input schema / properties / datasetId / descriptionPrevious value: -"The exact dataset ID from the \"id\" field in search_datasets results. Do not use the title or slug."New value: +"The exact dataset ID from the \"id\" field in list_datasets results. Do not use the title or slug." - changed
Input schema / properties / dateMatch / descriptionPrevious value: -"Temporal filter (only for temporal datasets with date fields). Accepts a single date \"YYYY-MM-DD\" to match that day, or a date range \"YYYY-MM-DD,YYYY-MM-DD\" to match an overlapping period. ISO datetimes also accepted. Example: \"2023-11-21\" or \"2023-01-01,2023-12-31\"."New value: +"Date \"YYYY-MM-DD\" (single day) or \"YYYY-MM-DD,YYYY-MM-DD\" (range), e.g. \"2023-11-21\". Temporal datasets only." - changed
Input schema / properties / filters / descriptionPrevious value: -"Column filters as key-value pairs. Key format: column_key + suffix (see server instructions for available suffixes). All values must be strings, even for numbers/dates. If a column key has underscores (e.g., code_postal), just append the suffix: code_postal_eq. Example: { \"nom_search\": \"Jean\", \"age_lte\": \"30\", \"ville_eq\": \"Paris\" }"New value: +"Column filters as key-value pairs: column_key + suffix, all values strings. Example: { \"ville_eq\": \"Paris\", \"age_lte\": \"30\", \"nom_search\": \"Jean\" }. Suffixes include _eq, _in, _gt/_lt, _search and more; if one is rejected the 400 error lists what the column supports. Never _c_-prefix a column filter (use ville_eq, not _c_ville_eq)." - changed
Input schema / properties / geoDistance / descriptionPrevious value: -"Geographic proximity filter (only for geolocalized datasets). Restricts results to within a distance from a point. Format: \"lon,lat,distance\". Example: \"2.35,48.85,10km\". Use distance \"0\" for point-in-polygon containment."New value: +"Proximity filter \"lon,lat,distance\" (lon first), e.g. \"2.35,48.85,10km\"; distance \"0\" = point-in-polygon. Geolocalized datasets only." - removed
Output schema / properties / aggregationsRemoved value: -{ - "description": "Array of aggregation results for each specified column (limited to 20 rows)", - "items": { - "additionalProperties": false, - "properties": { - "aggregations": { - "description": "Nested aggregation results when multiple columns are specified (max 3 levels deep)", - "items": { - "$ref": "#/properties/aggregations/items" - }, - "type": "array" - }, - "columnValue": { - "description": "The value of the aggregated column (string or number)", - "type": [ - "string", - "number" - ] - }, - "metricValue": { - "description": "The value of the aggregation metric (e.g., sum, avg) on the selected column", - "type": [ - "number", - "null" - ] - }, - "nonRepresented": { - "description": "Number of rows NOT included in the returned aggregations for this column (only top groups are returned)", - "type": "number" - }, - "total": { - "description": "Total number of rows aggregated for this column", - "type": "number" - }, - "totalAggregated": { - "description": "Total number of different values aggregated for this column", - "type": "number" - } - }, - "required": [ - "total", - "columnValue" - ], - "type": "object" - }, - "type": "array" -} - added
Output schema / properties / aggsAdded value: +{ + "description": "Array of aggregation results for each group (limited to 20 rows)", + "type": "array" +} - removed
Output schema / properties / nonRepresentedRemoved value: -{ - "description": "Number of rows NOT included in the returned aggregations (only the top 20 groups are returned). Add this to the sum of all group totals to reconstruct the dataset total.", - "type": "number" -} - removed
Output schema / properties / totalAggregatedRemoved value: -{ - "description": "The total number of different values aggregated across all specified columns", - "type": "number" -} - added
Output schema / properties / total_otherAdded value: +{ + "description": "Number of rows NOT included in the returned aggregations (only the top groups are returned). Add this to the sum of all group totals to reconstruct the dataset total.", + "type": "number" +} - added
Output schema / properties / total_valuesAdded value: +{ + "description": "The total number of different values aggregated across all specified columns", + "type": "number" +} - changed
Output schema / requiredPrevious value: -[ - "total", - "totalAggregated", - "nonRepresented", - "datasetId", - "requestUrl", - "aggregations" -]New value: +[ + "datasetId", + "total", + "total_values", + "total_other", + "requestUrl", + "aggs" +]
- Changed
calculate_metric7 fields changed- changed
Input schema / properties / bbox / descriptionPrevious value: -"Geographic bounding box filter (only for geolocalized datasets). Format: \"lonMin,latMin,lonMax,latMax\". Example: \"-2.5,43,3,47\"."New value: +"Bounding box \"lonMin,latMin,lonMax,latMax\" (lon before lat), e.g. \"-2.5,43,3,47\". Geolocalized datasets only." - changed
Input schema / properties / datasetId / descriptionPrevious value: -"The exact dataset ID from the \"id\" field in search_datasets results. Do not use the title or slug."New value: +"The exact dataset ID from the \"id\" field in list_datasets results. Do not use the title or slug." - changed
Input schema / properties / dateMatch / descriptionPrevious value: -"Temporal filter (only for temporal datasets with date fields). Accepts a single date \"YYYY-MM-DD\" to match that day, or a date range \"YYYY-MM-DD,YYYY-MM-DD\" to match an overlapping period. ISO datetimes also accepted. Example: \"2023-11-21\" or \"2023-01-01,2023-12-31\"."New value: +"Date \"YYYY-MM-DD\" (single day) or \"YYYY-MM-DD,YYYY-MM-DD\" (range), e.g. \"2023-11-21\". Temporal datasets only." - changed
Input schema / properties / filters / descriptionPrevious value: -"Column filters as key-value pairs. Key format: column_key + suffix (see server instructions for available suffixes). All values must be strings, even for numbers/dates. If a column key has underscores (e.g., code_postal), just append the suffix: code_postal_eq. Example: { \"nom_search\": \"Jean\", \"age_lte\": \"30\", \"ville_eq\": \"Paris\" }"New value: +"Column filters as key-value pairs: column_key + suffix, all values strings. Example: { \"ville_eq\": \"Paris\", \"age_lte\": \"30\", \"nom_search\": \"Jean\" }. Suffixes include _eq, _in, _gt/_lt, _search and more; if one is rejected the 400 error lists what the column supports. Never _c_-prefix a column filter (use ville_eq, not _c_ville_eq)." - changed
Input schema / properties / geoDistance / descriptionPrevious value: -"Geographic proximity filter (only for geolocalized datasets). Restricts results to within a distance from a point. Format: \"lon,lat,distance\". Example: \"2.35,48.85,10km\". Use distance \"0\" for point-in-polygon containment."New value: +"Proximity filter \"lon,lat,distance\" (lon first), e.g. \"2.35,48.85,10km\"; distance \"0\" = point-in-polygon. Geolocalized datasets only." - removed
Output schema / properties / metricRemoved value: -{ - "description": "The metric that was calculated", - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "datasetId", - "fieldKey", - "metric", - "total" -]New value: +[ + "datasetId", + "fieldKey", + "total" +]
- Changed
describe_dataset10 fields changed- changed
Input schema / properties / datasetId / descriptionPrevious value: -"The exact dataset ID from the \"id\" field in search_datasets results. Do not use the title or slug."New value: +"The exact dataset ID from the \"id\" field in list_datasets results. Do not use the title or slug." - changed
Output schema / properties / bbox / descriptionPrevious value: -"Spatial bounding box of the dataset: [lonMin, latMin, lonMax, latMax]. Present only for geolocalized datasets."New value: +"Geographic bounding box [lonMin, latMin, lonMax, latMax]" - changed
Output schema / properties / geolocalized / descriptionPrevious value: -"Whether this dataset has geographic data. When true, geo filters (bbox, geoDistance) are available in search_data, aggregate_data, and calculate_metric."New value: +"Whether the dataset has geographic data" - removed
Output schema / properties / linkRemoved value: -{ - "description": "Link to the dataset page (must be included in responses as citation source)", - "type": "string" -} - added
Output schema / properties / pageAdded value: +{ + "description": "Link to the dataset page (must be included in responses as citation source)", + "type": "string" +} - changed
Output schema / properties / temporalDataset / descriptionPrevious value: -"Whether this dataset has temporal data (date fields). When true, the dateMatch filter is available in search_data, aggregate_data, and calculate_metric."New value: +"Whether the dataset has temporal data" - changed
Output schema / properties / timePeriod / descriptionPrevious value: -"Temporal coverage of the dataset data. Present only for temporal datasets."New value: +"Time period covered by the dataset" - changed
Output schema / properties / timePeriod / properties / endDate / descriptionPrevious value: -"End of the temporal coverage (ISO datetime)"New value: +"End date of the time period" - changed
Output schema / properties / timePeriod / properties / startDate / descriptionPrevious value: -"Start of the temporal coverage (ISO datetime)"New value: +"Start date of the time period" - changed
Output schema / requiredPrevious value: -[ - "id", - "title", - "link", - "count", - "schema", - "sampleLines" -]New value: +[ + "id", + "title", + "page", + "count", + "schema", + "sampleLines" +]
- Changed
geocode_address8 fields changed- changed
Output schema / properties / count / descriptionPrevious value: -"Number of results returned"New value: +"Number of results found" - changed
Output schema / properties / results / descriptionPrevious value: -"Geocoding results ordered by relevance"New value: +"Array of geocoding results with coordinates" - changed
Output schema / properties / results / items / properties / context / descriptionPrevious value: -"Administrative hierarchy (department, region)"New value: +"Geographic context (department, region)" - changed
Output schema / properties / results / items / properties / latitude / descriptionPrevious value: -"Latitude (WGS84)"New value: +"Latitude coordinate" - changed
Output schema / properties / results / items / properties / longitude / descriptionPrevious value: -"Longitude (WGS84)"New value: +"Longitude coordinate" - changed
Output schema / properties / results / items / properties / name / descriptionPrevious value: -"Street name or place name"New value: +"Name of the location" - changed
Output schema / properties / results / items / properties / score / descriptionPrevious value: -"Relevance score between 0 and 1"New value: +"Relevance score (0-1)" - changed
Output schema / properties / results / items / properties / type / descriptionPrevious value: -"Result type: housenumber, street, locality, municipality"New value: +"Result type (e.g., housenumber, street, municipality)"
- Changed
get_field_values1 field changed- changed
Input schema / properties / datasetId / descriptionPrevious value: -"The exact dataset ID from the \"id\" field in search_datasets results. Do not use the title or slug."New value: +"The exact dataset ID from the \"id\" field in list_datasets results. Do not use the title or slug."
- Added
list_datasets - Changed
search_data11 fields changed- changed
Input schema / properties / bbox / descriptionPrevious value: -"Geographic bounding box filter (only for geolocalized datasets). Format: \"lonMin,latMin,lonMax,latMax\". Example: \"-2.5,43,3,47\"."New value: +"Bounding box \"lonMin,latMin,lonMax,latMax\" (lon before lat), e.g. \"-2.5,43,3,47\". Geolocalized datasets only." - changed
Input schema / properties / datasetId / descriptionPrevious value: -"The exact dataset ID from the \"id\" field in search_datasets results. Do not use the title or slug."New value: +"The exact dataset ID from the \"id\" field in list_datasets results. Do not use the title or slug." - changed
Input schema / properties / dateMatch / descriptionPrevious value: -"Temporal filter (only for temporal datasets with date fields). Accepts a single date \"YYYY-MM-DD\" to match that day, or a date range \"YYYY-MM-DD,YYYY-MM-DD\" to match an overlapping period. ISO datetimes also accepted. Example: \"2023-11-21\" or \"2023-01-01,2023-12-31\"."New value: +"Date \"YYYY-MM-DD\" (single day) or \"YYYY-MM-DD,YYYY-MM-DD\" (range), e.g. \"2023-11-21\". Temporal datasets only." - changed
Input schema / properties / filters / descriptionPrevious value: -"Column filters as key-value pairs. Key format: column_key + suffix (see server instructions for available suffixes). All values must be strings, even for numbers/dates. If a column key has underscores (e.g., code_postal), just append the suffix: code_postal_eq. Example: { \"nom_search\": \"Jean\", \"age_lte\": \"30\", \"ville_eq\": \"Paris\" }"New value: +"Column filters as key-value pairs: column_key + suffix, all values strings. Example: { \"ville_eq\": \"Paris\", \"age_lte\": \"30\", \"nom_search\": \"Jean\" }. Suffixes include _eq, _in, _gt/_lt, _search and more; if one is rejected the 400 error lists what the column supports. Never _c_-prefix a column filter (use ville_eq, not _c_ville_eq)." - changed
Input schema / properties / geoDistance / descriptionPrevious value: -"Geographic proximity filter (only for geolocalized datasets). Restricts results to within a distance from a point. Format: \"lon,lat,distance\". Example: \"2.35,48.85,10km\". Use distance \"0\" for point-in-polygon containment."New value: +"Proximity filter \"lon,lat,distance\" (lon first), e.g. \"2.35,48.85,10km\"; distance \"0\" = point-in-polygon. Geolocalized datasets only." - changed
Input schema / properties / sort / descriptionPrevious value: -"Sort order for results. Comma-separated list of column keys. Prefix with - for descending order. Special keys: _score (relevance), _i (index order), _updatedAt, _rand (random), _geo_distance:lon:lat (distance from point, for geolocalized datasets). Examples: \"population\" (ascending), \"-population\" (descending), \"_geo_distance:2.35:48.85\" (closest first)"New value: +"Sort order for results. Comma-separated list of column keys. Prefix with - for descending order. Special keys: _score (relevance), _i (index order), _updatedAt, _rand (random), _geo_distance:lon:lat (distance from point, for geolocalized datasets — longitude first, then latitude). Examples: \"population\" (ascending), \"-population\" (descending), \"_geo_distance:2.35:48.85\" (closest to lon=2.35, lat=48.85)" - removed
Output schema / properties / countRemoved value: -{ - "description": "Number of data rows matching the search criteria and filters", - "type": "number" -} - removed
Output schema / properties / linesRemoved value: -{ - "description": "An array of data rows matching the search criteria (up to the requested size).", - "items": { - "additionalProperties": {}, - "description": "Data row object containing column keys as object keys with their values, plus _score field indicating search relevance (higher score = more relevant)", - "type": "object" - }, - "type": "array" -} - added
Output schema / properties / resultsAdded value: +{ + "description": "An array of data rows matching the search criteria (up to the requested size).", + "items": { + "additionalProperties": {}, + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / totalAdded value: +{ + "description": "Number of data rows matching the search criteria and filters", + "type": "number" +} - changed
Output schema / requiredPrevious value: -[ - "datasetId", - "count", - "filteredViewUrl", - "lines" -]New value: +[ + "datasetId", + "total", + "filteredViewUrl", + "results" +]
- Removed
search_datasets
1 tool update
- Added
geocode_address
4 tool updates
- Changed
aggregate_data3 fields changed- added
Input schema / properties / bboxAdded value: +{ + "description": "Geographic bounding box filter (only for geolocalized datasets). Format: \"lonMin,latMin,lonMax,latMax\". Example: \"-2.5,43,3,47\".", + "type": "string" +} - added
Input schema / properties / dateMatchAdded value: +{ + "description": "Temporal filter (only for temporal datasets with date fields). Accepts a single date \"YYYY-MM-DD\" to match that day, or a date range \"YYYY-MM-DD,YYYY-MM-DD\" to match an overlapping period. ISO datetimes also accepted. Example: \"2023-11-21\" or \"2023-01-01,2023-12-31\".", + "type": "string" +} - added
Input schema / properties / geoDistanceAdded value: +{ + "description": "Geographic proximity filter (only for geolocalized datasets). Restricts results to within a distance from a point. Format: \"lon,lat,distance\". Example: \"2.35,48.85,10km\". Use distance \"0\" for point-in-polygon containment.", + "type": "string" +}
- Changed
calculate_metric3 fields changed- added
Input schema / properties / bboxAdded value: +{ + "description": "Geographic bounding box filter (only for geolocalized datasets). Format: \"lonMin,latMin,lonMax,latMax\". Example: \"-2.5,43,3,47\".", + "type": "string" +} - added
Input schema / properties / dateMatchAdded value: +{ + "description": "Temporal filter (only for temporal datasets with date fields). Accepts a single date \"YYYY-MM-DD\" to match that day, or a date range \"YYYY-MM-DD,YYYY-MM-DD\" to match an overlapping period. ISO datetimes also accepted. Example: \"2023-11-21\" or \"2023-01-01,2023-12-31\".", + "type": "string" +} - added
Input schema / properties / geoDistanceAdded value: +{ + "description": "Geographic proximity filter (only for geolocalized datasets). Restricts results to within a distance from a point. Format: \"lon,lat,distance\". Example: \"2.35,48.85,10km\". Use distance \"0\" for point-in-polygon containment.", + "type": "string" +}
- Changed
describe_dataset4 fields changed- added
Output schema / properties / bboxAdded value: +{ + "description": "Spatial bounding box of the dataset: [lonMin, latMin, lonMax, latMax]. Present only for geolocalized datasets.", + "items": { + "type": "number" + }, + "type": "array" +} - added
Output schema / properties / geolocalizedAdded value: +{ + "description": "Whether this dataset has geographic data. When true, geo filters (bbox, geoDistance) are available in search_data, aggregate_data, and calculate_metric.", + "type": "boolean" +} - added
Output schema / properties / temporalDatasetAdded value: +{ + "description": "Whether this dataset has temporal data (date fields). When true, the dateMatch filter is available in search_data, aggregate_data, and calculate_metric.", + "type": "boolean" +} - added
Output schema / properties / timePeriodAdded value: +{ + "additionalProperties": false, + "description": "Temporal coverage of the dataset data. Present only for temporal datasets.", + "properties": { + "endDate": { + "description": "End of the temporal coverage (ISO datetime)", + "type": "string" + }, + "startDate": { + "description": "Start of the temporal coverage (ISO datetime)", + "type": "string" + } + }, + "required": [ + "startDate", + "endDate" + ], + "type": "object" +}
- Changed
search_data4 fields changed- added
Input schema / properties / bboxAdded value: +{ + "description": "Geographic bounding box filter (only for geolocalized datasets). Format: \"lonMin,latMin,lonMax,latMax\". Example: \"-2.5,43,3,47\".", + "type": "string" +} - added
Input schema / properties / dateMatchAdded value: +{ + "description": "Temporal filter (only for temporal datasets with date fields). Accepts a single date \"YYYY-MM-DD\" to match that day, or a date range \"YYYY-MM-DD,YYYY-MM-DD\" to match an overlapping period. ISO datetimes also accepted. Example: \"2023-11-21\" or \"2023-01-01,2023-12-31\".", + "type": "string" +} - added
Input schema / properties / geoDistanceAdded value: +{ + "description": "Geographic proximity filter (only for geolocalized datasets). Restricts results to within a distance from a point. Format: \"lon,lat,distance\". Example: \"2.35,48.85,10km\". Use distance \"0\" for point-in-polygon containment.", + "type": "string" +} - changed
Input schema / properties / sort / descriptionPrevious value: -"Sort order for results. Comma-separated list of column keys. Prefix with - for descending order. Special keys: _score (relevance), _i (index order), _updatedAt, _rand (random). Examples: \"population\" (ascending), \"-population\" (descending), \"city,-population\" (city asc then population desc)"New value: +"Sort order for results. Comma-separated list of column keys. Prefix with - for descending order. Special keys: _score (relevance), _i (index order), _updatedAt, _rand (random), _geo_distance:lon:lat (distance from point, for geolocalized datasets). Examples: \"population\" (ascending), \"-population\" (descending), \"_geo_distance:2.35:48.85\" (closest first)"
1 tool update
- Changed
describe_dataset2 fields changed- added
Output schema / properties / schema / items / properties / enumTotalAdded value: +{ + "description": "Total number of enum values before truncation", + "type": "number" +} - added
Output schema / properties / schema / items / properties / enumTruncatedAdded value: +{ + "description": "Whether the enum list was truncated because it exceeded 20 values", + "type": "boolean" +}
6 tool updates
- Changed
aggregate_data10 fields changed- removed
Input schema / properties / aggregationRemoved value: -{ - "additionalProperties": false, - "description": "The aggregation specification to perform on the specified column. Use keys from describe_dataset. If not provided, defaults to counting unique values in the aggregation column.", - "properties": { - "column": { - "description": "The column key to aggregate (use keys from describe_dataset)", - "type": "string" - }, - "metric": { - "description": "Aggregation metric to perform on the column. Available operations are: sum, avg, min, max, count.", - "enum": [ - "sum", - "avg", - "min", - "max", - "count" - ], - "type": "string" - } - }, - "required": [ - "column", - "metric" - ], - "type": "object" -} - removed
Input schema / properties / aggregationColumnsRemoved value: -{ - "description": "List of column keys to aggregate (use keys from describe_dataset, min 1 column, max 3 columns)", - "items": { - "type": "string" - }, - "maxItems": 3, - "minItems": 1, - "type": "array" -} - changed
Input schema / properties / datasetId / descriptionPrevious value: -"The unique dataset ID obtained from search_datasets tool"New value: +"The exact dataset ID from the \"id\" field in search_datasets results. Do not use the title or slug." - changed
Input schema / properties / filters / descriptionPrevious value: -"Column filters as key-value pairs. Key format: column_key + suffix (see server instructions for available suffixes). Example: { \"nom_search\": \"Jean\", \"age_lte\": \"30\", \"ville_eq\": \"Paris\" }"New value: +"Column filters as key-value pairs. Key format: column_key + suffix (see server instructions for available suffixes). All values must be strings, even for numbers/dates. If a column key has underscores (e.g., code_postal), just append the suffix: code_postal_eq. Example: { \"nom_search\": \"Jean\", \"age_lte\": \"30\", \"ville_eq\": \"Paris\" }" - added
Input schema / properties / groupByColumnsAdded value: +{ + "description": "Columns to GROUP BY (like SQL GROUP BY). These define the categories/buckets, NOT the column to compute metrics on. Use column keys from describe_dataset (min 1, max 3).", + "items": { + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array" +} - added
Input schema / properties / metricAdded value: +{ + "additionalProperties": false, + "description": "Optional metric to compute ON EACH GROUP. If not provided, defaults to counting rows per group.", + "properties": { + "column": { + "description": "The column to compute the metric ON (e.g., \"salary\" for average salary). This is NOT the grouping column. Use column keys from describe_dataset.", + "type": "string" + }, + "type": { + "description": "Metric to compute on each group. \"count\" counts rows per group (identical to omitting the metric parameter — does NOT count non-null values of the specified column).", + "enum": [ + "sum", + "avg", + "min", + "max", + "count" + ], + "type": "string" + } + }, + "required": [ + "column", + "type" + ], + "type": "object" +} - added
Input schema / properties / sortAdded value: +{ + "description": "Sort order for aggregation results. Use special keys: \"count\" or \"-count\" (by row count asc/desc), \"key\" or \"-key\" (by column value asc/desc), \"metric\" or \"-metric\" (by metric value asc/desc). Default: sorts by metric desc (if metric specified), then count desc. Example: \"-count\" to sort by most frequent values first", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "datasetId", - "aggregationColumns" -]New value: +[ + "datasetId", + "groupByColumns" +] - changed
Output schema / properties / aggregations / items / properties / nonRepresented / descriptionPrevious value: -"The number of non-represented rows for this column"New value: +"Number of rows NOT included in the returned aggregations for this column (only top groups are returned)" - changed
Output schema / properties / nonRepresented / descriptionPrevious value: -"The number of non-represented rows in the dataset, 0 if totalAggregated is less than 20, otherwise the number of non-represented rows"New value: +"Number of rows NOT included in the returned aggregations (only the top 20 groups are returned). Add this to the sum of all group totals to reconstruct the dataset total."
- Changed
calculate_metric3 fields changed- changed
Input schema / properties / datasetId / descriptionPrevious value: -"The unique dataset ID obtained from search_datasets or provided by the user"New value: +"The exact dataset ID from the \"id\" field in search_datasets results. Do not use the title or slug." - changed
Input schema / properties / filters / descriptionPrevious value: -"Column filters as key-value pairs. Key format: column_key + suffix (see server instructions for available suffixes). Example: { \"nom_search\": \"Jean\", \"age_lte\": \"30\", \"ville_eq\": \"Paris\" }"New value: +"Column filters as key-value pairs. Key format: column_key + suffix (see server instructions for available suffixes). All values must be strings, even for numbers/dates. If a column key has underscores (e.g., code_postal), just append the suffix: code_postal_eq. Example: { \"nom_search\": \"Jean\", \"age_lte\": \"30\", \"ville_eq\": \"Paris\" }" - changed
Output schema / properties / value / descriptionPrevious value: -"The calculated metric value (number for most metrics, object for stats/percentiles)"New value: +"The calculated metric value. For avg/sum/min/max/value_count/cardinality: a single number. For stats: an object {count, min, max, avg, sum}. For percentiles: an object mapping percentage strings to values, e.g. {\"25\": 30000, \"50\": 42000, \"75\": 55000}."
- Changed
describe_dataset1 field changed- changed
Input schema / properties / datasetId / descriptionPrevious value: -"The unique dataset ID obtained from search_datasets or provided by the user"New value: +"The exact dataset ID from the \"id\" field in search_datasets results. Do not use the title or slug."
- Changed
get_field_values1 field changed- changed
Input schema / properties / datasetId / descriptionPrevious value: -"The unique dataset ID obtained from search_datasets or provided by the user"New value: +"The exact dataset ID from the \"id\" field in search_datasets results. Do not use the title or slug."
- Changed
search_data5 fields changed- changed
Input schema / properties / datasetId / descriptionPrevious value: -"The unique dataset ID obtained from search_datasets or provided by the user"New value: +"The exact dataset ID from the \"id\" field in search_datasets results. Do not use the title or slug." - changed
Input schema / properties / filters / descriptionPrevious value: -"Column filters as key-value pairs. Key format: column_key + suffix (see server instructions for available suffixes). Example: { \"nom_search\": \"Jean\", \"age_lte\": \"30\", \"ville_eq\": \"Paris\" }"New value: +"Column filters as key-value pairs. Key format: column_key + suffix (see server instructions for available suffixes). All values must be strings, even for numbers/dates. If a column key has underscores (e.g., code_postal), just append the suffix: code_postal_eq. Example: { \"nom_search\": \"Jean\", \"age_lte\": \"30\", \"ville_eq\": \"Paris\" }" - changed
Input schema / properties / next / descriptionPrevious value: -"URL from a previous search_data response to fetch the next page of results. When provided, all other parameters (query, filters, select, size) are ignored since the URL already contains them."New value: +"URL from a previous search_data response to fetch the next page of results. When provided, all other parameters (query, filters, select, sort, size) are ignored since the URL already contains them." - changed
Input schema / properties / query / descriptionPrevious value: -"French keywords for full-text search across all dataset columns (simple keywords, not sentences). Do not use with filters parameter. Examples: \"Jean Dupont\", \"Paris\", \"2025\""New value: +"French keywords for full-text search across all dataset columns (simple keywords, not sentences). Can be combined with filters, but prefer filters alone when criteria target specific columns. Use query for broad keyword matching across all columns. Examples: \"Jean Dupont\", \"Paris\", \"2025\"" - added
Input schema / properties / sortAdded value: +{ + "description": "Sort order for results. Comma-separated list of column keys. Prefix with - for descending order. Special keys: _score (relevance), _i (index order), _updatedAt, _rand (random). Examples: \"population\" (ascending), \"-population\" (descending), \"city,-population\" (city asc then population desc)", + "type": "string" +}
- Changed
search_datasets1 field changed- changed
Input schema / properties / query / descriptionPrevious value: -"French keywords for full-text search (simple keywords, not sentences). Examples: \"élus\", \"DPE\", \"entreprises\", \"logement social\""New value: +"French keywords for full-text search (simple terms, not sentences). If 0 results, try synonyms or broader terms. Examples: \"élus\", \"DPE\", \"entreprises\", \"logement social\""
6 tool updates
- First observed
aggregate_data - First observed
calculate_metric - First observed
describe_dataset - First observed
get_field_values - First observed
search_data - First observed
search_datasets
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.169 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm49 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.