ddb-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DDB_API_KEY | No | Your DDB API key (optional, but recommended to avoid potential future enforcement). Obtain from https://www.deutsche-digitale-bibliothek.de/user/apikey after registering for a free account. | |
| DDB_CACHE_DIR | No | Override the cache directory. Defaults to $XDG_CACHE_HOME/ddb-mcp. | |
| DDB_MIN_REQUEST_INTERVAL | No | Minimum interval between requests in seconds (default: 1). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_ddbA | Search German newspaper pages in the Deutsches Zeitungsportal. Covers ~33.8M digitised pages, densest between 1850 and 1949. Results are individual newspaper pages, and each carries highlighted snippets showing where the query matched, with matched terms in {braces} - so a single search is usually enough to judge a hit without downloading anything. Args: query: Solr query over page OCR text. Supports: - Exact phrases: '"Bert Reese"' - Boolean operators: 'Hellseher AND Telepathie', 'A OR B', 'A NOT B' - Wildcards: 'Hellseh*' - Fuzziness for OCR damage: 'Hanussen~1' - Proximity: '"Hellseher Hanussen"~10' page: Result page number, 1-indexed rows: Results per page (max 100) from_year: Earliest publication year, inclusive to_year: Latest publication year, inclusive paper_title: Restrict to one newspaper title place: Restrict to a place of distribution language: Language code, ISO 639-2 (e.g. 'ger') Returns: total_results (a true count, not a ranking depth), total_pages, and the matching pages with their metadata, viewer URL and snippets. Results are ordered by relevance; DDB cannot order by date, so chronological work means bounding the query with from_year/to_year and sweeping it whole. |
| get_ddb_snippetsA | Find where a query appears inside one page or one whole issue. Args: identifier: A page id ('ITEMID-pagename') or an issue item id ('ITEMID') query: Solr query over page OCR text Returns: The matching pages, with snippets showing the terms in {braces}. |
| download_ddb_textA | Download the OCR text of a page, or of every page of an issue. Args: identifier: A page id ('ITEMID-pagename') or an issue item id ('ITEMID') refresh: Ignore any cached copy and fetch again Returns: Path to the cached text file. Files run to tens of kilobytes per page, so read slices of them rather than the whole thing. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nestordemeure/ddb-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server