Repository avatar
Other Tools
v0.1.0
active

dnb-mcp

io.github.mohammad-abbasi-sh/dnb-mcp

Unofficial read-only MCP server for the Deutsche Nationalbibliothek catalogue (DNB SRU).

Documentation

dnb-mcp πŸ“š

mcp-name: io.github.mohammad-abbasi-sh/dnb-mcp

Unofficial read-only MCP server for services.dnb.de β€” Deutsche Nationalbibliothek catalogue via its official SRU API: keyword, title and author search, ISBN and DNB-ID lookup. No key, no login. No key, no login.

Built by Mohammad Abbasi as part of the "Germany MCP factory". Not affiliated with services.dnb.de.

For AI agents

Add to your MCP client config (stdio):

{
  "mcpServers": {
    "dnb": {
      "command": "uvx",
      "args": ["dnb-mcp==0.1.0"]
    }
  }
}

Or run locally: python -m dnb_mcp.server (needs mcp<2, httpx).

Tools

ToolDescription
dnb_search_booksKeyword search across the DNB catalogue β€” query, limit 1..50
dnb_search_by_titleTitle search β€” title, limit 1..50
dnb_search_by_authorAuthor search β€” author (e.g. "Kafka, Franz"), limit 1..50
dnb_by_isbnLook up one book by ISBN β€” isbn (13 or 10 digits, with or without dashes)
dnb_get_recordFull record by DNB identifier β€” dnb_id (e.g. "1306459214")
dnb_healthReachability probe (ok / blocked / error) β€” one polite request

Notes

  • All data comes from the Deutsche Nationalbibliothek SRU API (free, no key, no login).
  • Indexes used (from the API's own explain response): woe (all terms), tit (title), per (person/author), num (number incl. ISBN), idn (DNB identifier).
  • There is no newspapers-only filter: the mat (material type) index returns 0 for every German value tried (BΓΌcher, Zeitschriften, Zeitung, Zeitungen, Online-Ressource), so no newspapers-only tool is offered; newspapers are still found by the keyword and title searches.
  • Dublin Core recordSchema is unsupported by the API β€” MARC21-xml only.

Tests: 20/20 green (14 offline + 6 live, 2026-11-10).

Development

python3 -m venv .venv && .venv/bin/pip install "mcp<2" httpx pytest
.venv/bin/pip install -e .
.venv/bin/python -m pytest tests/ -q

License

MIT


Built by Mohammad Abbasi β€” Almanibama Β· mabbasi.ir