AI Document Assistant MCP Server
# AI Document Assistant
An AI-powered Document Assistant built using RAG (Retrieval-Augmented Generation), FAISS, MCP (Model Context Protocol), Ollama, and Streamlit.
Upload PDF documents, ask questions about their content, generate summaries, extract keywords, and answer general knowledge questions using Wikipedia integration.
Features
Document Question Answering
Ask questions about uploaded PDF documents.
Retrieves relevant document chunks using FAISS vector search.
Generates natural language answers using Ollama.
Document Summarization
Generate concise summaries of uploaded documents.
Keyword Extraction
Extract important keywords and topics from documents.
General Knowledge Questions
Wikipedia integration for questions outside the uploaded document.
MCP Integration
Exposes tools through MCP.
Allows tool discovery and execution through MCP clients.
PDF Upload Support
Upload PDF files directly from the Streamlit interface.
Automatically creates embeddings and indexes documents for retrieval.
Streamlit Interface
Simple and user-friendly chat interface.
Upload PDFs and interact with documents in real time.
Screenshots
Streamlit Interface

MCP Server Connection

MCP Tools

Architecture
PDF
│
▼
PDF Loader
│
▼
Text Chunking
│
▼
Embeddings
│
▼
FAISS Vector Store
│
▼
Retrieval
│
▼
LLM (Ollama)
│
▼
Answer GenerationTech Stack
Backend
Python
LLM
Ollama
Qwen 2.5 Coder 7B
Vector Database
FAISS
Embeddings
Sentence Transformers
Protocol
MCP (Model Context Protocol)
Frontend
Streamlit
External Knowledge
Wikipedia API
Project Structure
AI-Document-Assistant/
│
├── datas/
│
├── screenshots/
│ ├── streamlit-ui.png
│ ├── mcp-server.png
│ └── mcp-tools.png
│
├── src/
│ ├── pdf_loader.py
│ ├── chunker.py
│ ├── embeddings.py
│ ├── vector_store.py
│ └── rag_store.py
│
├── tools/
│ ├── search_tool.py
│ ├── summary_tool.py
│ ├── keyword_tool.py
│ ├── qa_tool.py
│ └── wiki_tool.py
│
├── app.py
├── agent.py
├── build_rag.py
├── mcp_client.py
├── mcp_server.py
├── requirements.txt
├── README.md
└── .gitignoreInstallation
Clone Repository
git clone https://github.com/yourusername/AI-Document-Assistant.git
cd AI-Document-AssistantCreate Virtual Environment
python -m venv .venvActivate Environment
Windows:
.venv\Scripts\activateLinux/macOS:
source .venv/bin/activateInstall Dependencies
pip install -r requirements.txtInstall Ollama
Download and install Ollama:
Pull the model:
ollama pull qwen2.5-coder:7bStart Ollama:
ollama serveRun the Application
streamlit run app.pyOpen:
http://localhost:8501How It Works
Document Questions
Example:
What is MySQL Workbench?The assistant:
Searches relevant document chunks.
Retrieves matching context using FAISS.
Sends context to Ollama.
Generates a final answer.
General Knowledge Questions
Example:
Who is Elon Musk?The assistant:
Detects the question is not document-specific.
Uses Wikipedia.
Returns a concise answer.
MCP Tools
document_search
Search relevant document chunks.
document_summary
Generate document summaries.
document_keywords
Extract important keywords.
ask_document
Question answering over uploaded documents.
wiki_search
General knowledge lookup using Wikipedia.
Future Improvements
Multi-PDF support
Chat history memory
Conversation context
Source citations
Hybrid Search (BM25 + Vector Search)
Persistent Vector Database
Docker deployment
Authentication and user management
Author
Yadu
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/yadu0323/AI-Document-Assistant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server