How v0idseeker/rag-mcp works
DocMCP ingests local PDFs into ChromaDB, then exposes semantic search and document-management tools through JavaScript or Python MCP servers; its web UI adds ingestion, search, collection management, and RLM-backed asking. The graph preserves both implementations and the UI path. Some Python server and UI routes are only partially excerpted, so edges for documented capabilities use the README; unsampled implementation details are not expanded.
Main entry points: app.js UI Client · server.py RLM Reasoning · ingest.js JS Ingestion · ingest.py Python Ingestion
Components 20
PDF Ingestion
- JS Ingestion
src/ingest.js - JS Embedder
src/embedder.js - Python Ingestion
src2/ingest.py - Python Embedder
src2/embedder.py
MCP Search
- JS MCP Tools
src/index.js - Python MCP Tools
src2/server.py
Web Interface
RLM Reasoning
- RLM Reasoning
src2/server.py - RLM Library
Other components
- User
- MCP Client
- PDF Files
- ChromaDB
- Local LLM
- Browser
Connections 26
- User → PDF Files: provides PDFs
Readme.md - PDF Files → JS Ingestion: ingests files
Readme.md - PDF Files → Python Ingestion: ingests files
Readme.md - JS Ingestion → JS Embedder: embeds chunks
src/ingest.js - JS Ingestion → ChromaDB: stores chunks
src/ingest.js - Python Ingestion → Python Embedder: embeds chunks
src2/ingest.py - Python Ingestion → ChromaDB: stores chunks
Readme.md - MCP Client → JS MCP Tools: calls tools
Readme.md - MCP Client → Python MCP Tools: calls tools
Readme.md - JS MCP Tools → JS Embedder: embeds query
src/index.js - JS MCP Tools → ChromaDB: queries and manages
src/index.js - Python MCP Tools → Python Embedder: embeds query
src2/server.py - Python MCP Tools → ChromaDB: queries and manages
src2/server.py - User → Browser: uses UI
Readme.md - Browser → UI Pages: opens pages
Readme.md - UI Pages → UI Client: loads client
Readme.md - UI Client → UI API: calls API
ui/app.js - UI API → UI Ingestion: starts ingestion
ui-server.js - UI Ingestion → JS Embedder: embeds chunks
src/ingest.js - UI Client → UI Search: requests search
ui/app.js - UI Search → ChromaDB: searches vectors
Readme.md - UI Client → UI Ask: asks question
ui/app.js - UI Ask → RLM Reasoning: dispatches reasoning
ui-server.js - RLM Reasoning → ChromaDB: retrieves documents
src2/server.py - RLM Reasoning → RLM Library: uses library
Readme.md - RLM Reasoning → Local LLM: delegates sub-LLM
Readme.md