Skip to main content
Glama
opendata-forge

Spain & EU Public Data MCP

Spain & EU Public Data MCP (by OpenData Forge)

MCP Registry Spain & EU Public Data MCP Smithery MCPize License: MIT

Give Claude, Cursor or any MCP client live access to:

Tool

What it searches

search_boe_borme

Spain's Official State Gazette (BOE) and Companies Register Gazette (BORME) daily summaries – keyword, section, date range (≤31 days)

search_eu_funding

Open / forthcoming EU grant calls (Horizon Europe, Digital Europe, LIFE, CEF…) sorted by deadline

search_ted_tenders

EU public procurement notices on TED – keyword, buyer country (ISO-3), CPV, date

All tools are read-only, need no API keys, and return JSON with source links.

Example prompts

  • "Any new subsidies for SMEs published in the BOE this week?"

  • "List open EU calls about artificial intelligence closing in the next 60 days."

  • "Find Spanish software tenders published since 2026-10-01."

Related MCP server: tenderapi-mcp

Run

npm ci && npm run build
node dist/index.js            # Streamable HTTP on :8080/mcp
node dist/index.js --stdio    # stdio

Claude Desktop / Cursor (stdio):

{ "mcpServers": { "spain-eu-data": { "command": "node", "args": ["/path/dist/index.js", "--stdio"] } } }

Docker: docker build -t spain-eu-mcp . && docker run -p 8080:8080 spain-eu-mcp

Limits

BOE range ≤31 days/call, ≤200 results; EU funding ≤100; TED ≤100 per call. Data is fetched live from official sources; availability depends on them.

Data sources & attribution

Hosted versions

No install needed: use the hosted server on MCPize (free tier) or Smithery. Both require signing in to that platform.

Follow

Built and maintained by OpenData Forge.

Issues and feature requests: https://github.com/opendata-forge/eu-spain-public-data-mcp/issues

Available Tools

3 tools
search_boe_bormeSearch Spain BOE / BORME daily bulletinsA
Read-only
Inspect

Search the daily summaries of Spain's Official State Gazette (BOE) and Companies Register Gazette (BORME) by keyword, section and date range (max 31 days). Returns titles, departments and PDF/HTML links. Source: Agencia Estatal BOE (https://www.boe.es).

ParametersJSON Schema
NameRequiredDescriptionDefault
dateToNoDefault today; range defaults to last 7 days
dateFromNo
keywordsNoCase-insensitive keywords (Spanish), any match
sectionsNoSection codes e.g. "1","3","5A"
bulletinsNoDefault ["BOE"]
maxResultsNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds real context beyond them by disclosing the 31-day window constraint and the shape of the result set (titles, departments, PDF/HTML links) in the absence of an output schema. It does not mention pagination or rate limits, so it stops short of a 5.

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?

Three tight sentences: purpose, constraints/returns, provenance. Nothing is padded, and the scope constraint is front-loaded. The source URL sentence is borderline but defensible as provenance for an official gazette.

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?

With no output schema, the description correctly carries the return-value burden by naming the fields returned. For a 6-parameter, zero-required search tool the coverage is good, though the undocumented bulletins/maxResults defaults and lack of pagination notes leave small gaps.

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?

Schema coverage is 67%, and the description reinforces the keyword/section/date-range dimensions plus the 31-day ceiling on the range. It adds nothing about bulletins (default BOE) or maxResults (cap 200), leaving those entirely to the schema, so it neither compensates for nor extends the coverage gap.

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 names a specific verb (Search) and a precisely scoped resource: the daily summaries of Spain's BOE and BORME gazettes. The domain is so specific that it cannot be confused with the funding/tender siblings, and it spells out the gazette acronyms an agent might encounter.

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?

It states the three filter dimensions (keyword, section, date range) and a hard 31-day cap, which implies how the tool is meant to be driven, but it never says when to prefer it over another source or what happens when the range exceeds the limit. Usage is implied rather than stated.

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

search_eu_fundingSearch EU funding & grant callsB
Read-only
Inspect

Search open/forthcoming calls on the EU Funding & Tenders Portal (Horizon Europe, Digital Europe, LIFE, CEF, ...). Sorted by deadline. Source: European Commission.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsNoFree-text, e.g. "artificial intelligence"
statusesNo
maxResultsNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds useful context about source, sorted-by-deadline ordering, and covered programmes, but does not describe rate limits, authentication, pagination, or return behavior.

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?

Two short sentences, front-loaded with the core action and scope, with no wasted wording. The programme examples and source note earn their place by clarifying coverage.

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?

For a read-only, open-world search tool with annotations covering safety, the description gives adequate domain context. However, it is incomplete for guiding correct use: it omits parameter semantics, alternative tools, and any practical search constraints.

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 only 33%, so the description should compensate for undocumented parameters. It mentions open/forthcoming statuses implicitly but says nothing about the keywords or maxResults parameters, leaving significant gaps.

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 names a specific verb and resource ('Search open/forthcoming calls on the EU Funding & Tenders Portal') and lists relevant EU programmes, making the domain clear. It does not explicitly distinguish itself from sibling tools such as search_ted_tenders or search_boe_borme, so it falls short of a 5.

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?

It states what can be searched but gives no guidance on when to use this tool versus alternatives. There is no mention of exclusions, prerequisites, or sibling tools, leaving the agent to infer context.

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

search_ted_tendersSearch EU public tenders (TED)B
Read-only
Inspect

Search public procurement notices on TED (Tenders Electronic Daily) by keyword, buyer country (ISO-3, e.g. ESP, DEU), CPV code and publication date. Newest first.

ParametersJSON Schema
NameRequiredDescriptionDefault
cpvCodesNo
keywordsNo
countriesNoISO 3166-1 alpha-3
maxResultsNo
publishedAfterNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuine behavioral context beyond that – sort order ('Newest first') and the ISO-3 country convention (e.g. ESP, DEU) – but says nothing about result caps, pagination, default maxResults, or match semantics for keywords.

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?

Two short, front-loaded sentences with no filler; the filter list is grouped efficiently and the sort behavior is appended as a tight clause. Only minor gains would come from briefer phrasing.

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?

For a 5-parameter search with no output schema and no required parameters, the description covers the filter surface but leaves notable gaps: the default/limit behavior of maxResults, what a result record contains, and how results are paginated. Annotations cover safety, but the return-side completeness is thin.

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?

Schema description coverage is only 20% (just 'ISO 3166-1 alpha-3' on countries), so the description carries real compensating weight: it maps keywords, countries, CPV code and publication date to their filter meanings and supplies the ISO-3 example. It still omits the maxResults parameter entirely and gives no CPV/date format or multi-value combination semantics, so the compensation is partial.

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?

It names a specific verb (Search) and resource (public procurement notices on TED / Tenders Electronic Daily) and lists the filter fields, which is more than a restatement of the title. It does not, however, distinguish itself from the sibling search tools (search_boe_borme, search_eu_funding), leaving the agent to infer the boundary from the source name alone.

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 explicit when-to-use, when-not-to-use, or alternative routing. Because two siblings are also 'search_*' tools over adjacent data (Spanish BOE/BORME, EU funding), an agent gets no help deciding which source to query for a given need.

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.

  1. 3 tool updatesv0.1.0
    • First observedsearch_boe_borme
    • First observedsearch_eu_funding
    • First observedsearch_ted_tenders

TDQS

A3.6/5.0

Scored across 3 tools

Disambiguation5/5

Each tool targets a clearly distinct data source: Spanish gazette (BOE/BORME), EU funding calls, and TED procurement notices. There is no overlap in purpose or query parameters, so an agent can unambiguously select the right tool.

Naming Consistency5/5

All tools use the same search_ prefix followed by a source descriptor, forming a consistent verb_noun pattern. While the suffixes mix acronyms and descriptive terms, the overall convention is predictable and readable.

Tool Count4/5

Three tools is a focused set that fits within the typical 3-15 range, and each tool is distinct. However, given the broad server name 'Spain & EU Public Data', the count feels slightly under-scoped, as more public data sources could reasonably be included.

Completeness3/5

The surface covers search across four major sources (BOE, BORME, EU funding, TED), but notable gaps remain: no tool to retrieve full details of a specific notice, no cross-source search, and BOE/BORME is limited to a 31-day window of daily summaries. These limitations could cause agent failures for deeper research tasks.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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
    B
    maintenance
    Exposes French and EU public procurement data (BOAMP + TED) as MCP tools for AI agents, enabling search for tenders, awards, and winner intelligence via typed filters.
    4
    106 PyPI
    MIT