sep-mpc-server
About
A server for processing semantic embeddings, requiring external data files mounted via a Docker volume.
Details
- Author
- claytongroth
- Categories
- Developer Tools, Other, AI
Jump to
Setup
Install sep-mpc-server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/claytongroth/sep-mpc-server
Follow the installation instructions in the repository README, then restart your MCP client.
Stanford Encyclopedia of Philosophy MCP Server
A Model Context Protocol (MCP) server that provides semantic search access to the complete Stanford Encyclopedia of Philosophy through vector embeddings and ChromaDB.
- Complete SEP Database: Access to all ~1840 philosophy articles
- Vector Search: Semantic search using sentence transformers (all-MiniLM-L6-v2)
- Docker Containerized: Easy deployment and consistent environment
- Claude Desktop Integration: Direct integration with Claude Desktop client
- Chunked Content: Smart text chunking for optimal retrieval accuracy
- MCP Protocol: Full Model Context Protocol compliance
- Python 3.11+
- Docker Desktop
- Claude Desktop application
- ~10GB disk spacefor complete database
- Internet connectionfor initial scraping and model downloads
SEP_MCP_SERVER/ ├── scraper/ │ └── SEP_scraper.py # Stanford Encyclopedia scraper ├── vectorization/ │ ├── vectorize_html.py # HTML to vector conversion │ └── philosophy_vectordb/ # ChromaDB vector database ├── mcp_server/ │ ├── philosophy_mcp_server.py # Main MCP server │ ├── mcp_vector_interface.py # Vector search interface │ ├── Dockerfile # Container definition │ ├── docker-compose.yml # Docker Compose config │ ├── docker_helper.sh # Helper scripts │ ├── requirements.txt # Python dependencies │ └── test_mcp_server.py # Server tests └── README.md # This file
Step 1: Scrape Stanford Encyclopedia of Philosophy
# Navigate to scraper directory cd scraper # Install dependencies pip install requests beautifulsoup4 lxml # Run the scraper (takes 30-60 minutes) python SEP_scraper.py # Verify scraping results ls ../data/.html | wc -l # Should show ~1840 files
Expected output: ~1840 HTML files in thedata/directory
# Navigate to vectorization directory cd ../vectorization # Install vectorization dependencies pip install chromadb sentence-transformers beautifulsoup4 torch # Run vectorization (takes 2-4 hours depending on hardware) python vectorize_html.py # Verify database creation ls -la philosophy_vectordb/
Expected output: ChromaDB database inphilosophy_vectordb/directory
# Navigate to MCP server directory cd ../mcp_server # Build the Docker image docker build -t philosophy-mcp . # Verify image was created docker images | grep philosophy-mcp
# Test database stats docker run --rm -it \ -v /absolute/path/to/SEP_MCP_SERVER/vectorization/philosophy_vectordb:/app/philosophy_vectordb:rw \ philosophy-mcp \ python3 mcp_vector_interface.py stats # Test search functionality docker run --rm -it \ -v /absolute/path/to/SEP_MCP_SERVER/vectorization/philosophy_vectordb:/app/philosophy_vectordb:rw \ philosophy-mcp \ python3 mcp_vector_interface.py search "consciousness" 3 # List available entries docker run --rm -it \ -v /absolute/path/to/SEP_MCP_SERVER/vectorization/philosophy_vectordb:/app/philosophy_vectordb:rw \ philosophy-mcp \ python3 mcp_vector_interface.py list
Replace/absolute/path/to/SEP_MCP_SERVERwith your actual project path!
On macOS:~/Library/Application Support/Claude/claude_desktop_config.json
On Windows:%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "sep": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/absolute/path/to/SEP_MCP_SERVER/vectorization/philosophy_vectordb:/app/philosophy_vectordb:rw", "philosophy-mcp" ] } } }
IMPORTANT: Replace/absolute/path/to/SEP_MCP_SERVERwith your actual full path!
- Quit Claude Desktop completely
- Restart Claude Desktop
- Look for the MCP server connectionin the interface
# Check database statistics docker run --rm -it \ -v /your/path/SEP_MCP_SERVER/vectorization/philosophy_vectordb:/app/philosophy_vectordb:rw \ philosophy-mcp \ python3 mcp_vector_interface.py stats # Search for specific topics docker run --rm -it \ -v /your/path/SEP_MCP_SERVER/vectorization/philosophy_vectordb:/app/philosophy_vectordb:rw \ philosophy-mcp \ python3 mcp_vector_interface.py search "category theory" 5 docker run --rm -it \ -v /your/path/SEP_MCP_SERVER/vectorization/philosophy_vectordb:/app/philosophy_vectordb:rw \ philosophy-mcp \ python3 mcp_vector_interface.py search "free will" 3
- Stats should show: ~1840 entries, thousands of chunks
- Search should return: Relevant philosophy passages with relevance scores
- Claude Desktop should show: SEP tool available in the interface
# Solution: Use :rw instead of :ro in volume mount -v /path/to/philosophy_vectordb:/app/philosophy_vectordb:rw
2. "No such file or directory"
# Solution: Use absolute path, not relative path # Wrong: -v ./vectorization/philosophy_vectordb:/app/philosophy_vectordb:rw # Right: -v /Users/username/SEP_MCP_SERVER/vectorization/philosophy_vectordb:/app/philosophy_vectordb:rw
- Ensure Docker is running
- Check config file path and syntax
- Restart Claude Desktop completely
- Verify volume mount path is correct
- Verify database was created properly
- Check that vectorization completed successfully
- Test with Docker commands first
# Check if database exists ls -la vectorization/philosophy_vectordb/ # Test container without volume (should fail gracefully) docker run --rm -it philosophy-mcp python3 mcp_vector_interface.py stats # Check Docker container logs docker run --rm -it philosophy-mcp ls -la /app/ # Verify Python dependencies in container docker run --rm -it philosophy-mcp pip list
Once connected to Claude Desktop, you can ask questions like:
- "Search for information about consciousness in the Stanford Encyclopedia"
- "What does the SEP say about free will?"
- "Find articles related to category theory"
- "Search for content about phenomenology"
- Chunk size: Modifychunk_sizeinvectorize_html.pyfor different granularity
- Model selection: Change embedding model in vectorization script
- Memory limits: Add Docker memory constraints if needed
# Re-scrape new/updated articles cd scraper && python SEP_scraper.py # Re-vectorize (preserves existing, adds new) cd vectorization && python vectorize_html.py # Rebuild container if server code changed cd mcp_server && docker build -t philosophy-mcp .
✅~1840 HTML filesindata/directory
✅ChromaDB databasecreated inphilosophy_vectordb/
✅Docker containerbuilds successfully
✅Search commandsreturn relevant results
✅Claude Desktopshows SEP tools available
✅MCP serverresponds to philosophy queries
- Verify all prerequisites are installed
- Check file paths are absolute and correct
- Ensure Docker Desktop is running
- Test Docker commands before Claude integration
- Check Claude Desktop configuration syntax
Total setup time: 3-5 hours (mostly automated processing)
Database size: ~2-3GB after vectorization
Performance*: Sub-second search responses
{ "mcpServers": { "sep": { "command": "docker", "args": [ "run", "-i", "--rm", "-v", "/Users/claytongroth/DEV/SEP_MCP_SERVER/vectorization/philosophy_vectordb:/app/philosophy_vectordb:rw", "philosophy-mcp" ] } } }
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
Offline MCP server that ranks & summarizes code using BM25, TF-IDF, embeddings & git signals; integrates with Cursor, Claude Desktop and Windsurf; privacy preserving.
An MCP server powered by txtai for semantic search, knowledge graphs, and AI-driven text processing.
A powerful Model Context Protocol (MCP) server using gemini embedding 3 that transforms any local directory into an ultrafast, visually-aware spatial search engine for AI agents.
A fully-local MCP server for question-answering over your PDFs. Ask in plain language; Claude retrieves only the relevant passages with page citations. On-device embeddings (sentence-transformers) + ChromaDB — no API keys, nothing leaves your machine.
Private persistent memory for Claude, ChatGPT & Gemini via MCP — semantic search, zero-code setup.
An MCP server for web and similarity search, designed for Claude Desktop. It integrates with various external embedding and API services.
MCP server for Prompt Builder — search, retrieve, and compile prompt components from a community vault using semantic search (pgvector) and slug-based lookup. Works with Claude Desktop and Cursor.
A server providing web and similarity search functionalities, designed for Claude Desktop. It requires external embedding and API services.
Persistent visual cache for LLM-driven software development. Caches screenshots using perceptual hashing, vector search, and AX trees to prevent token overhead and visual hallucination loops.
Query and analyze your Opik logs, traces, prompts and all other telemtry data from your LLMs in natural language.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





