Context7
Up-to-date docs for AI agents
Descripción del creador (original en inglés)
Search the UK National Archives' Discovery catalogue; find Chelsea pensioners' papers in WO 97.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
TNA_DISCOVERY_TIMEOUT, TNA_DISCOVERY_MIN_INTERVAL, TNA_DISCOVERY_DAILY_BUDGET, TNA_DISCOVERY_CONTACT, TNA_DISCOVERY_STATE_DIRNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"tna-discovery": {
"command": "uvx",
"args": [
"tna-discovery-mcp"
],
"env": {
"TNA_DISCOVERY_TIMEOUT": "your-value",
"TNA_DISCOVERY_MIN_INTERVAL": "your-value",
"TNA_DISCOVERY_DAILY_BUDGET": "your-value",
"TNA_DISCOVERY_CONTACT": "your-value",
"TNA_DISCOVERY_STATE_DIR": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add tna-discovery --env TNA_DISCOVERY_TIMEOUT=your-value --env TNA_DISCOVERY_MIN_INTERVAL=your-value --env TNA_DISCOVERY_DAILY_BUDGET=your-value --env TNA_DISCOVERY_CONTACT=your-value --env TNA_DISCOVERY_STATE_DIR=your-value -- uvx tna-discovery-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"tna-discovery": {
"command": "uvx",
"args": [
"tna-discovery-mcp"
],
"env": {
"TNA_DISCOVERY_TIMEOUT": "your-value",
"TNA_DISCOVERY_MIN_INTERVAL": "your-value",
"TNA_DISCOVERY_DAILY_BUDGET": "your-value",
"TNA_DISCOVERY_CONTACT": "your-value",
"TNA_DISCOVERY_STATE_DIR": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"tna-discovery": {
"type": "stdio",
"command": "uvx",
"args": [
"tna-discovery-mcp"
],
"env": {
"TNA_DISCOVERY_TIMEOUT": "your-value",
"TNA_DISCOVERY_MIN_INTERVAL": "your-value",
"TNA_DISCOVERY_DAILY_BUDGET": "your-value",
"TNA_DISCOVERY_CONTACT": "your-value",
"TNA_DISCOVERY_STATE_DIR": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
TNA_DISCOVERY_TIMEOUT envTNA_DISCOVERY_MIN_INTERVAL envTNA_DISCOVERY_DAILY_BUDGET envTNA_DISCOVERY_CONTACT envTNA_DISCOVERY_STATE_DIR envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub ianderso, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.0) llegó al registro hace 27 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Context7, Codebase Memory, Exa
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
An MCP server for Discovery, the catalogue of the UK National Archives (TNA): more than 37 million descriptions of the records held at Kew, and the catalogues of more than 2,500 other archives across the UK and beyond, through TNA's keyless Discovery API.
For family historians the catalogue is where a British soldier, a will, a muster roll or a county record office's papers are first found. One series gets a tool of its own: WO 97, the Royal Hospital Chelsea's soldiers' service documents, which describes every man discharged to a pension from 1760 to 1854 in one standard sentence ("JOHN ATKINSON Born MANCHESTER, Lancashire Served in Royal Artillery Discharged aged 41"). find_soldier searches it by name and keeps the men whose regiment, birthplace and discharge year fit, each parsed into fields with an estimated birth year.
It works the way a careful genealogist does. A catalogue description is a finding aid: it says a record exists and where it is, not what it says. Images of most series are not free on Discovery. WO 97's are on Findmypast, and FamilySearch collection 1952868 indexes them. Every result carries the holding archive, the reference and the record's Discovery page, because the archive's reference is what gets cited, not this server.
It is the UK counterpart of nara-catalog-mcp. Nothing here writes anywhere, and nothing here keeps a family tree.
This is an independent project. It is not affiliated with, endorsed by, or supported by The National Archives.
The server publishes five tools. All are read-only.
| Tool | Purpose |
|---|---|
search_records | Search the catalogue's descriptions by words, series (WO 97), department (WO), covering dates, and holder (TNA, other archives, or one archive by Archon code). Each hit has its id, reference, description, covering dates, holder, a digitised flag and its page; a WO 97 item is parsed too. Reports counts by holder, archive and century. |
get_record | One description in full, by id or by exact reference (WO 97/1211/256): every field Discovery gives, its place in the hierarchy (department, series, piece), where the record can be read, and a citation. A WO 97 item's description is parsed into name, birthplace, county, regiments, discharge age and year, service years and an estimated birth year, keeping the original text. |
browse | The records one level below a series, sub-series or piece, in catalogue order, with a cursor to continue: WO 97's pieces of one regiment's men, WO 12's regiments and their yearly muster books. |
find_soldier | A WO 97 search by surname (a trailing * for variants), forename, discharge years, regiment and birthplace, with each match parsed. Says how many descriptions were read and why the rest were set aside. |
budget_status | Today's requests against the daily budget, this session's, and the last error. Makes no request. |
You need Python 3.11 or later and uv. There is no key to request.
Without cloning. uvx fetches it from PyPI and runs it in one step:
uvx tna-discovery-mcp
From a clone, which is what you want if you will change it:
git clone https://github.com/ianderso/tna-discovery-mcp
cd tna-discovery-mcp uv sync uv run tna-discovery-mcp # stdio server, usually launched by the client
Either way the server speaks MCP over stdio, so you will normally let an MCP client start it rather than run it by hand.
{
"mcpServers": { "tna-discovery": { "command": "uvx", "args": ["tna-discovery-mcp"] } } }
A desktop app does not always inherit your shell's PATH. If the server fails to start because uvx cannot be found, give the full path that which uvx prints as the command.
claude mcp add tna-discovery -- uvx tna-discovery-mcp
TNA's API page asks developers to email them, with the IP address requests will come from: "please contact us via email and include the IP address". The API answered without it when this server was built, so it is a request, not a condition of access. Because every user of this server sends requests from their own address, the request passes to you: if you use the server regularly, write to webmaster@nationalarchives.gov.uk with your IP address and a line on what you use the API for. TNA also asks for feedback on the API.
Nothing is required. A .env file in the directory the server starts in supplies anything the environment does not; only that directory is read.
| Variable | Meaning |
|---|---|
TNA_DISCOVERY_TIMEOUT | HTTP timeout in seconds for one request. Default 30. |
TNA_DISCOVERY_MIN_INTERVAL | Least seconds between two requests. Default 1, and never below 1: TNA's guideline. |
TNA_DISCOVERY_DAILY_BUDGET | Requests a day (UTC) before every tool refuses with budget_spent. Default 3,000, and never above it: TNA's guideline. Set it lower to leave headroom. |
TNA_DISCOVERY_CONTACT | An email address or URL added to the User-Agent, so TNA can reach you if your use causes trouble. Optional, and courteous. |
TNA_DISCOVERY_STATE_DIR | Where the day's call count is kept. Default ~/.local/state/tna-discovery-mcp. The file holds a date and a number, never anything the API returned. |
An unusable value is reported on the first tool call as a not_configured result naming the variable. There is deliberately no cache directory: see below.
TNA's terms for the Discovery API (read 2026-10-10 and 2026-10-11) say, in brief:
budget_spent and send nothing until midnight UTC. budget_status shows the count.robots.txt on discovery.nationalarchives.gov.uk disallows the website's browse, results, search-interface and image paths, among others; it does not mention /API/, which is what this server uses.
Discovery may be replaced. In late 2025 TNA launched a beta of a new catalogue that may in time take over from Discovery. This server reads the Discovery API only; if Discovery is retired, the server will need a new client for whatever replaces it.
get_record's images says where to read them.digitised has an image on Discovery itself, reached from its Discovery page. This server downloads nothing.date_from and date_to keep records whose covering dates overlap the range, so a man who served 1811-1835 is in a search for 1831-1834. find_soldier then keeps only men whose discharge year falls in the range.*.find_soldier finds nobody discharged later; browse the pieces instead.WO 97/1211/256: a department code, a space, then series, piece and item. The server tidies case and spacing (wo97/1211 works); anything else is searched for, not guessed.reference or date.citation.cite_as is the holder and reference ("The National Archives, Kew, WO 97/1211/256"); add the series title, the covering dates and where you read the image.blocked; a spent budget as budget_spent.Tool arguments are written by a model, and the model reads text this server does not control: catalogue descriptions, web pages, other tools' output. The server assumes that text can steer the model, and limits what a steered model can make it do.
https://discovery.nationalarchives.gov.uk/API/. A request hook refuses any other host, including one named in a redirect; redirects are followed only on that host.Solo se muestra el principio; lee el resto en el repo