--- 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!