site
Server Details
Enpso: the site's own MCP server — dataset; every answer cites the site.
- Status
- Healthy
- Uptime
- 88.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool targets a distinct query type: schema, exact match, substring search, comparison, ranking, statistical aggregates, and provenance. No two tools overlap in purpose, making misselection unlikely.
All tools follow a consistent verb_noun pattern with the 'dataset_' prefix, and the second part clearly indicates the operation (columns, compare, provenance, row, search, stats, top). No stylistic deviations.
Seven tools is well within the ideal 3-15 range, and each tool earns its place by covering a distinct, non-redundant capability for dataset exploration. The set feels complete without being bloated.
The tool surface covers the full spectrum of read-only dataset queries: schema discovery, exact and fuzzy lookup, comparisons, ranking, statistics, and metadata attribution. No obvious gaps exist for the stated purpose of querying the Enpso dataset.
Available Tools
7 toolsdataset_columnsDataset columns and shapeAInspect
The columns, which of them are numeric, the row count and the provenance banner of the Enpso dataset. Call this first to learn the schema.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses what information is returned (columns, numeric flags, row count, provenance banner) but does not mention side effects, permissions, or the exact structure of the response. For a read-only metadata tool, this is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs all essential information: the resource (Enpso dataset), the specific outputs, and the recommended call order. It is front-loaded and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description covers the core purpose and usage. It could be more explicit about the return format (e.g., structure of the columns list), but it provides enough for an agent to understand the tool's role and decide to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description effectively explains what the tool does without needing to reference any parameters, fulfilling the semantic role.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool returns: columns, numeric flags, row count, and provenance banner. It also frames the tool as a schema-discovery entry point ('Call this first to learn the schema'), distinguishing it from data-access siblings like dataset_row and dataset_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells the agent to call this first to learn the schema, giving clear when-to-use guidance. It does not explicitly name alternatives or when not to use it, but the instruction to call first implies it is a prerequisite for other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_compareCompare rows side by sideAInspect
The rows of the Enpso dataset whose column is any of the given values, in the order given — for "X vs Y" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| column | Yes | ||
| values | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the ordering behavior ('in the order given') but does not mention case sensitivity, exact matching, return format (full rows vs. just the column), or behavior with zero matches. This is minimal but non-trivial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff. It conveys the core action and the key behavioral nuance (ordering) efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is somewhat sparse. It does not state the return format (all columns or only the matched column), potential edge cases (e.g., empty result), or prerequisites (e.g., valid column name). For a simple fetch tool it is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It does state the relationship between 'column' and 'values' ('whose column is any of the given values') and adds the ordering nuance. However, it does not clarify types, minItems/maxItems constraints, or that values are an array beyond what the schema implies. It partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('returns rows'), names the resource ('Enpso dataset'), and precisely defines the selection criterion ('whose column is any of the given values') along with ordering ('in the order given'). This clearly distinguishes it from siblings like dataset_row (single row) and dataset_search (general search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for "X vs Y" questions' gives a clear usage context for comparing specific values. However, it does not explicitly mention when not to use it or name alternative tools, so it stops short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_provenanceWhere this data comes from, and how to cite itAInspect
The source, the date it was computed, the licence and the citation for the Enpso dataset. Read this to attribute a figure correctly.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It describes the provenance fields returned and implies a read operation via 'Read this', but does not explicitly state there are no side effects, prerequisites, or failure modes. Adequate for a simple lookup but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler. The list of returned provenance fields is front-loaded, followed by the usage directive, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 0-parameter provenance tool with no output schema, the description lists the key return fields and the intended use. It does not specify the exact return format, but that is a minor gap for this simple metadata lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema has no properties, so the description correctly says nothing about parameters. The baseline for a 0-param tool is 4; there is nothing more the description needs to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (the Enpso dataset) and the exact information returned (source, computed date, licence, citation), with a clear action: 'Read this to attribute a figure correctly.' This distinguishes it from sibling tools that handle columns, searching, stats, or row access.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete use case: use this to attribute a figure correctly. It does not explicitly name alternatives or when not to use it, but the title and content make the context clear relative to the other dataset tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_rowLook a row up by an exact keyCInspect
The rows of the Enpso dataset where a column equals a value exactly (case-insensitive).
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| column | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses case-insensitivity, which is a useful behavioral trait, but it does not mention what happens when no rows match, whether multiple rows are returned, pagination/limits, or performance characteristics. For a lookup tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence with no filler. It front-loads the core behavior (exact, case-insensitive match) and omits any redundant detail. It earns its place efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two parameters and no output schema, the description should at least clarify expected output (single row vs. list), behavior on no match, and any column-name constraints. None of this is provided. The description is too thin for an agent to call the tool reliably without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does not explain what 'column' refers to (name, index, allowed values) or the format of 'value' (exact string, wildcards, etc.). The description only restates the purpose without adding parameter-level meaning, leaving the agent to infer from parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns rows where a column equals a value exactly, with case-insensitivity. This distinguishes it from siblings like dataset_search (which implies fuzzy matching), though it lacks a verb phrase like 'retrieve' or 'look up' — the title provides that. It is specific about the resource (Enpso dataset) and the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'exactly (case-insensitive)' implies usage for exact-match lookups, contrasting with a search tool. However, it does not explicitly mention when to use this vs. alternatives (e.g., 'use dataset_search for partial matches'), nor any prerequisites or exclusions. The guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_searchSearch the datasetAInspect
Rows of the Enpso dataset whose cells contain the query (case-insensitive), up to 50.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | text to look for in any cell |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses case-insensitive matching and the 50-row limit, but it does not mention pagination, sorting, return format, or whether the operation is read-only. These are gaps, though the basic behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is one compact, front-loaded sentence. It conveys the resource, the matching behavior, case sensitivity, and the result cap with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward search tool, the description plus schema provides enough to call it correctly: required query, optional limit with constraints, case-insensitive contains semantics, and a 50-row cap. Missing details like the exact return shape and default limit are minor given the simplicity and lack of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes the query parameter but leaves limit undocumented. The description partially compensates by explaining query semantics ('cells contain the query', case-insensitive) and the 50-row upper bound. However, it doesn't state the default limit or how limit behaves when omitted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: find rows of the Enpso dataset whose cells contain the query. It also specifies case-insensitive matching and a 50-row cap, which distinguishes this from sibling tools like dataset_stats, dataset_columns, and dataset_row.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the search semantics: use it when you need row-level lookup by cell content. However, it does not explicitly explain when to prefer this over siblings like dataset_row or dataset_top, nor does it mention any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_statsSummary statistics for a numeric columnAInspect
count, min, max, mean, median and sum of a numeric column of the Enpso dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).
| Name | Required | Description | Default |
|---|---|---|---|
| column | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well: it discloses that grouping commas and currency are handled, and that non-numeric rows are excluded and counted. This gives useful edge-case behavior beyond the basic operation, though it does not specify output formatting or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is one dense, information-rich sentence. Every clause adds value: the statistic list, the dataset reference, the formatting handling, and the exclusion behavior. There is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description provides enough context to invoke it correctly: what to pass, what it returns, and some edge-case behavior. It could be more explicit about the exact response shape, but the enumerated statistics make the output predictable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the single 'column' parameter. It clarifies that the column should be numeric and that formatting quirks are handled, but it does not explicitly describe the parameter syntax or expected input format beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb context: it returns count, min, max, mean, median, and sum for a numeric column of the Enpso dataset. This distinguishes it from sibling tools like dataset_row or dataset_columns, which handle different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the usage context clear: use it when you need summary statistics for a numeric column. It does not explicitly name alternatives or exclusions, but the context is strong enough to guide an agent toward appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dataset_topRank rows by a numeric columnBInspect
The highest (or lowest) rows of the Enpso dataset by a numeric column — "which is the most/least X".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| column | Yes | ||
| ascending | No | true for the lowest first; default highest first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It states that it returns high/low rows by a numeric column, but does not describe what is returned (list vs. count), whether ties or nulls affect results, what happens if the column is non-numeric, or how the limit parameter interacts with the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with the core behavior front-loaded: highest/lowest rows by a numeric column. Every word contributes to meaning, and the quoted 'which is the most/least X' adds practical framing without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple ranking tool with only three parameters, one required, so the description is mostly adequate for choosing the tool. But with no output schema, it fails to clarify what the response contains, whether a limit is required, and how ordering is fully expressed, leaving some ambiguity for invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, so the description must compensate. It adds meaning for 'column' (must be numeric) and clarifies 'ascending' via the lowest/highest contrast. However, it does not explain the 'limit' parameter's semantics beyond the schema's min/max, nor does it state any default limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb and resource: it ranks the highest/lowest rows of the dataset by a numeric column, and the title reinforces 'Rank rows by a numeric column.' It differentiates itself from sibling search/stats/row tools by focusing on ordering by a numeric value, though it never explicitly names a sibling it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the phrasing 'which is the most/least X' — an agent can tell this is for ranking questions. However, there is no explicit guidance about when to prefer this over dataset_stats or dataset_search, and no exclusions or alternative conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
dataset_columns - First observed
dataset_compare - First observed
dataset_provenance - First observed
dataset_row - First observed
dataset_search - First observed
dataset_stats - First observed
dataset_top
Related MCP Connectors
Eposvo: the site's own MCP server — dataset; every answer cites the site.
Sopvo: the site's own MCP server — dataset; every answer cites the site.
Endpointo: the site's own MCP server — dataset; every answer cites the site.
Enrolvo: the site's own MCP server — dataset; every answer cites the site.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP server for the French open-data catalogue data.gouv.fr, enabling dataset search and retrieval, organization lookup, and reuse discovery via natural language queries.1 npmMIT
- AlicenseAqualityAmaintenanceMCP server for EU law via the EUR-Lex / Cellar SPARQL endpoint — legislation (ELI/CELEX) and CJEU case-law (ECLI) with verifiable citations.338 npm1MIT
- FlicenseAqualityCmaintenanceMCP server for querying a page-citable research knowledge base built from PDFs, with exact filename and page citations.6-
- FlicenseNot gradedqualityCmaintenanceAn MCP server that exposes grounded, source-attributed question-answering over a collection of PDF documents.-
Glama MCP Gateway
Add one secure layer between your agents and this server.