Skip to main content
Glama
AnCode666

Datos.gob.es-MCP

by AnCode666

Datos.gob.es-MCP. MCP integration with the Spanish Government Open Data Portal

en es

Datos.gob.es-mcp enables querying and analyzing over 90,000 public datasets available on the datos.gob.es portal directly from Claude AI and other compatible MCP clients using the Model Context Protocol (MCP).

This MCP server exposes tools for LLMs to search, filter, and access open data across multiple sectors.

Main features

  • Keyword search across dataset titles, descriptions and tags.

  • Thematic category filtering (environment, transportation, education, etc.)

  • Detailed metadata access for each dataset.

  • Available distributions listing (formats and access URLs)

  • Custom SPARQL queries execution against the official SPARQL endpoint.

Related MCP server: CKAN MCP Server

Installation

Install via uv

Prerequisites

  • Python 3.10 or higher

  • uv package manager

uv Installation

First install uv, a modern Python package manager. Install from command line:

En MAC y Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

En Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

También se puede instalar con pip:

pip install uv

For more information about installing uv, visit the uv documentation.

Integration with clients like Claude for Desktop

Once uv is installed, you can use the MCP server with any compatible client like Claude Desktop. Configuration steps:

  1. Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json

  2. Add this configuration block under "mcpServers":

"datos_gob_es_mcp": {
    "command": "uvx",
    "args": [
        "datos_gob_es_mcp"
    ]
}
  1. If you have other MCP servers configured, separate them with commas ,

For other MCP-compatible clients like Cursor, CODEGPT or Roo Code, add the same configuration block to their respective MCP server settings.

Usage Examples

Once properly configured, you can request operations like:

- "Search for public transportation datasets in Madrid"
- "List latest datasets published by Barcelona City Council"
- "Show details for dataset with URI https://datos.gob.es/es/catalogo/l01330241-padron-de-vehiculos-ano-2023-autobuses"
---

Available Tools

10 tools
get_dataset_detailsC

Get detailed information about a specific dataset.

Args: dataset_uri: URI of the dataset to get details for

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_uriYes

TDQS

C2.9/5.0
Behavior2/5

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 states the tool 'gets' information, implying a read operation, but discloses no behavioral traits such as idempotency, cost, or authentication needs. The lack of detail is a significant gap for a simple retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with two short lines and no wasted words. However, it could be slightly more informative without losing conciseness, such as hinting at the return structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and a single parameter with minimal description, the description is incomplete. It does not explain what 'detailed information' includes, leaving agents uncertain about the tool's output and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add meaning. It states 'URI of the dataset to get details for', which provides basic context beyond the property name but lacks format, examples, or constraints. This is minimally helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves detailed information about a specific dataset, using 'Get detailed information' as a specific verb+resource. It distinguishes from siblings like get_dataset_distributions or get_datasets_by_theme, which focus on different aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when the agent has a dataset URI and needs details, but it provides no explicit guidance on when to use this tool over alternatives (e.g., get_dataset_distributions) or any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_dataset_distributionsC

Get available distributions (file formats) for a specific dataset.

Args: dataset_uri: URI of the dataset

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_uriYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose all behavioral traits. It states only that it retrieves distributions, but does not mention whether it requires authentication, is read-only, handles errors for missing datasets, or any side effects. The description is insufficient for transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short and uses a brief sentence plus an Args section. While concise, it lacks structured sections (e.g., Returns, Notes) and the Args formatting is minimal. It is functional but could be better organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema and no annotations, the description is too sparse. It fails to explain what distributions are, how results are returned, possible error conditions, or behavior for invalid URIs. The sibling context provides some differentiation but completeness is lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'dataset_uri' has 0% schema description coverage. The description adds only 'URI of the dataset', which is essentially the same as the schema title. It does not provide format, example, or constraints beyond what the schema already implies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('available distributions (file formats) for a specific dataset'), clearly stating what the tool returns. It distinguishes itself from siblings like 'get_dataset_details' which likely returns metadata, and search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives. Siblings are listed but no explicit comparisons, prerequisites, or exclusion criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_datasets_by_themeA

Get datasets belonging to a specific theme/category.

Args: theme_uri: URI of the theme limit: Maximum number of datasets to return (default: 10)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
theme_uriYes

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations. Description does not disclose read-only, pagination, or error behavior. Minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with no wasted words. All information is relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple query tool given no output schema. Could mention that theme_uri comes from list_themes, but not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Adds meaning beyond schema: explains theme_uri as 'URI of the theme' and limit as max datasets with default. Compensates for 0% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'Get', resource 'datasets', and qualifier 'by theme'. Distinguishes from siblings like list_datasets, get_latest_datasets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for filtering by theme but no explicit when-not or alternatives. No warning about theme_uri format or existence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_latest_datasetsC

Get the most recently published datasets.

Args: limit: Maximum number of datasets to return (default: 10)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It does not explain how 'most recently published' is determined, ordering, pagination, or any side effects. The description is too minimal for a tool with no safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with no wasted words, but it lacks structure such as headings or separate sections. For a simple tool, it is adequate but could benefit from additional context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single parameter and no output schema, the description fails to explain the return format, ordering criteria, or any implicit limits. It is insufficient for an agent to fully understand the tool's output and behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning to the 'limit' parameter by stating it is the maximum number to return, which supplements the schema's default value. However, schema description coverage is 0%, so the description partially compensates but does not fully explain all aspects.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the most recently published datasets, using a specific verb+resource combination. However, it does not differentiate from sibling tools like list_datasets or search_datasets, which may also return dataset lists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool instead of alternatives (e.g., list_datasets, search_datasets). The description lacks context for selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_publisher_datasetsB

Get datasets published by a specific organization.

Args: publisher_uri: URI of the publisher limit: Maximum number of datasets to return (default: 10)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
publisher_uriYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden of behavioral disclosure. It does not state whether the tool is read-only, what side effects exist, or how it handles pagination, errors, or large results. The mention of 'limit' implies some control but lacks explanation of behavior beyond defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise yet informative, with a clear one-sentence purpose followed by parameter documentation. Every sentence is necessary and front-loaded, 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.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description should at least hint at the return format (e.g., list of dataset objects). It does not describe the output structure, pagination behavior, or any side effects. Given the tool's relative simplicity, the description is incomplete for an agent to fully understand what it returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description adds meaning for both parameters: 'publisher_uri' as 'URI of the publisher' and 'limit' as 'Maximum number of datasets to return (default: 10)'. This compensates for the missing schema descriptions, though it could provide more detail on URI format or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get datasets') and the filtering criterion ('published by a specific organization'), which is distinct from sibling tools like list_datasets and search_datasets. The verb 'Get' and resource 'datasets' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives (e.g., search_datasets, list_datasets). The description does not mention when not to use it or provide context for choosing this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_datasetsB

List datasets available in the Spanish Government Open Data Portal.

Args: limit: Maximum number of datasets to return (default: 10)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It only states it 'list datasets,' implying a read operation, but omits behavioral details like pagination, ordering, result format, or whether it returns all datasets or a subset. The limit parameter hints at truncation but no further disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences plus an argument definition. The first sentence states the core purpose. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a listing tool, important context is missing: pagination details (offset, cursor), ordering, total count, and whether results are stable. The single parameter is explained but overall completeness is low given no output schema and minimal behavioral disclosure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% (no parameter descriptions in schema). The description compensates by explaining 'limit: Maximum number of datasets to return (default: 10),' adding clear meaning beyond the schema's type and default values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists datasets from the Spanish Government Open Data Portal. It distinguishes from siblings like get_dataset_details (single dataset) and search_datasets (filtered search), but could be more explicit about the scope (e.g., 'all datasets' vs 'latest').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance provided on when to use this tool versus alternatives like search_datasets or get_latest_datasets. The description lacks explicit when-to-use/when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_publishersB

List publishers (organizations) that publish datasets.

Args: limit: Maximum number of publishers to return (default: 10)

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only mentions the limit parameter but does not disclose behavior like pagination, sorting, maximum limit, or whether it returns all publishers or only a subset. The description is minimally informative beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with only two sentences, no unnecessary words or repetition. It efficiently states the purpose and explains the single parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description fails to explain what the return value contains (e.g., list of publisher names or details). It also lacks context about the default behavior beyond the parameter default. Incomplete for an agent to understand the full effect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning to the 'limit' parameter beyond the schema's type and default, explaining it as the maximum number of publishers to return. With schema coverage at 0%, this extra detail is valuable, though it is brief.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool lists publishers (organizations) that publish datasets. This is a specific verb and resource, and it distinguishes itself from sibling tools like 'get_publisher_datasets' which retrieves datasets for a given publisher.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_themesA

List all themes/categories available in the data portal.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates a read operation but provides no additional behavioral details such as pagination, response format, or rate limits. Since annotations are absent, the description could offer more context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no redundancy. Every word is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the agent lacks information about the response structure. However, the tool is simple (0 params) so the description provides adequate high-level understanding. Could mention if results are limited or sorted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so the description inherently covers all parameter semantics. A score of 4 is appropriate as it adds no extra detail beyond what is implicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('list') and the resource ('themes/categories'), with scope ('all'). It effectively distinguishes from sibling tools like list_datasets and list_publishers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description does not mention any context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_custom_sparqlC

Run a custom SPARQL query against the datos.gob.es endpoint.

Args: sparql_query: SPARQL query string (must be valid SPARQL)

ParametersJSON Schema
NameRequiredDescriptionDefault
sparql_queryYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states 'run a custom SPARQL query' without explaining potential impacts like query time, result size, read-only nature, rate limits, or output format. This is insufficient for a powerful query tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short (two sentences) and front-loaded with the core action. However, the 'Args:' section is informal for MCP. It is concise, but could be more structured (e.g., using standard Markdown).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of custom SPARQL, the lack of output schema, and no annotations, the description is incomplete. It does not mention result format, error handling, or safety considerations, making it harder for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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 adds that the parameter must be a 'valid SPARQL' string, which is partially helpful but obvious from the parameter name. No further constraints, examples, or format details are provided, leaving the parameter largely under-specified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Run' and the resource 'custom SPARQL query against the datos.gob.es endpoint'. It distinguishes from sibling tools like get_dataset_details and list_datasets, which are specific retrieval functions. The purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings. It does not mention that this tool should be used only when the specific dataset/list tools are insufficient, nor does it note any prerequisites or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_datasetsA

Search datasets by keyword in title, description, and keywords/tags.

Args: keyword: Keyword to search for (case-insensitive). limit: Maximum number of datasets to return (default: 10).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
keywordYes

TDQS

A4/5.0
Behavior2/5

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 mentions case-insensitive search and a default limit, but does not disclose output format, pagination, error handling, or behavior with empty keyword. This is minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences plus parameter details. It is front-loaded and contains no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description adequately explains the search scope and parameters, but lacks information about return values (since no output schema). Given the tool is a search, knowing what fields are returned would be helpful for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description fully explains both parameters: keyword as a case-insensitive search term, and limit as maximum results with default 10. Since schema description coverage is 0%, the description adds all necessary meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches datasets by keyword in title, description, and keywords/tags. This distinguishes it from siblings like list_datasets (lists all) and get_dataset_details (single dataset).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool: for keyword-based search across specific fields. It does not explicitly mention when not to use it or alternatives, but the context is sufficient given sibling tools.

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. Dates show when Glama detected each change.

  1. 10 tool updatesv0.1.0
    • First observedget_dataset_details
    • First observedget_dataset_distributions
    • First observedget_datasets_by_theme
    • First observedget_latest_datasets
    • First observedget_publisher_datasets
    • First observedlist_datasets
    • First observedlist_publishers
    • First observedlist_themes
    • First observedrun_custom_sparql
    • First observedsearch_datasets

TDQS

A3.6/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: listing, searching, filtering by theme/publisher, getting details/distributions, and running SPARQL queries. There is no overlap that could cause confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., list_datasets, get_dataset_details). The only exception, run_custom_sparql, still fits the verb_noun style and is clear.

Tool Count5/5

10 tools is well-scoped for the domain of accessing open government data, covering all essential operations without being excessive or too few.

Completeness4/5

The tool set covers dataset discovery, filtering, details, and distributions, plus listing publishers and themes. A custom SPARQL endpoint adds flexibility. Minor gaps include no drill-down into publisher/theme details, but core workflows are supported.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for querying Spanish government open data APIs including grants, legislation, company registry, statistics, and open data catalog. Enables LLMs to access Spanish public information on-the-fly.
    26
    5
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to search, explore, and query any CKAN open data portal through natural language, making public datasets accessible without requiring knowledge of the portal's API.
    20
    414
    57
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects LLMs to over 2,850 datasets from 13 Catalan and Spanish open data portals, enabling natural language search and real-time queries of public data.
    8
    92
    21
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AnCode666/datos.gob.es-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server