{"id":47903713,"url":"https://github.com/aplaceforallmystuff/spain-ai-kit","last_synced_at":"2026-04-04T04:29:33.558Z","repository":{"id":348538230,"uuid":"1198479087","full_name":"aplaceforallmystuff/spain-ai-kit","owner":"aplaceforallmystuff","description":"MCP servers connecting AI applications to Spanish government open data and legal infrastructure","archived":false,"fork":false,"pushed_at":"2026-04-01T15:06:15.000Z","size":157,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-01T16:29:33.025Z","etag":null,"topics":["boe","claude","ine","legislation","mcp","mcp-server","model-context-protocol","open-data","spain","spanish-government","statistics"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aplaceforallmystuff.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-01T13:13:39.000Z","updated_at":"2026-04-01T15:06:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aplaceforallmystuff/spain-ai-kit","commit_stats":null,"previous_names":["aplaceforallmystuff/spain-ai-kit"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/aplaceforallmystuff/spain-ai-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aplaceforallmystuff%2Fspain-ai-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aplaceforallmystuff%2Fspain-ai-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aplaceforallmystuff%2Fspain-ai-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aplaceforallmystuff%2Fspain-ai-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aplaceforallmystuff","download_url":"https://codeload.github.com/aplaceforallmystuff/spain-ai-kit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aplaceforallmystuff%2Fspain-ai-kit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31388164,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T04:26:24.776Z","status":"ssl_error","status_checked_at":"2026-04-04T04:23:34.147Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boe","claude","ine","legislation","mcp","mcp-server","model-context-protocol","open-data","spain","spanish-government","statistics"],"created_at":"2026-04-04T04:29:32.796Z","updated_at":"2026-04-04T04:29:33.553Z","avatar_url":"https://github.com/aplaceforallmystuff.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spain AI Kit\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![MCP](https://img.shields.io/badge/MCP-Compatible-blue)](https://modelcontextprotocol.io)\n\nConnect AI applications to Spanish government open data and legal infrastructure.\n\nAn open-source SDK providing MCP (Model Context Protocol) servers for Spanish government APIs. Query national statistics, search legislation, and access 12,000+ consolidated laws — all from your AI assistant.\n\nInspired by [estonia-ai-kit](https://github.com/stefanoamorelli/estonia-ai-kit).\n\n## Quick Start\n\n### Claude Desktop\n\nAdd to your Claude Desktop config (`claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"spain-ine\": {\n      \"command\": \"npx\",\n      \"args\": [\"@spain-ai-kit/ine-mcp-server\"]\n    },\n    \"spain-boe\": {\n      \"command\": \"npx\",\n      \"args\": [\"@spain-ai-kit/boe-mcp-server\"]\n    },\n    \"spain-catastro\": {\n      \"command\": \"npx\",\n      \"args\": [\"@spain-ai-kit/catastro-mcp-server\"]\n    },\n    \"spain-aemet\": {\n      \"command\": \"npx\",\n      \"args\": [\"@spain-ai-kit/aemet-mcp-server\"],\n      \"env\": {\n        \"AEMET_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n### Claude Code\n\n```json\n{\n  \"mcpServers\": {\n    \"spain-ine\": {\n      \"command\": \"npx\",\n      \"args\": [\"@spain-ai-kit/ine-mcp-server\"]\n    },\n    \"spain-boe\": {\n      \"command\": \"npx\",\n      \"args\": [\"@spain-ai-kit/boe-mcp-server\"]\n    },\n    \"spain-catastro\": {\n      \"command\": \"npx\",\n      \"args\": [\"@spain-ai-kit/catastro-mcp-server\"]\n    },\n    \"spain-aemet\": {\n      \"command\": \"npx\",\n      \"args\": [\"@spain-ai-kit/aemet-mcp-server\"],\n      \"env\": {\n        \"AEMET_API_KEY\": \"your-api-key-here\"\n      }\n    }\n  }\n}\n```\n\n\u003e **AEMET API Key:** The weather server requires a free API key. Get one in 30 seconds at [opendata.aemet.es](https://opendata.aemet.es/centrodedescargas/altaUsuario) — just enter your email. The other servers need no setup.\n\nThen ask Claude things like:\n- \"What is the current CPI in Spain?\"\n- \"Search Spanish law about data protection\"\n- \"Show me employment statistics for Valencia\"\n- \"What does the foreigners law say about residence permits?\"\n- \"What property is at this Madrid address?\"\n- \"Look up the cadastral reference for Puerta del Sol\"\n- \"What's the weather forecast for Valencia this week?\"\n- \"Are there any weather alerts in Spain right now?\"\n- \"What's the UV index in Málaga today?\"\n\nFor detailed usage examples, tips, and troubleshooting, see the **[User Guide](docs/GUIDE.md)**.\n\n## MCP Servers\n\n### INE — National Statistics (`@spain-ai-kit/ine-mcp-server`)\n\nConnects to the [Instituto Nacional de Estadistica](https://www.ine.es/) JSON API. 70+ statistical operations covering demographics, economics, employment, housing, tourism, and more.\n\n| Tool | Description |\n|------|-------------|\n| `list_operations` | List all available statistical operations |\n| `search_operations` | Search operations by keyword (in Spanish) |\n| `get_operation` | Get metadata for a specific operation |\n| `list_tables` | List data tables for an operation |\n| `get_table_data` | Get actual data from a table |\n| `get_series` | Get a specific time series |\n| `get_variable_values` | Get values for a variable (provinces, age groups, etc.) |\n\n**Data source:** [INE Tempus3 API](https://servicios.ine.es/wstempus/js/) — public, no authentication required.\n\n### BOE — Legislation (`@spain-ai-kit/boe-mcp-server`)\n\nConnects to the [Boletin Oficial del Estado](https://www.boe.es/) open data API and the [legalize-es](https://github.com/legalize-dev/legalize-es) legislation corpus.\n\n| Tool | Description |\n|------|-------------|\n| `search_legislation` | Search consolidated legislation by keyword, date, scope |\n| `get_document` | Get full document with metadata and legal analysis |\n| `get_document_metadata` | Get document metadata (title, dates, status) |\n| `get_document_analysis` | Get legal analysis (subjects, references, amendments) |\n| `get_document_index` | Get table of contents (articles, sections) |\n| `get_article` | Get text of a specific article |\n| `get_daily_summary` | Get BOE daily gazette for a date |\n| `list_subjects` | List all subject categories |\n| `list_departments` | List all government departments that publish in the BOE |\n| `list_scopes` | List legal scopes (Estatal, Autonómico, etc.) |\n| `list_legal_ranks` | List legal document types (Ley Orgánica, Real Decreto, etc.) |\n| `search_corpus` | Full-text search across 12,000+ laws (requires legalize-es submodule) |\n| `read_corpus_law` | Read a specific law's full Markdown text |\n\n**Data sources:**\n- [BOE Open Data API](https://www.boe.es/datosabiertos/) — public, no authentication required\n- [legalize-es](https://github.com/legalize-dev/legalize-es) — 12,000+ Spanish laws as Markdown, reform history tracked via Git\n\n### Catastro — Land Registry (`@spain-ai-kit/catastro-mcp-server`)\n\nConnects to the [Dirección General del Catastro](https://www.catastro.hacienda.gob.es/) web services. Property lookups, address resolution, and geocoding for all of Spain.\n\n| Tool | Description |\n|------|-------------|\n| `list_provinces` | List all Spanish provinces with codes |\n| `list_municipalities` | List municipalities in a province |\n| `list_streets` | List streets in a municipality |\n| `lookup_address` | Get cadastral reference for a street address |\n| `get_property` | Get property data by cadastral reference |\n| `get_property_by_parcel` | Get property data by polygon/parcel codes |\n| `get_coordinates` | Get lat/lon for a cadastral reference |\n| `get_reference_at_coordinates` | Reverse geocode: coordinates to cadastral reference |\n| `find_properties_nearby` | Find properties within distance of coordinates |\n\n**Data source:** [Catastro OVC Web Services](https://ovc.catastro.meh.es/) — public, no authentication required.\n\n### AEMET — Weather (`@spain-ai-kit/aemet-mcp-server`)\n\nConnects to [AEMET OpenData](https://opendata.aemet.es/) for weather forecasts, observations, and alerts across Spain. Requires a free API key.\n\n| Tool | Description |\n|------|-------------|\n| `search_municipalities` | Search municipalities by name for forecast codes |\n| `list_municipalities` | List all 8,000+ Spanish municipalities |\n| `get_forecast_daily` | Daily weather forecast for a municipality |\n| `get_forecast_hourly` | Hourly forecast (48h) for a municipality |\n| `get_current_observations` | Current weather from all stations |\n| `get_station_observations` | Last 12h observations from a specific station |\n| `get_weather_alerts` | Active adverse weather alerts by region |\n| `get_beach_forecast` | Beach weather forecast |\n| `get_uv_index` | UV radiation index prediction |\n| `get_fire_risk` | Forest fire risk levels |\n\n**Data source:** [AEMET OpenData API](https://opendata.aemet.es/) — free API key required ([sign up](https://opendata.aemet.es/centrodedescargas/altaUsuario)).\n\n## Legislation Corpus\n\nThe BOE server optionally integrates with [legalize-es](https://github.com/legalize-dev/legalize-es), which provides the full consolidated text of 12,000+ Spanish laws as Markdown files with Git-tracked reform history.\n\nTo enable corpus search:\n\n```bash\ngit clone --recurse-submodules https://github.com/aplaceforallmystuff/spain-ai-kit.git\n# Or if already cloned:\ngit submodule update --init\n```\n\nCoverage: national legislation + all 17 autonomous communities (Andalucia, Aragon, Asturias, Baleares, Canarias, Cantabria, Castilla-La Mancha, Castilla y Leon, Catalunya, Ceuta, Extremadura, Galicia, La Rioja, Madrid, Melilla, Murcia, Navarra, Pais Vasco, Valencia).\n\n## Development\n\n```bash\n# Clone with submodules\ngit clone --recurse-submodules https://github.com/aplaceforallmystuff/spain-ai-kit.git\ncd spain-ai-kit\n\n# Install dependencies\nnpm install\n\n# Build all packages\nnpm run build\n\n# Run tests\nnpm test\n\n# Format code\nnpm run format\n```\n\n### Project Structure\n\n```\nspain-ai-kit/\n├── mcp/\n│   ├── ine/              # INE Statistics MCP server\n│   ├── boe/              # BOE Legislation MCP server\n│   ├── catastro/         # Catastro Land Registry MCP server\n│   └── aemet/            # AEMET Weather MCP server\n├── packages/\n│   └── shared/           # Shared utilities (API client, types, XML parser)\n├── corpus/\n│   └── legalize-es/      # Git submodule — legislation as Markdown\n├── nx.json\n└── tsconfig.base.json\n```\n\n## Roadmap\n\nFuture servers and features under consideration:\n\n| Service | Description | Auth |\n|---------|-------------|------|\n| **datos.gob.es** | National open data portal (umbrella for many datasets) | No |\n| **AEAT** | Tax agency (declarations, obligations) | Cl@ve |\n| **CNMV** | Securities market commission | No |\n| **SEPE** | Employment service | Cl@ve |\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on adding new MCP servers and contributing to existing ones.\n\n## License\n\nMIT — see [LICENSE](LICENSE) for details.\n\nLegislative content sourced from public government APIs is in the public domain.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faplaceforallmystuff%2Fspain-ai-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faplaceforallmystuff%2Fspain-ai-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faplaceforallmystuff%2Fspain-ai-kit/lists"}