Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Bbaw Dse

FreeNot checked

Enables natural-language querying of multiple digital scholarly editions, aggregating Schleiermacher digital, Praktiken der Monarchie, and correspSearch into a

GitHubEmbed

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

License

MIT

Author

Tim Westphal, BBAW TELOTA

from github.com/telota/bbaw-dse-mcp

Install Bbaw Dse in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install bbaw-dse-mcp

Installs 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-mcp

FAQ

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

Compare 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