Open Data Fetcher
Open Data Fetcher is an authless, human-controlled MCP App for finding and exporting datasets from three approved official sources:
- US Data.gov
- UK Data.gov.uk
- World Bank Open Data
Human flow
- The person submits a source and search query.
- The person explicitly chooses a dataset.
- The app shows a blocking license and size checkpoint.
- Green rights permit bounded preview. Amber opens the publisher by default. Red blocks preview and export.
- The person chooses columns, filters, row limit and format.
- The person reviews and confirms the export.
- The widget uses host-mediated download. Temporary links are one-time and expire.
No tool accepts arbitrary URLs, credentials, request headers or local files. No browser automation is used.
Local development
npm ci --ignore-scripts
npm test
npm run check
npm start
The MCP endpoint is http://127.0.0.1:8791/mcp. Health is at /health.
Configuration
PORT: HTTP port, default8791ALLOWED_HOSTS: comma-separated incoming host allowlistPUBLIC_BASE_URL: public base used for one-time downloadsAPP_ORIGIN: published widget domain metadataFLOW_SIGNING_KEY: optional server-side HMAC secret. Production should set a high-entropy value.OPENAI_APPS_CHALLENGE: exact challenge response, set only in the deployment secret store
Security limits
- 256 KB MCP request body
- 200 preview rows and 5 MB preview input
- 5,000,000 export rows and 250 columns
- 250 MB remote response and artifact
- HTTPS port 443 only
- Three redirects, each revalidated against the adapter allowlist
- Private, loopback, link-local, reserved and metadata addresses blocked
- Archives validated and rejected from export in version 1
License
MIT