What Do They Know
# whatdotheyknow-mcp
<!-- mcp-name: io.github.paulieb89/whatdotheyknow-mcp -->
[](https://safeskill.dev/scan/paulieb89-whatdotheyknow-mcp)
[](https://glama.ai/mcp/servers/paulieb89/whatdotheyknow-mcp)
[](https://smithery.ai/servers/bouch/whatdotheyknow)
[](https://vscode.dev/redirect/mcp/install?name=whatdotheyknow&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwhatdotheyknow-mcp.fly.dev%2Fmcp%22%7D)
[](https://insiders.vscode.dev/redirect/mcp/install?name=whatdotheyknow&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwhatdotheyknow-mcp.fly.dev%2Fmcp%22%7D&quality=insiders)
[](https://cursor.com/en/install-mcp?name=whatdotheyknow&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd2hhdGRvdGhleWtub3ctbWNwLmZseS5kZXYvbWNwIn0=)
[](https://vscode.dev/redirect/mcp/install?name=whatdotheyknow&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22whatdotheyknow-mcp%22%5D%7D)
A Model Context Protocol server for UK Freedom of Information research. Connects AI assistants to [WhatDoTheyKnow](https://www.whatdotheyknow.com/) — the UK's largest FOI request platform — to search requests, read responses, look up public authorities, and draft new requests.
## Tools
| Tool | Description |
|------|-------------|
| `search_request_events` | Full-text search of FOI requests and responses via WhatDoTheyKnow's Atom feed. Supports structured expressions (`status:successful`, `body:"Liverpool City Council"`). |
| `search_authorities` | Search UK public authorities by name. Returns slug for use with other tools. |
| `get_request_feed_items` | Fetch the event timeline (sent, response, clarification) for a specific FOI request. |
| `get_request_detail` | Fetch full public request JSON, including status, authority, requester, correspondence events, and attachment metadata where exposed. |
| `get_user_requests` | List a user's visible requests with title, slug, status, authority, dates, and snippets. |
| `get_user_feed_items` | Fetch a user's activity Atom feed as structured entries with readable content text. |
| `get_authority_detail` | Fetch full public authority JSON, including contact/profile fields and request statistics. |
| `build_request_url` | Build a prefilled WhatDoTheyKnow request URL for a given authority and topic. |
| `create_request_record` | Create a request via the write API (requires `WDTK_API_KEY`). |
| `update_request_state` | Update user-assessed state of a request (requires `WDTK_API_KEY`). |
## Resources
| URI template | Returns |
|---|---|
| `wdtk://authorities/{authority_slug}` | Authority profile JSON |
| `wdtk://requests/{request_slug}` | FOI request detail JSON |
| `wdtk://users/{user_slug}` | User profile JSON |
| `wdtk://requests/{request_slug}/feed` | Request event Atom feed |
| `wdtk://users/{user_slug}/feed` | User activity Atom feed |
| `wdtk://authorities/all.csv` | Full CSV of all UK public authorities |
## Prompts
| Prompt | Description |
|--------|-------------|
| `draft_foi_request` | Draft a narrow, specific FOI request for a given authority and topic. |
## Connect
### Hosted (no install)
```json
{
"mcpServers": {
"whatdotheyknow": {
"type": "http",
"url": "https://whatdotheyknow-mcp.fly.dev/mcp"
}
}
}
```
### Local (uvx)
```json
{
"mcpServers": {
"whatdotheyknow": {
"type": "stdio",
"command": "uvx",
"args": ["whatdotheyknow-mcp"]
}
}
}
```
## Environment variables
| Variable | Required | Description |
|----------|----------|-------------|
| `WDTK_API_KEY` | Optional | Enables `create_request_record` and `update_request_state` write tools |
## Upstream API and Licence
| Source | API | Licence | Auth |
|--------|-----|---------|------|
| WhatDoTheyKnow | `www.whatdotheyknow.com` | [OGL v3](https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/) | None (read) / API key (write) |
Data is sourced directly from the WhatDoTheyKnow public API. The platform is operated by mySociety.
TDQS
Scored across 8 tools
Tools are mostly distinct, but the presence of prompt-related tools (get_prompt, list_prompts) alongside FOI request tools creates ambiguity. An agent may confuse get_prompt as related to requests, and search_request_events and get_request_feed_items overlap in purpose.
All tool names consistently follow the verb_noun pattern in snake_case (e.g., build_request_url, search_authorities). No mixing of styles or irregular patterns.
8 tools is a reasonable number for an FOI request-focused server. It covers key operations without being overwhelming or too sparse.
The tool surface has significant gaps: there is no tool to directly retrieve full request details by slug, despite being referenced in descriptions. The lifecycle is incomplete without a 'get request' or 'list requests' tool.