What Do They Know
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WDTK_API_KEY | No | Enables create_request_record and update_request_state write tools |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| build_request_urlA | Build a prefilled WhatDoTheyKnow request URL. |
| get_request_feed_itemsA | Return parsed Atom feed entries for a specific FOI request as structured objects. Use this instead of reading the raw wdtk://requests/{slug}/feed resource when you
want structured AtomEntry objects rather than raw XML. Each entry's |
| search_request_eventsA | Search WhatDoTheyKnow's feed-based event index and return structured results. Call this to find FOI requests matching a query expression. Returns up to Example expressions: status:successful body:"Liverpool City Council" (variety:sent OR variety:response) status:successful |
| search_authoritiesA | Search WhatDoTheyKnow public authorities by name. Returns up to Example: search_authorities("Liverpool") → slug "liverpool_city_council" Then: authority_json with that slug, or build_request_url with it. |
| create_request_recordA | Create a request through the experimental write API. Requires WDTK_API_KEY in the server environment. |
| update_request_stateA | Update the user-assessed state of a request through the experimental write API. Requires WDTK_API_KEY in the server environment. |
| list_promptsA | List all available prompts. Returns JSON with prompt metadata including name, description, and optional arguments. |
| get_promptA | Get a prompt by name with optional arguments. Returns the rendered prompt as JSON with a messages array. Arguments should be provided as a dict mapping argument names to values. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| draft_foi_request | Draft a narrow, specific FOI request suitable for WhatDoTheyKnow. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| all_authorities_csv | Download the complete CSV of every WhatDoTheyKnow public authority. WARNING: this is a large payload — use search_authorities(query) for targeted lookups, or authority_json for a specific body. Only call this when you need the full dataset (e.g. bulk analysis or seeding a list). |
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.