Bbaw Dse
FreeNot checkedEnables natural-language querying of multiple digital scholarly editions, aggregating Schleiermacher digital, Praktiken der Monarchie, and correspSearch into a
About
Enables natural-language querying of multiple digital scholarly editions, aggregating Schleiermacher digital, Praktiken der Monarchie, and correspSearch into a single MCP endpoint.
README
An MCP server for dialogical, exploratory access to digital scholarly editions.
DHd2026 Poster: Agenten im Dienst der Edition
Overview
Instead of complex search forms and navigation structures, this MCP server enables natural-language conversation with digital scholarly editions. An AI agent translates questions like "Who was important for Schleiermacher in 1810?" into structured database queries — and maintains conversational context across follow-up questions.
The server aggregates three editions from BBAW/TELOTA into a single MCP endpoint using FastMCP composition:
| Edition | Prefix | Backend | Content |
|---|---|---|---|
| schleiermacher digital | sd_ |
eXist-db | Letters, diaries, lectures, chronology |
| Praktiken der Monarchie | mop_ |
eXist-db | Documents on Prussian monarchy and governance |
| correspSearch | cs_ |
REST API | Cross-edition correspondence network search |
Available Tools
Schleiermacher Digital (sd_*) — 19 tools
| Tool | Description |
|---|---|
sd_search_documents |
Fulltext search with facets (document type, year, date range) |
sd_filter_letters |
Filter letters by sender, receiver, place, period |
sd_get_correspondent_stats |
Correspondent statistics for network analysis |
sd_get_document_by_id |
Retrieve a complete document as Markdown |
sd_get_document_passages |
Retrieve text passages from a document |
sd_search_register |
Lucene fulltext search in person/place/work registers |
sd_get_register_entry |
Detailed register entry with optional mention summary |
sd_get_diary_entry / sd_get_diary_entries |
Diary entries by date or date range |
sd_get_chronology_entry / sd_get_chronology_entries / sd_get_chronology_year |
Chronology lookup |
sd_list_collections / sd_list_collection_contents |
Browse collection structure |
sd_get_collection_stats / sd_get_file_info |
Collection and file metadata |
sd_execute_xquery |
Execute raw XQuery |
sd_check_database_connection |
Health check |
sd_get_raw_document_by_id / sd_get_raw_document_by_path |
Raw XML retrieval |
Praktiken der Monarchie (mop_*) — 17 tools
| Tool | Description |
|---|---|
mop_browse_documents |
Browse files and subcollections |
mop_search_documents |
Fulltext search in MoP documents |
mop_get_document |
Retrieve a complete document |
mop_search_register / mop_get_register_entry |
Search registers (persons, places, institutions, courts, works, offices) |
mop_search_biogramme / mop_get_biogramm_by_id |
Search and retrieve detailed biographies |
mop_extract_family_network |
Extract family network from a biography |
mop_get_residential_topography / mop_search_residential_topography / mop_list_available_wohntopo_years |
Residential topography data |
mop_search_adjutanten_journals / mop_get_adjutanten_journal_entry / mop_list_adjutanten_by_monarch |
Court adjutant journals |
mop_execute_xquery |
Execute raw XQuery |
mop_check_database_connection |
Health check |
correspSearch (cs_*) — 8 tools
| Tool | Description |
|---|---|
cs_search_correspondences |
Cross-edition correspondence search |
cs_get_edition_info |
Information about a correspSearch edition |
cs_search_correspondent_network |
Analyze correspondence network of a person |
cs_search_for_gnd_id |
Look up GND authority IDs by name |
cs_search_for_geonames_id / cs_get_place_geonames_id |
Look up GeoNames IDs |
cs_search_wikidata_entity / cs_search_for_wikidata_occupation |
Wikidata lookups |
Installation
# Clone the repository
git clone https://github.com/telota/bbaw-dse-mcp.git
cd bbaw-dse-mcp
# Install with uv (recommended)
uv sync
Requires Python 3.11+.
Configuration
Configuration uses environment variables (prefix EDITIONS_). Create a .env file:
# Schleiermacher Digital eXist-db
EDITIONS_SD_URL=http://localhost:8080
EDITIONS_SD_USERNAME=admin
EDITIONS_SD_PASSWORD=
# Praktiken der Monarchie eXist-db
EDITIONS_AB_URL=https://actaborussica.bbaw.de
EDITIONS_AB_USERNAME=
EDITIONS_AB_PASSWORD=
# correspSearch API (no auth required)
EDITIONS_CS_API_URL=https://correspsearch.net/api/v2.0
# Optional: GeoNames API
EDITIONS_GEONAMES_USERNAME=
# Optional: Anthropic API (for research agent)
EDITIONS_ANTHROPIC_API_KEY=
Usage
Running the server
uv run bbaw-dse-mcp
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"editions": {
"command": "uv",
"args": ["run", "bbaw-dse-mcp"],
"cwd": "/path/to/bbaw-dse-mcp"
}
}
}
Example Conversation
User: Search for letters mentioning Humboldt.
Agent: → sd_search_documents(query="Humboldt", doc_type="letters")
Found 23 letters mentioning Humboldt, mostly from 1810 —
the year of the Berlin university founding...
User: Who was important for Schleiermacher in 1810?
Agent: → sd_get_correspondent_stats(year=1810)
Based on letter frequency, the most important correspondents in 1810:
1. Charlotte Schleiermacher (15 letters) — his sister
2. Wilhelm von Humboldt (8 letters) — central figure in university reform
...
User: Can we trace Humboldt's correspondence network beyond this edition?
Agent: → cs_search_correspondent_network(name="Humboldt, Wilhelm von")
Cross-edition network across 12 editions: ...
Tech Stack
- FastMCP 2.x — Python MCP server framework
- httpx — Async HTTP client for eXist-db REST API
- lxml — TEI-XML parsing
- Pydantic v2 — Data models and settings
Documentation
- AGENT.md — Project overview and design decisions
- docs/TOOLS.md — Detailed tool specifications
- docs/ARCHITECTURE.md — Technical architecture
License
MIT
Author
Tim Westphal, BBAW TELOTA
Install Bbaw Dse in Claude Desktop, Claude Code & Cursor
unyly install bbaw-dse-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add bbaw-dse-mcp -- uvx --from git+https://github.com/telota/bbaw-dse-mcp bbaw-dse-mcpFAQ
Is Bbaw Dse MCP free?
Yes, Bbaw Dse MCP is free — one-click install via Unyly at no cost.
Does Bbaw Dse need an API key?
No, Bbaw Dse runs without API keys or environment variables.
Is Bbaw Dse hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Bbaw Dse in Claude Desktop, Claude Code or Cursor?
Open Bbaw Dse on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Bbaw Dse with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
