title: AI Digital Library Assistant emoji: 📚 colorFrom: blue colorTo: indigo sdk: gradio sdk_version: 5.38.0 app_file: app.py pinned: false license: mit tags:
- mcp-in-action-track-consumer
- mcp-in-action-track-creative
- MCP-1st-Birthday
- agentic
- rag The AI Digital Library Assistant is a next-generation knowledge management tool built for the MCP 1st Birthday Hackathon. It transforms your static document collection into an interactive, living library.
Unlike traditional RAG (Retrieval Augmented Generation) apps, this project leverages the Model Context Protocol (MCP) to create a modular ecosystem of tools—Ingestion, Search, Voice, and Podcast Generation—that work harmoniously to help you consume information in the way that suits you best.
User((👤 User))
subgraph "Frontend (Gradio)"
UI[Web Interface]
VoiceUI[Voice Interface]
PodcastUI[Podcast Studio]
end
subgraph "MCP Server Layer"
MCPServer[Content Organizer MCP Server]
subgraph "MCP Tools"
IngestTool[📥 Ingestion Tool]
SearchTool[🔍 Search Tool]
GenTool[✨ Generative Tool]
VoiceTool[🗣️ Voice Tool]
PodTool[🎧 Podcast Tool]
end
end
subgraph "Service Layer"
VecStore[(Vector Store)]
DocStore[(Document Store)]
LLM[LLM Service (OpenAI)]
ElevenLabs[ElevenLabs API]
LlamaIndex[LlamaIndex Agent]
end
User <--> UI
UI <--> MCPServer
MCPServer --> IngestTool
MCPServer --> SearchTool
MCPServer --> GenTool
MCPServer --> VoiceTool
MCPServer --> PodTool
IngestTool --> VecStore
IngestTool --> DocStore
SearchTool --> VecStore
GenTool --> LLM
VoiceTool --> ElevenLabs
VoiceTool --> LlamaIndex
PodTool --> ElevenLabs
PodTool --> LLM
## 🚀 Quick Start
Check out [QUICKSTART.md](QUICKSTART.md) for detailed local setup instructions.
1. **Clone & Install**:
```bash
git clone https://huggingface.co/spaces/YOUR_USERNAME/AiDigitalLibraryAssistant
pip install -r requirements.txt
```
2. **Configure**: Add your `OPENAI_API_KEY` and `ELEVENLABS_API_KEY` to `.env`.
3. **Run**: `python app.py`
## 💡 How It Works
### 1. The MCP Core
At the heart of the application is the `ContentOrganizerMCPServer`. It exposes atomic capabilities (Tools) that the frontend consumes. This means the same tools powering this UI could be connected to Claude Desktop or any other MCP client!
### 2. Voice & Podcast Generation
We use **ElevenLabs** for state-of-the-art text-to-speech.
- **Voice Mode**: Uses a dedicated LlamaIndex agent to maintain conversation context, converting speech-to-text, querying the library, and streaming audio back.
- **Podcast Mode**: An LLM first generates a script based on your documents, then we use multi-speaker synthesis to create a realistic dialogue.
## 🏆 Hackathon Tracks
We are submitting to:
- **Building MCP**: For our custom `ContentOrganizer` MCP server implementation.
- **MCP in Action (Consumer/Creative)**: For the innovative Podcast and Voice interfaces that make personal knowledge management accessible and fun.
## 📜 License
MIT License. Built with ❤️ for the AI community.
## 🙏 Acknowledgements & Sponsors
This project was built for the **MCP 1st Birthday Hackathon** and proudly leverages technology from:
- **[ElevenLabs](https://elevenlabs.io)**: Powering our **Voice Mode** and **Podcast Studio** with industry-leading text-to-speech realism. The multi-speaker capabilities bring our generated podcasts to life!
- **[Hugging Face](https://huggingface.co)**: Hosting our application on **Spaces** and providing the **Gradio** framework for our beautiful, responsive UI.
- **[Anthropic](https://anthropic.com)**: For pioneering the **Model Context Protocol (MCP)** that makes this modular architecture possible.
## 🔌 Connect to Claude
Want to use these tools directly inside Claude Desktop?
Check out our [Client Setup Guide](CLIENT_SETUP.md) to connect this MCP server to your local Claude instance!