MyDocsMCP
MyDocsMCP: MCP Server for PDF Collections
This project is a Model Context Protocol (MCP) Server that enables semantic search (local RAG) over a collection of PDF documents. It uses the FastMCP framework, the ChromaDB vector database, and local embedding models from Sentence Transformers.
Architecture
Semantic Search: 100% local (offline) RAG (Retrieval-Augmented Generation).
Embeddings:
paraphrase-multilingual-mpnet-base-v2(supports Portuguese).Vector DB: Persistent ChromaDB.
Watcher: Monitors new PDFs in the
./data/pdfsfolder and indexes them automatically viawatchdog.
How to Use
1. Data Preparation
Place your PDFs in the ./data/pdfs/ folder. If you want to organize them by disciplines, create subfolders:
data/pdfs/
├── Generative-AI/
│ └── lecture1.pdf
└── Machine-Learning/
└── fundamentals.pdfThe subfolder name will be used as the discipline metadata.
2. Extremely Simple Configuration (Claude / Gemini Desktop)
To use the server, add the configuration below to your agent's JSON file (claude_desktop_config.json or Gemini's settings.json).
Claude Path (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
Gemini Path (macOS): ~/.gemini/settings.json
The server automatically resolves all data folders (pdfs, metadata, chroma_db) based on the project root. You only need to provide the absolute path where you cloned the repository:
{
"mcpServers": {
"mydocsmcp": {
"command": "uv",
"args": [
"--directory", "/Absolute/Path/To/Your/MyDocsMCP",
"run",
"mydocs-mcp"
]
}
}
}That's it! No additional environment variables (PYTHONPATH, PDF_DIR, etc.) are required. The setup "Just Works"™.
Exposed Tools
search_documents(query, top_k=5, discipline=None): Semantic search in the collection.list_documents(discipline=None): Lists indexed PDFs.cross_topic_search(query, disciplines): Cross-topic search across multiple disciplines.get_index_stats(): Vector database statistics.ingest_new_documents(path=None, force_reindex=False): Forces manual re-ingestion.
Local Development (Python)
We use the uv package manager:
# Install dependencies
uv sync
# Run the server
uv run mydocs-mcpRunning Tests
uv run pytestTechnologies Used
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/Edwardmaster7/MyDocsMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server