administracion-fuentes-publicas
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
MCP: Administración fuentes públicas
A remote Model Context Protocol server for the Spanish public data catalog Administración fuentes públicas.
It answers the question an agent actually has when it needs Spanish public data: where is this dataset, how do I request it, what does it return, and which silent trap will corrupt my number? The catalog is data, not documentation: every source carries verified endpoints, formats, update cadence, licence, identifier joins, client quirks, gotchas and alerts.
102 sources from central, regional and local government
14 buildable data products
47 ordered recipes
21 identifiers and join keys
24 API code lists
99 recorded dead or moved routes
Catalog content is in Spanish. Tool names, descriptions and this documentation are in English.
Endpoint:
https://mcp-afp.manalejandro.com/mcpLegacy SSE:
https://mcp-afp.manalejandro.com/sseHuman site:
https://mcp-afp.manalejandro.com/Agent guide:
https://mcp-afp.manalejandro.com/llms.txt
Connect
Claude Code
claude mcp add --transport http administracion-fuentes-publicas https://mcp-afp.manalejandro.com/mcpCursor / generic MCP JSON
{
"mcpServers": {
"administracion-fuentes-publicas": {
"url": "https://mcp-afp.manalejandro.com/mcp"
}
}
}Legacy HTTP+SSE clients
{
"mcpServers": {
"administracion-fuentes-publicas": {
"url": "https://mcp-afp.manalejandro.com/sse"
}
}
}Raw discovery (no SDK)
curl -s https://mcp-afp.manalejandro.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: server/discover' \
-d '{"jsonrpc":"2.0","id":1,"method":"server/discover","params":{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}'No authentication is required. The server is read-only and catalog-only: it never fetches third-party URLs, so it cannot be used as an open proxy or for SSRF.
Related MCP server: Datos.gob.es-MCP
Tools
Tool | What it does |
| Search sources, recipes, products, information needs and identifiers in one query. English and Spanish queries are both accepted. |
| Full record for any id: source, recipe, product, identifier or code group. Returns similar ids when the id does not exist. |
| Browse and filter sources by sector, administrative level, status, access type or format, with pagination. |
| Data products that can be built today, with their sources, recipes, freshness, volume, licence and main pitfall. |
| Ordered procedures that combine sources for a concrete intent. |
| Code lists that APIs require and nobody can guess: INE operations and variables, DataComex countries, AEMET stations, BOE sections, and more. |
| Check whether a remembered URL is a known dead or moved route, and get its replacement. |
| Identifier formats, regexes, issuers, joins and the pitfalls that break a join. |
Recommended flow:
search_catalogwith the need.get_recordon the best candidates. Readalertsfirst — they are the traps that change a number without raising an error. Then readquirks,ids,gotchas,endpoints,syncandrate_limit.get_codeswhen an endpoint needs an id;find_dead_routebefore trusting an old link.Use the returned endpoint and example with your own HTTP client.
Resources
URI | Contents |
| Counts, sectors, levels, statuses, access types and formats. |
| Short agent-facing quick start. |
| Full agent guide: rules, silent traps, sources by sector, recipes and cross-cutting guides. |
| Only the "rules before coding against a source" section, for a low-token read. |
| Source record. |
| Recipe record. |
| Product record. |
| Identifier record. |
| Code list. |
Prompts
Prompt | Purpose |
| Pick the best source for a concrete need, with trade-offs, access details, freshness, licence and traps. |
| Turn an idea into a build plan: matching product, sources, recipes, join keys, freshness, volume and pitfalls. |
| Audit one source for operational risk before relying on it. |
Protocol support
The Worker serves two MCP eras from the same origin.
Modern: 2026-07-28
POST /mcpwith a JSON-RPC request.Required body metadata in
params._meta:io.modelcontextprotocol/protocolVersionio.modelcontextprotocol/clientCapabilities({}is valid)
Required request headers:
MCP-Protocol-VersionMcp-MethodMcp-Namefor named operations (tools/call,resources/read,prompts/get)
Start with
server/discover. There is no session and no GET stream.Results carry
resultType: "complete"and_meta["io.modelcontextprotocol/serverInfo"].Errors follow the protocol profile:
-32602for invalid parameters or metadata,-32020for header/body mismatches,-32022for an unsupported version,-32601with HTTP 404 for an unknown method.
GET and DELETE on /mcp return 405, as this revision defines no server-initiated stream and no session to delete.
Legacy: 2024-11-05 / 2025-11-25
Legacy
initializehandshake onPOST /mcpwhen no modern metadata is present.Legacy HTTP+SSE on
GET /sse+POST /messages?sessionId=…, backed by a Durable Object per session.Legacy results never include
resultType.
Origin is validated on every MCP request. Only the production origin and local development hosts are accepted.
Other routes
Route | Purpose |
| Index with tools, resources, prompts and connect snippets. |
| Browse and inspect sources. |
| Products and recipes. |
| Identifiers and joins. |
| Search the same index as |
| Full catalog. |
| Agent-facing guides. |
| Status and catalog counts. |
| Crawler and icon files. |
Data
The Worker bundles a committed copy of the catalog so deploys do not depend on a sibling checkout:
src/data/catalog.json— generatedcatalog.jsonsrc/data/llms.ts—llms.txtandllms-min.txtas TypeScript strings
Refresh it from a local checkout of the source repository:
npm run data:sync
# or
CATALOG_SOURCE=/path/to/Administracion-fuentes-publicas npm run data:syncDo not edit src/data/* by hand.
Development
npm install
npm run dev # wrangler dev, http://localhost:8787
npm run typecheck # tsc --noEmit
npm run test # vitest with the Workers runtime
npm run check # typecheck + tests
npm run deploy # wrangler deployworker-configuration.d.ts is generated. After changing bindings in wrangler.jsonc:
npm run cf-typegenDeployment
wrangler.jsonc targets the custom domain mcp-afp.manalejandro.com and enables observability logs with traces disabled.
npx wrangler deployThe Durable Object class SseSession backs legacy SSE sessions. The v1 migration uses SQLite-backed Durable Objects.
Attribution
Catalog data: BquantFinance/Administracion-fuentes-publicas, MIT licensed. Each source record carries its own licence field; check it before commercial reuse.
Worker implementation: MIT, see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Find where real data lives: verified registries, APIs and datasets with recipes to pull them.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Normalized official data with provenance, aggregations, insights, free samples and agent access.
Search 77k public-sector open data APIs across 10 countries. Read-only, no API key.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP 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.265MIT
- AlicenseAqualityCmaintenanceEnables querying and analyzing over 90,000 public datasets from the Spanish Government Open Data Portal (datos.gob.es) using natural language, with tools for search, filtering, metadata access, and SPARQL queries.105MIT
- AlicenseAqualityCmaintenanceEnables discovering, describing, and querying public datasets from Catalunya, including Socrata, IDESCAT, and Open Data BCN portals.22MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search and retrieve datasets, publishers, and themes from Spain's national open-data catalogue through keyless MCP tools or HTTP endpoints.525 npmMIT