Labsco
dadapera logo

MCP SOP Server

from dadapera

An MCP server for accessing and searching Standard Operating Procedures (SOPs) with Italian language support.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

MCP SOP Server

A Model Context Protocol (MCP) server for accessing and searching Standard Operating Procedures (SOPs) with Italian language support.

Overview

This MCP server provides AI agents with the ability to:

  • Search through your company's SOP documentation using semantic search
  • Retrieve relevant procedures based on specific situations
  • Browse SOPs by category
  • Get guidance on what to do in specific scenarios

The server uses:

  • ChromaDB for vector storage and semantic search
  • Sentence Transformers with multilingual models for Italian language support
  • FastMCP for the MCP server implementation
  • RAG (Retrieval Augmented Generation) for intelligent document retrieval

Features

  • ๐Ÿ‡ฎ๐Ÿ‡น Italian Language Support: Uses multilingual embeddings optimized for Italian text
  • ๐Ÿ“„ Multi-format Support: Processes PDF and DOCX documents
  • ๐Ÿ” Semantic Search: Find relevant SOPs based on meaning, not just keywords
  • ๐Ÿ“ Category Filtering: Search within specific SOP categories
  • ๐Ÿค– AI-Ready: Provides structured responses perfect for LLM consumption
  • โšก Fast Retrieval: Efficient vector-based search with ChromaDB
  • ๐Ÿš€ Lazy Initialization: Server starts quickly, documents are indexed on first request

Example Queries

Here are some example queries you can use:

Italian:

  • "Come gestire una non conformitร ?"
  • "Procedura per la manutenzione dell'infrastruttura"
  • "Cosa fare in caso di audit interno?"
  • "Gestione del magazzino e inventario"

English:

  • "How to handle quality issues?"
  • "Software development lifecycle procedures"
  • "Risk management protocols"
  • "Employee training requirements"

Development

Project Structure

mcp-sop-server/
โ”œโ”€โ”€ src/mcp_sop_server/          # Main package
โ”‚   โ”œโ”€โ”€ __init__.py              # Package initialization
โ”‚   โ”œโ”€โ”€ mcp_server.py            # FastMCP server and tools
โ”‚   โ”œโ”€โ”€ document_processor.py    # Document text extraction
โ”‚   โ””โ”€โ”€ document_searcher.py     # Vector search with ChromaDB
โ”œโ”€โ”€ main.py                      # Entry point
โ”œโ”€โ”€ requirements.txt             # Dependencies
โ”œโ”€โ”€ test_server.py              # Server testing
โ”œโ”€โ”€ mcp-client-config.json      # Example client configuration
โ””โ”€โ”€ README.md                   # This file

Adding New Document Types

To support additional file formats, extend the DocumentProcessor class:

def extract_text_from_new_format(self, file_path: Path) -> str:
    # Implementation for new format
    pass

Custom Search Logic

Modify the DocumentSearcher class to implement custom search algorithms or filters.

Additional Tools

Add new MCP tools by defining them with the @mcp.tool() decorator in mcp_server.py.

Support

For issues or questions about the SOP MCP server, create an issue on the GitHub repository.