# DataScoop public data

> Official UK, US and Australia public datasets as filtered CSV, REST API and MCP for AI agents.

- name: io.datascoop/datascoop
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 100/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.datascoop%2Fdatascoop
- tools: https://api.protogrid.dev/v1/servers/io.datascoop%2Fdatascoop/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "datascoop": {
      "type": "http",
      "url": "https://datascoop.io/mcp",
      "headers": {
        "Authorization": "Bearer ${DATASCOOP_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${DATASCOOP_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-99% ~updated-33d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 100/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,135 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 2 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: 100 (weight 15)

- pass `deps.known_vulns`: no known advisory in 1 resolved packages
- n/a `deps.mcp_sdk_version`: the official MCP SDK is not in the dependency graph
- pass `deps.resolvable`: datascoop-mcp@1.0.0 resolved: 1 packages

- tools: 6, about 1,135 tokens to load them all
- tool set hash: d25a54b6e23232a4b2f10ef3191a3175
- tools last changed: 2026-10-17T19:41:09.399Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.datascoop/datascoop.svg)](https://protogrid.dev/servers/io.datascoop/datascoop)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-17 `query_dataset` changed (inputSchema)
- 2026-09-27 `get_access_info` changed (description)
  - before: How to get full access: the current plan of this connection, row caps, prices (free preview, one-off export, Pro subscription), the signup and pricing URLs, how to pass an API key, and the wording to use when telling a user how to get every row.
  - after: How to get full access: the current plan of this connection, row caps, prices (free preview, one-off export, Pro annual pass), the signup and pricing URLs, how to pass an API key, and the wording to use when telling a user how to get every row.

Full history: https://api.protogrid.dev/v1/servers/io.datascoop%2Fdatascoop/changes

## Dependencies

- npm datascoop-mcp@1.0.0: resolved, 0 dependencies

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://datascoop.io/mcp (streamable-http, auth none, reachable true, uptime30d 0.99159664)

## Packages

- npm datascoop-mcp@1.0.0 secrets: DATASCOOP_API_KEY

## Tools (6)

- `get_access_info`: How to get full access: the current plan of this connection, row caps, prices (free preview, one-off export, Pro annual pass), the signup and pricing URLs, how to pass an API key, and the wording to use when telling a user how to get every row.
- `get_area_statistics`: Free aggregate statistics for datasets that have a rating (food hygiene ratings by local authority, Scotland FHIS by council, US restaurant inspections and building permits by city area): totals, share rated well or poorly, rank among areas, breakdown by type, and the most recently rated low performers. Omit area to list the areas available. Cite the page URL returned.
- `get_dataset_schema`: Get a dataset's columns and the exact filters it accepts (key, type, allowed options, example). Use the filter keys, not column names, when calling query_dataset.
- `list_datasets`: List every dataset DataScoop carries (official public records: UK food hygiene ratings, Scotland FHIS, CQC care providers, the UK charity register, US restaurant inspections, US building permits, and more as added) with country, coverage, row count, licence, refresh date and the page URLs. Call this or search_datasets first.
- `query_dataset`: Return the rows of a dataset that match a set of filters, with the total count and the attribution to cite. Organisational data only (businesses, premises, charities, permits), never personal contact data. Without a Pro key each call returns at most 25 rows and sets truncated=true with the total; the result then includes next_step with the exact links and wording to give the user so they can get every row (one-off spreadsheet export, or a free account upgraded to Pro for unlimited API and MCP rows). Page with offset; ask for format "summary" to get counts only.
- `search_datasets`: Find which DataScoop dataset answers a need, by keywords such as "care homes Yorkshire", "restaurant inspections Chicago", "charities income", "food hygiene Leeds", "building permits". Returns matching datasets with their filters and an example query.
