Ireland MCP
MCP serverEverything elseRead-only Irish public data for AI assistants: stats, weather, transport, law, property and maps.
Use Ireland MCP in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Ireland MCP and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use Ireland MCP
No other account needed.
Details
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Install Ireland MCP
The server’s own address, for the clients that take one directly. Or connect ahel once and every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user ireland-mcp 'https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=ireland-mcp&config=eyJ1cmwiOiJodHRwczovL2Z1bmMtaXJlbGFuZC1tY3AtYW9mc2pwd2d5NGh2YS5henVyZXdlYnNpdGVzLm5ldC9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add ireland-mcp --url 'https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp'Run it once, then sign in with codex mcp login ireland-mcp if the server asks for an account.
From the project's README
As published by c-mongan/ireland-mcp in README.md.
Ireland MCP is a free, read-only MCP server that lets AI assistants answer questions with live Irish public data and citations.
Hosted endpoint: https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp
Transport: Streamable HTTP. Auth: none. Writes: none.
Try asking
- “What is the latest population profile for Galway city or County Cork?”
- “Are there Met Éireann weather warnings near Dublin today?”
- “What did houses sell for in Ennis last year?”
- “When is the next train from Heuston, and are there disruptions?”
- “Who are the current TDs for my constituency, and what bills are active?”
- “What protected habitats, monuments, planning applications or census areas are near this point?”
See it work
| Proof | Screenshot |
|---|---|
| Live landing page, desktop | |
| Live landing page, mobile | |
| Install section with one-click client setup | |
| Playground populated from a real live MCP call | |
| MCP Inspector connected to the live endpoint | |
| Real model transcript: question → tool calls → answer |
Install
| Client | Current setup |
|---|---|
| Claude custom connector | Settings → Connectors → Add custom connector → URL https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp → no auth. |
| ChatGPT developer mode connector | Settings → Apps & Connectors → Advanced settings → enable Developer mode → create MCP connector → URL above → no auth. The remote endpoint supports Streamable HTTP; search/fetch are included for deep-research style clients. |
| VS Code | Deeplink: vscode://mcp/install?.... Or add .vscode/mcp.json: { "servers": { "ireland": { "type": "http", "url": "https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp" } } }. |
| VS Code Insiders | Deeplink: vscode-insiders://mcp/install?.... |
| Cursor | Deeplink: cursor://anysphere.cursor-deeplink/mcp/install?name=ireland&config=.... Decoded config: { "type": "http", "url": "https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp" }. |
| GitHub Copilot CLI | copilot mcp add --transport http ireland https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp or put the JSON below in ~/.copilot/mcp-config.json. |
| Claude Code | claude mcp add --transport http ireland https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp |
| Local stdio | npm package target: npx -y ireland-mcp after npm publication. Today, run from source: npm ci && npm run build && node dist/src/cli.js. Add --toolsets=cso,irish-rail or IRELAND_MCP_TOOLSETS=all if you want typed tools listed locally. |
Portable Copilot / MCP JSON:
{
"mcpServers": {
"ireland": {
"type": "http",
"url": "https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp",
"tools": ["*"]
}
}
}
Why it is lean
Most data MCPs expose every typed tool up front. Ireland MCP keeps the default tools/list to 7 tools, 7,192 characters, about 1,798 tokens on this branch (npm run measure:tools). CI fails if that list grows past 16,000 characters.
Need typed tools anyway?
| Surface | Use |
|---|---|
| Default HTTP | /mcp lists only ireland_catalogue, ireland_describe, ireland_call, ireland_about, search, fetch, nearby. |
| Source toolsets | /mcp?toolsets=cso,irish-rail lists selected typed tools too. |
| One source path | /mcp/x/{source} lists that source's typed tools, for example /mcp/x/met-eireann. |
| Everything | /mcp?toolsets=all lists all 74 tools and is useful for debugging, not routine chat. |
| Local stdio | From source: node dist/src/cli.js --toolsets=cso or IRELAND_MCP_TOOLSETS=all (npm package not yet published). |
max_tokens defaults to about 2,000 output tokens and can be set from 100 to 8,000. Large results return truncated, counts and narrowing hints instead of flooding the context.
Architecture
The server is a stateless Azure Functions Flex app with a lean gateway in front of the source modules. The gateway owns the operation index, response budgets, cache, upstream budgets, circuit breakers and evidence envelope; every normal result includes source URL, licence, attribution and retrieval metadata.
| Diagram | Editable source |
|---|---|
ireland-mcp-arch-v5.drawio | |
ireland-mcp-request-flow.drawio | |
ireland-mcp-lean-surface.drawio |
Sources
Generated from src/registry.ts and the 28 source modules. The default nearby, search and fetch shortcuts sit above these sources.
| Domain | Source id | Publisher / source | Operations | Licence |
|---|---|---|---|---|
| stats | cso | Central Statistics Office (CSO) PxStat | 4 | CC BY 4.0 |
| economy | world-bank | World Bank Open Data | 2 | CC BY 4.0 |
| stats | eurostat | Eurostat Statistics API | 3 | Eurostat reuse policy (CC BY 4.0 equivalent) |
| stats | ecb | ECB Data Portal | 3 | ECB terms, free reuse with attribution |
| stats | pobal | Pobal HP Deprivation Index 2022 | 1 | CC BY 4.0 |
| stats | data-gov-ie | data.gov.ie | 3 | Per dataset, mostly CC BY 4.0 |
| economy | cro | Companies Registration Office open data | 3 | CC BY 4.0 |
| economy | kohesio | European Commission Kohesio — may block some cloud-hosted IPs; use local stdio if hosted calls return 403 | 2 | EU reuse policy / CC BY 4.0 compatible |
| stats | smart-dublin | Smart Dublin open data | 3 | Per dataset, mostly CC BY 4.0 |
| stats | census-areas | CSO Census 2022 small areas / Tailte Éireann | 1 | CC BY 4.0 |
| law/politics | oireachtas | Houses of the Oireachtas Open Data API | 5 | Oireachtas Open Data PSI Licence |
| law/politics | legislation | Irish Statute Book | 3 | PSI General Licence / CC BY 4.0 |
| places/property | geohive | Tailte Éireann GeoHive boundaries | 4 | CC BY 4.0 |
| places/property | wikidata | Wikidata | 2 | CC0 1.0 |
| places/property | ppr | Residential Property Price Register | 2 | PSI General Licence / CC BY 4.0 |
| places/property | planning | National Planning Application Database | 2 | CC BY 4.0 |
| places/property | heritage | National Monuments Service SMR | 1 | CC BY 4.0 |
| environment | met-eireann | Met Éireann | 3 | CC BY 4.0 |
| environment | marine | Marine Institute weather buoys | 1 | CC BY 4.0 |
| environment | opw-water | OPW waterlevel.ie | 2 | CC BY 4.0 |
| environment | environment-sites | NPWS designated protected sites | 2 | CC BY 4.0 |
| environment | epa | EPA Water Framework Directive open data | 2 | CC BY 4.0 |
| transport | nta | National Transport Authority GTFS-Realtime | 2 | CC BY 4.0 |
| transport | irish-rail | Iarnród Éireann realtime API | 2 | Public open data; attribution required |
| transport | luas | Luas Forecasting API / TII | 2 | CC BY 4.0 |
| transport | bikes | CityBikes / GBFS | 2 | CityBikes attribution/link; underlying operator terms |
| energy | eirgrid | EirGrid Smart Grid Dashboard | 1 | Public information; attribution required |
| economy | ted | EU TED | 2 | EU reuse policy / CC BY 4.0 |
Licence and attribution
| Layer | Licence / attribution |
|---|---|
| Code | MIT, copyright Conor Mongan. |
| Source metadata and returned data | Stays under each publisher licence. Every normal tool response includes source, url, licence, attribution, retrieved_at, cache and truncation metadata. |
| CSO / Eurostat / ECB / Wikidata / World Bank | Cite CSO, Eurostat, ECB Data Portal, Wikidata contributors and World Bank Open Data respectively; Wikidata is CC0. |
| Oireachtas / legislation / PSI sources | Cite Oireachtas Open Data, eISB / Office of the Attorney General, PSRA, OPW and other named PSI publishers as shown in responses. |
| Weather, transport, environment, business and maps | Cite Met Éireann, NTA, Iarnród Éireann, TII/Luas, EirGrid, Marine Institute, Tailte Éireann, NMS, NPWS, EPA, Pobal, CRO, Kohesio/TED and JCDecaux/CityBikes/GBFS as applicable. |
| Full notice | See NOTICE. Not affiliated with any government body, data publisher or transport operator. |
Observability and privacy
GET /healthzis fast liveness;GET /healthz?deep=1performs one cheap check per source.- A status workflow publishes
status/status.jsonand 7-day history. - OpenTelemetry can export MCP semantic-convention spans and operation-duration metrics to Azure Monitor.
- Tool logs and telemetry avoid argument values and IP addresses. See PRIVACY.md.
- Browser CORS is restricted by
MCP_ALLOWED_ORIGINS; non-browser MCP clients are unaffected.
Limits
- Read-only public data only. No login-gated, paid or key-required user data.
- NTA realtime tools need a server-side NTA operator key; other tools work without keys.
- Upstream data can be delayed, provisional, incomplete or temporarily down. Stale cache is labelled
stale: true. - Property Price Register values are declared sale prices, not valuations.
- Legislation text is for retrieval and analysis, not legal advice.
- Large tables are paginated or truncated. Use
fields,limit,cursorand source filters.
Run from source
Needs Node 22.12 or later.
git clone https://github.com/c-mongan/ireland-mcp
cd ireland-mcp
npm ci
npm run build
node dist/src/cli.js
npm run dev:http # local HTTP dev server, MCP at /mcp
Development
| Command | What it does |
|---|---|
npm test | Unit tests against recorded fixtures; no network. |
npm run typecheck && npm run lint | TypeScript and ESLint. |
npm run build | Compile production JS and copy runtime assets. |
npm run inspector:check | MCP Inspector conformance. |
npm run measure:tools [-- all] | Measure default or all-tool tools/list. |
npm run live:sanity | One real call per source through ireland_call; writes docs/live-sanity.md. |
npm run live:all [-- --url https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp] | Real MCP client proof for every catalogue operation; writes docs/live-all-ops.md. |
npm run eval | Promptfoo evaluation; default surface unless EVAL_TOOLSETS=all. |
Eval results
69 routing questions, run through a multi-round agent loop that sends the server instructions as the system prompt (2026-10-05, Azure OpenAI):
| Model | Default surface (7 tools) | all surface (74 tools) |
|---|---|---|
| gpt-5.6-luna | 100% | 100% |
| gpt-5.4-mini | 91% | 97% |
| gpt-4.1-nano (worst-case floor) | 84% | 90% |
gpt-5.x models reject temperature: 0. For them, set EVAL_TEMPERATURE=default, for example: AZURE_DEPLOYMENT=gpt-56-luna EVAL_TEMPERATURE=default npm run eval.
Contributing: add a source
- Create
src/sources/<id>/index.tsexporting aSourceModulewithinfo,summary,domain,coverage, tools, optionalsearch()andfetchById(). - Keep every tool name source-prefixed, validate args with zod and return the evidence envelope with source URL, licence and attribution.
- Use
ctx.cachedJson/ctx.cachedTextso upstream budgets, caching, circuit breakers and stale fallback apply. - Add fixtures and tests at the module seam, then add a server-level
ireland_calltest when useful. - Register the module in
src/registry.ts, updatescripts/live-sanity.mjs, eval cases and docs. - Run lint, typecheck, tests, build, inspector and live sanity before opening a PR.
See CONTRIBUTING.md for the full checklist.
Registry and publishing
Ireland MCP is listed on the official MCP Registry as a remote-only Streamable HTTP server named io.github.c-mongan/ireland-mcp (v1.0.0). Clients that browse the registry can install it by name. The future domain name is planned as ie.irishopendata/ireland after DNS verification. Publishing notes and directory checklists are in docs/publishing.md. Do not publish from a fork without changing the name and endpoint.
Credits and prior art
Thank you to the maintainers of Irish-data and public-data MCP projects that helped shape the direction:
| Project | What to look at |
|---|---|
| keithd1998/irlcli | Irish open-data CLI for LLM use. |
| sumitsimplex/irish-mcps and irishmcp.ie | Irish MCP platform and public-data UX. |
| faulknco/archaic-stats-mcp | CSO/PxStat MCP focused on Irish statistics. |
| datagouv/datagouv-mcp | National open-data catalogue MCP pattern. |
| brockwebb/open-census-mcp-server | Census-data MCP interface and interpretation pattern. |
| ondata/ckan-mcp-server | CKAN search/query server design. |
| cyanheads/eurostat-mcp-server | Eurostat MCP implementation. |
| isakskogstad/OECD-MCP | OECD statistical-data MCP. |
Data comes from the publishers listed above, including CSO, data.gov.ie, Met Éireann, OPW, Irish Rail, Oireachtas, GeoHive/Tailte Éireann, National Monuments Service, NPWS, EPA, Pobal, CRO, World Bank, Eurostat, ECB, Wikidata, Kohesio, TED, JCDecaux/CityBikes and others. Please cite the publisher shown in each response.
Security
Security reports: SECURITY.md. This project is read-only, but MCP servers can still retrieve untrusted web content; clients should follow their normal MCP trust and approval model.
Advanced
- Delivery
- ireland-mcp MCP server → your ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-c-mongan-ireland-mcp- Source
- github.com/c-mongan/ireland-mcp
- Hosted endpoint
https://func-ireland-mcp-aofsjpwgy4hva.azurewebsites.net/mcp