MCP SOP Server
@dadapera
A Model Context Protocol (MCP) server for accessing and searching Standard Operating Procedures (SOPs) with Italian language support.
Overview
What is MCP SOP Server?
MCP SOP Server is a Model Context Protocol (MCP) server for accessing and searching Standard Operating Procedures (SOPs) with Italian language support. It provides AI agents with semantic search, category browsing, and procedural guidance using ChromaDB, Sentence Transformers, and RAG.
How to use MCP SOP Server?
Install by cloning the repository, creating a Python virtual environment, installing dependencies from requirements.txt, and placing SOP documents (PDF/DOCX) in a sop_documents/ directory organized by category folders. Configure your MCP client (e.g., Claude Desktop) to point to the server’s main.py using the full path to the virtual environment’s Python executable. The server starts automatically by the client or manually with python main.py. Tools include search_sop_documents, get_sop_guidance, list_sop_categories, get_sop_by_category, refresh_sop_database, and get_server_status.
Key features of MCP SOP Server
- Italian language support via multilingual embeddings
- Processes PDF and DOCX documents
- Semantic search based on meaning, not keywords
- Category filtering for refined searches
- Lazy initialization for fast startup
- Efficient vector-based search with ChromaDB
Use cases of MCP SOP Server
- Search company SOP documentation using natural language queries
- Retrieve relevant procedures for specific workplace situations
- Browse all SOPs within a given category
- Refresh the database when SOP documents are updated
- Get server status and collection statistics
FAQ from MCP SOP Server
What embedding model does MCP SOP Server use?
The server uses sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 by default for Italian language support, configurable in document_searcher.py.
Where are documents stored and indexed?
Documents are indexed in a local ChromaDB database stored in the chroma_db/ directory relative to the project root. Source SOPs must be placed in a sop_documents/ folder organized by category.
What document formats are supported?
PDF and DOCX files are supported. Additional formats can be added by extending the DocumentProcessor class.
How can I adjust chunk size for text processing?
Text chunking parameters (default 1000 characters with 200 overlap) can be changed in src/mcp_sop_server/document_processor.py.
Does the server support authentication or remote transport?
The README describes only local MCP client configuration (e.g., Claude Desktop) via stdio transport. No authentication mechanisms or network transports are mentioned.