MyAIGist MCP
A local document intelligence and knowledge management server for Claude Desktop that provides RAG-powered Q\&A, media transcription, and URL crawling. It features 11 tools for processing various file types and managing a persistent local vector store with zero infrastructure costs.
README
MyAIGist MCP Server
MCP server providing document intelligence and knowledge management for Claude Desktop and other MCP-compatible clients. Process documents, answer questions with RAG, and maintain a persistent knowledge base - all running locally.
Overview
MyAIGist MCP provides 10 powerful tools for document intelligence and knowledge management:
- Document Processing: PDF, DOCX, TXT, URLs, file attachments, and batch processing
- Q&A System: RAG-powered question answering across multiple documents
- Knowledge Management: Persistent vector storage with document tracking
Features
✅ MCP-compatible - Works with Claude Desktop, Cursor, and other MCP clients ✅ Claude-powered - Uses Claude Sonnet 4.5 for summarization and Q&A ✅ Local execution - Runs on your machine with no external infrastructure ✅ Persistent storage - Single vector store survives across sessions ✅ Multi-document RAG - Unlimited documents in knowledge base ✅ Simple setup - Install dependencies, configure API keys, and go
Installation
Prerequisites
- Python 3.8+
- Anthropic API key (for Claude text generation)
- OpenAI API key (for embeddings)
- MCP-compatible client (Claude Desktop, Cursor, etc.)
Setup
-
Install dependencies:
cd /path/to/myaigist_mcp pip install -r requirements.txt -
Configure environment:
cp .env.example .env # Edit .env and add both API keys: # - ANTHROPIC_API_KEY (for Claude) # - OPENAI_API_KEY (for embeddings) -
Configure your MCP client:
Claude Desktop - Edit
~/Library/Application Support/Claude/claude_desktop_config.json:{ "mcpServers": { "myaigist": { "command": "python3", "args": ["/path/to/myaigist_mcp/server.py"] } } }Cursor - Add to your Cursor MCP settings:
{ "mcpServers": { "myaigist": { "command": "python3", "args": ["/path/to/myaigist_mcp/server.py"] } } }Other MCP clients - Refer to your client's documentation for MCP server configuration.
-
Restart your MCP client
The MCP server will start automatically when you open your client.
Architecture
myaigist_mcp/ # MCP server (this project)
├── server.py # Main MCP server with 10 tools
├── mcp_agents/ # All agent code (local, self-contained)
│ ├── document_processor.py # PDF/DOCX/TXT extraction
│ ├── summarizer.py # 3-level summarization (Claude)
│ ├── embeddings.py # OpenAI embeddings
│ ├── url_crawler.py # Web content extraction
│ ├── claude_client.py # Anthropic client factory
│ ├── openai_client.py # OpenAI client factory
│ ├── qa_agent.py # Q&A with RAG (Claude)
│ └── vector_store.py # Vector storage
└── data/ # Persistent vector storage
└── vector_store.pkl # Created at runtime
Architecture Notes:
- All agents are self-contained in
mcp_agents/ - No external dependencies on other projects
- Single-user design (no session/user isolation)
- Persistent vector storage with unlimited documents
- Claude Sonnet 4.5 for text generation (summarization, Q&A)
- OpenAI for embeddings (RAG)
Available Tools (10 Total)
Content Processing (5 tools)
1. process_document
Process a document from LOCAL FILE PATH (PDF, DOCX, TXT) and add to knowledge base.
Parameters:
file_path(string, required): LOCAL filesystem path (e.g., /Users/mike/file.pdf)title(string, optional): Document title (defaults to filename)summary_level(string, optional):quick,standard, ordetailed
Example:
"Process /Users/mike/contract.pdf as a detailed summary"
Compatibility: Works with all MCP clients.
2. process_uploaded_document
Process a document attached to Claude Desktop (optimized for Claude Desktop file uploads).
Parameters:
content(string, required): Text content extracted by Claudefilename(string, required): Original filenamesummary_level(string, optional):quick,standard, ordetailed
Example:
[Attach PDF file in Claude Desktop]
"Process this document with MyAIGist"
Compatibility: Designed for Claude Desktop. Other clients should use process_document with file paths.
3. process_text
Process raw text and add to knowledge base.
Example:
"Process this text: [paste long article]"
Compatibility: Works with all MCP clients.
4. process_url
Crawl web URL, extract content, and add to knowledge base.
Example:
"Process https://example.com/article"
Compatibility: Works with all MCP clients.
5. process_batch
Process multiple files and generate unified summary.
Example:
"Process all files in /Users/mike/research/ and give me a unified summary"
Compatibility: Works with all MCP clients.
Q&A System (1 tool)
6. ask_question
Ask questions about stored documents using RAG.
Example:
"What are the main findings in the research papers?"
Compatibility: Works with all MCP clients.
Document Management (3 tools)
7. list_documents
List all documents in knowledge base with metadata.
Example:
"Show me all my documents"
Compatibility: Works with all MCP clients.
8. delete_document
Delete specific document by ID.
Example:
"Delete document abc123xyz"
Compatibility: Works with all MCP clients.
9. clear_all_documents
Clear entire knowledge base.
Example:
"Clear all my documents"
Compatibility: Works with all MCP clients.
Utility Tools (1 tool)
10. get_status
Get system status and knowledge base statistics.
Example:
"What's my system status?"
Compatibility: Works with all MCP clients.
Common Workflows
File Upload (Claude Desktop)
User: [Attaches PDF to Claude Desktop]
User: "Process this document with MyAIGist"
Claude: ✅ Processed with summary
User: "What are the key points?"
Claude: "The key points are..."
Single Document Q&A (Any MCP Client)
User: "Process /Users/mike/contract.pdf"
AI: ✅ Processed with summary
User: "What are the payment terms?"
AI: "The payment terms are net 30..."
Multi-Document Research (Any MCP Client)
User: "Process these 3 research papers: paper1.pdf, paper2.pdf, paper3.pdf"
AI: ✅ Processed all 3 with unified summary
User: "What are the common findings across all papers?"
AI: "The common findings are..."
Configuration
Environment Variables (.env)
# Anthropic API Key (required - for Claude text generation)
ANTHROPIC_API_KEY=sk-ant-your-key-here
ANTHROPIC_MODEL=claude-sonnet-4-5-20250929
# OpenAI API Key (required - for embeddings)
OPENAI_API_KEY=sk-your-key-here
OPENAI_EMBED_MODEL=text-embedding-3-large
Model Selection
Current Configuration:
- Claude Sonnet 4.5 (
claude-sonnet-4-5-20250929) - Summarization and Q&A - text-embedding-3-large - Higher accuracy for RAG vector search
Why Two API Keys?
- Anthropic Claude: Text generation (summarization, Q&A) - excellent quality
- OpenAI: Embeddings (Claude doesn't provide embeddings)
Storage
Vector Store:
- Path:
data/vector_store.pkl - Format: Pickle with numpy arrays
- Persistence: Survives server restarts
- Capacity: Unlimited documents
API Costs
Usage-based pricing:
- Claude Sonnet 4.5: $3/$15 per 1M tokens (input/output)
- OpenAI Embeddings: $0.13 per 1M tokens
Typical monthly usage:
- 100 documents processed: ~$5-10
- 500 questions answered: ~$2-5
- Total: ~$10-15/month
Troubleshooting
Server won't start
# Check if Python can find dependencies
python3 -c "import mcp; print('✅ MCP installed')"
# Check syntax
python3 -m py_compile server.py
# Check logs (Claude Desktop example)
tail -f ~/Library/Logs/Claude/mcp-server-myaigist.log
Import errors
# Test agent imports
cd /path/to/myaigist_mcp
python3 -c "from mcp_agents.summarizer import Summarizer; print('✅ Imports work')"
python3 -c "from mcp_agents.qa_agent import QAAgent; print('✅ QAAgent works')"
API Key errors
# Check environment variables are set
python3 -c "import os; print('Anthropic:', bool(os.getenv('ANTHROPIC_API_KEY'))); print('OpenAI:', bool(os.getenv('OPENAI_API_KEY')))"
Empty knowledge base after restart
- Check
data/vector_store.pklexists - Verify file permissions (readable/writable)
- Check for errors in server logs
File upload not working
- Claude Desktop: Use
process_uploaded_documentfor file attachments - Other clients: Use
process_documentwith local filesystem paths - See tool descriptions for compatibility details
Development
Running Tests
# Test agent imports
python3 -c "from mcp_agents.qa_agent import QAAgent; qa = QAAgent(); print('✅ QAAgent works')"
# Test document processing
cd /path/to/myaigist_mcp
python3 -c "from mcp_agents.document_processor import DocumentProcessor; dp = DocumentProcessor(); print('✅ DocumentProcessor works')"
Debugging
# Run server manually to see output
python3 /path/to/myaigist_mcp/server.py
Project Structure
myaigist_mcp/
├── server.py # Main MCP server (10 tools)
├── requirements.txt # Python dependencies
├── .env # Environment variables (not in git)
├── .env.example # Template
├── README.md # This file
├── mcp_agents/ # MCP-adapted agents
│ ├── __init__.py
│ ├── claude_client.py # Anthropic client factory
│ ├── summarizer.py # Modified: uses Claude
│ ├── qa_agent.py # Modified: uses Claude, single-user
│ ├── vector_store.py # Modified: no user filtering
│ ├── document_processor.py
│ ├── embeddings.py
│ ├── url_crawler.py
│ └── openai_client.py
└── data/ # Persistent storage
└── vector_store.pkl # Vector embeddings and metadata
MCP Client Compatibility
Tested Clients
- ✅ Claude Desktop - Full support including file attachments
- ⚠️ Cursor - Core functionality works (use file paths instead of attachments)
- ❓ Other MCP clients - Should work with file path-based tools
Compatibility Notes
- All tools work with standard file paths
process_uploaded_documentis optimized for Claude Desktop's file attachment behavior- Other clients should use
process_documentwith local file paths - Standard MCP protocol (stdio transport, JSON-RPC)
License
MIT License
Support
For issues or questions:
- Check troubleshooting section above
- Review MCP server logs (location varies by client)
- Verify environment variables in
.env - Test agent imports individually
Last Updated: 2026-01-19 Project Status: ✅ Production ready - 10 core tools implemented and tested Models: Claude Sonnet 4.5 (text) + OpenAI (embeddings) Focus: Document intelligence (text-based content only) Compatibility: Claude Desktop, Cursor, and other MCP-compatible clients
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.