Directmedia MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Directmedia MCPsearch for Nietzsche quotes in the philosophy volume"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Directmedia MCP
📖 Installation Guide — quick start, manual setup, and troubleshooting
FastMCP 3.1.0+ server for accessing Directmedia Publishing "Digitale Bibliothek" - TEXT EXTRACTION WORKING!
Quick Start
git clone https://github.com/sandraschi/directmedia-mcp
cd directmedia-mcp
justThis opens an interactive dashboard showing all available commands. Run just bootstrap to install dependencies, then just serve or just dev to start.
Manual Setup
If you don't have just installed:
Related MCP server: alexandria-mcp
Overview
The Directmedia Publishing "Digitale Bibliothek" was a pioneering German electronic book collection from the 1990s, containing extensive German literature and world literature. This MCP server provides programmatic access to these classic digital books.
BREAKTHROUGH: Text Extraction Working!
MISSION ACCOMPLISHED: We successfully reversed the Directmedia TEXT.DKI format!
Discovery: TEXT.DKI files contain structured binary records, not compressed data
Decompressor: Working Python implementation extracts readable German text
Access: 101 volumes of 1990s literature now programmatically accessible
Preservation: Digital cultural heritage unlocked for modern use
What was thought to be "compression" was actually a structured record format with 2-byte length headers!
Collection Status
101 volumes discovered (DB002-DB161, DBSK01-DBSK05, DBSO01-DBSO28)
~14GB total content across all volumes
Proprietary binary format from 1990s German publishing
Latin-1 encoding with special characters for German texts
Legal Requirement
You must legally purchase the Directmedia CD-ROMs to use this tool. See Legal Notice section below.
Sample Volumes
Volume ID | Title | Size | Content Type |
DB002 | Philosophie von Platon bis Nietzsche | 389MB | Philosophy |
DB003 | Geschichte der Philosophie | 113MB | Philosophy History |
DB004 | Goethe | 360MB | Literature + Audio |
DB005 | Lessing | 149MB | Literature |
DB007 | Heine | 226MB | Literature |
DB009 | Killy Literaturlexikon | 137MB | Reference |
DB011 | Marx/Engels | 117MB | Political Philosophy |
Collection Analysis
101 volumes discovered with ~50GB total content:
DB002-DB061: Main literature collection (philosophy, literature, history)
DBSK01-DBSK05: Schnellkurs (crash courses)
DBSO01-DBSO28: Sonderausgaben (special editions)
File Format Structure
Each volume uses a proprietary binary format:
Core Files (Data/):
TEXT.DKI: Main text database (structured binary records)
TREE.DK*: Navigation tree (table of contents)
INDEX.*: Multiple search indices (HTX, PLX, SHX, SWX, TTX, WLX)
LINKS.*: Hyperlinks and cross-references
SIGEL.DAT: Abbreviations/signatures registry
Media Files:
IMAGES/: BMP illustrations and diagrams
WAVS/: Audio files (readings, lectures)
TABLES/: Specialized content tables
Quick Start
Prerequisites
Python 3.11+
Access to Directmedia "Digitale Bibliothek" collection
FastMCP 3.1.0+
Installation
Prerequisites
uv installed (RECOMMENDED)
Python 3.12+
Quick Start
Run immediately via uvx:
uvx directmedia-mcpClaude Desktop Integration
Add to your claude_desktop_config.json:
"mcpServers": {
"directmedia-mcp": {
"command": "uv",
"args": ["--directory", "D:/Dev/repos/directmedia-mcp", "run", "directmedia-mcp"]
}
}Basic Usage
from directmedia_mcp import DirectmediaLibrary
# Initialize library
lib = DirectmediaLibrary(r"L:\Multimedia Files\Written Word\Digitale Bibliothek")
# List all volumes
volumes = lib.list_volumes()
print(f"Found {len(volumes)} volumes")
# Search for content
results = lib.search_text("Nietzsche", "DB002") # Philosophy volume
# Extract text
content = lib.get_text_content("DB002", 0, 1000)MCP Server Usage
# Start MCP server
python -m directmedia_mcp.server --library-path "L:\Multimedia Files\Written Word\Digitale Bibliothek"
# Or run directly
directmedia-mcp --library-path "L:\Multimedia Files\Written Word\Digitale Bibliothek"MCP Tools
Library Management
set_library_path(path)- Configure library locationlist_volumes()- List all available volumesget_volume_info(volume_id)- Get volume metadata
Content Access
search_text(query, volume_id, limit)- Search across volumesget_text_content(volume_id, start_pos, length)- Extract textget_navigation_tree(volume_id)- Get table of contents
EPUB Conversion NEW
convert_volume_to_epub_file(volume_id, output_dir)- Convert single volume to EPUBbatch_convert_to_epub(output_dir, volume_ids)- Convert multiple volumes to EPUB
Analysis
analyze_volume_structure(volume_id)- File format analysis
Volume Overview
Volume ID | Title | Size | Content Type |
DB002 | Philosophie von Platon bis Nietzsche | 267MB | Philosophy |
DB003 | Geschichte der Philosophie | 180MB | Philosophy |
DB004 | Goethe | 150MB | Literature + Audio |
DB005 | Lessing | 75MB | Literature |
... | ... | ... | ... |
Technical Details
Binary Format Analysis
TEXT.DKI Structure:
Header: 256 bytes with section offset table
Content: Structured binary records (not compressed!)
Each record: 2-byte length + 1-byte type + text content
TREE.DK Structure:*
DKA: Navigation tree with entry counts and offsets
DKI: Tree structure data
INDEX Files:
HTX: Hypertext index for navigation
PLX: Plaintext index for full-text search
SHX/SWX: Specialized search indices
TTX: Title index
WLX: Word list index
Known Limitations
Proprietary Format: No official documentation available
Advanced Features: Some INDEX and TREE.DK* structures still being analyzed
Encoding: Primarily Latin-1 with some UTF-8 elements
Media Content: Images and audio files not yet processed
Recent Achievements
TEXT.DKI Decompression: Successfully reversed structured binary record format
Text Extraction: Working decompressor extracts readable German text
EPUB Conversion: Convert volumes to modern e-book format
MCP Integration: Full programmatic access via FastMCP server
Volume Management: Complete 101-volume library access
TREE.DKI Navigation: Table of contents successfully parsed
EPUB Conversion Feature
Convert extracted Directmedia text content into modern EPUB format for e-book readers!
What It Does
Extracts readable text from Directmedia
.DKIfilesFormats content with proper HTML structure and CSS styling
Creates valid EPUB 3.0 files compatible with all e-book readers
Preserves German text encoding and special characters
Adds metadata including title, author, and volume information
EPUB Features
Proper Structure: Mimetype, container.xml, OPF package, navigation
German Typography: Optimized for German text with proper quotes and spacing
Responsive Design: CSS styling that works on all devices
Table of Contents: Navigation structure for easy browsing
Metadata: Complete Dublin Core metadata for library management
Usage Examples
Convert single volume:
# Via MCP tool
convert_volume_to_epub_file("DB002", "./epub_output")Batch convert multiple volumes:
# Via MCP tool
batch_convert_to_epub("./epub_library", ["DB002", "DB003", "DB004"])Output Example
epub_output/
Goethe - Faust.epub # Volume DB004
Heine - Buch der Lieder.epub # Volume DB007
... (more volumes)EPUB Reader Compatibility
Calibre (recommended for library management)
Apple Books (iOS/macOS)
Google Play Books
Kindle (via conversion)
Adobe Digital Editions
All major e-book readers
Future Enhancements
Complete INDEX file parsing for full-text search
TREE.DK* advanced structure decoding
Cross-volume search optimization
Image extraction and processing
Audio file handling
Contributing
This is a research project to preserve and provide access to classic digital literature. Contributions welcome for:
Binary format analysis
Decompression algorithms
Search optimization
Documentation improvements
Legal Notice & Copyright
Important: Legal Use Required
This software tool is designed to work with legally purchased copies of Directmedia Publishing's "Digitale Bibliothek" CD-ROM collection. You must own legitimate copies of the CD-ROMs to use this tool legally.
Where to Purchase
Directmedia Publishing still operates and offers their complete collection:
Official Website: https://www.directmedia-publishing.de/
Product: "Digitale Bibliothek" (Complete 101-volume collection)
Format: Available as digital downloads and physical media
Languages: German literature and philosophy collections
Copyright Notice
Copyright: Directmedia Publishing GmbH
Content: All text, images, and multimedia content remain copyrighted
Usage: Personal, educational, and research use permitted with legal copies
Redistribution: Not permitted without explicit permission
Disclaimer
This tool is provided for educational and research purposes to access legally obtained digital content. The authors are not responsible for misuse of this software. Ensure you comply with all applicable copyright laws in your jurisdiction.
Pirated or illegally obtained content is not supported and may violate copyright law.
🛡️ Industrial Quality Stack
This project adheres to SOTA 14.1 industrial standards for high-fidelity agentic orchestration:
Python (Core): Ruff for linting and formatting. Zero-tolerance for
printstatements in core handlers (T201).Webapp (UI): Biome for sub-millisecond linting. Strict
noConsoleLogenforcement.Protocol Compliance: Hardened
stdout/stderrisolation to ensure crash-resistant JSON-RPC communication.Automation: Justfile recipes for all fleet operations (
just lint,just fix,just dev).Security: Automated audits via
banditandsafety.
License
MIT License - see LICENSE file for details.
Acknowledgments
Directmedia Publishing for pioneering electronic literature in the 1990s
The German digital humanities community
FastMCP framework for MCP implementation
Webapp Dashboard
This MCP server includes a free, premium web interface for monitoring and control. By default, the web dashboard runs on port 10826. (Assigned ports: 10826 (Web dashboard frontend), 10827 (Web dashboard backend (API)))
To start the webapp:
Navigate to the
webapp(orweb,frontend) directory.Run
start.bat(Windows) or./start.ps1(PowerShell).Open
http://localhost:10826in your browser.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceProvides AI agents with research capabilities for local Calibre e-book libraries, including fulltext search across titles, ISBNs, and comments, plus structured excerpt retrieval from books.Last updated2GPL 3.0
- AlicenseAqualityCmaintenanceSemantic search over 4.6 million text chunks from 20,000+ classical philosophy and humanities works (pre-1928). Covers Aristotle, Plato, Kant, Hegel, Nietzsche and hundreds more. Multilingual: English, German, Latin, French, Italian, Greek, Russian.Last updated31MIT
- Alicense-qualityBmaintenanceEnables querying and exploring a bundled knowledge base through tools for manifest, table of contents, node retrieval, and full-text search.Last updated211MIT
- Alicense-qualityCmaintenanceEnables search and reading of Project Gutenberg books with tools for searching by title/author/subject and fetching word-range slices of book text.Last updatedMIT
Related MCP Connectors
Federated search of books and papers, BibTeX/RIS citations, open-access retrieval and reading.
MCP server for Project Gutenberg — 75,000+ public-domain ebooks with full plain-text retrieval.
Search books and authors, fetch editions, browse subjects, and resolve cover images.
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/sandraschi/directmedia-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server