Alarm-CMMS-MCP
This MCP server exposes industrial maintenance and work-order intelligence tools, allowing users to search assets, retrieve and correlate alarm events, and query CMMS work orders through a standardized protocol.
README
⚙️ Maintenance & Work-Order Intelligence Copilot
An enterprise-grade, AI-driven Maintenance and Work-Order Intelligence Copilot built for platform architecture.
This copilot empowers reliability engineers and plant operators to investigate recurring alarm storms, query structured CMMS work orders, and extract grounded troubleshooting procedures from technical manuals through a unified natural-language interface.
- Architecture Overview:
flowchart TD
subgraph PRESENTATION["Presentation Layer"]
GUI["Streamlit Web GUI<br/>• Interactive Chat Panel<br/>• Alarm & Work Order Tables<br/>• Document Citations<br/>• MCP Execution Trace Timeline"]
end
subgraph COPILOT["Copilot Orchestration Layer"]
ORCH["LangGraph Copilot Orchestrator<br/>(Query Decomposition & Agent Logic)"]
CLIENT["MCP Client Manager<br/>• Tool Discovery & Validation<br/>• Trace Propagation (X-Trace-ID)<br/>• Error & Timeout Handling"]
RAG_ENG["Document RAG Engine<br/>• Vector Search & Grounding<br/>• Prompt Injection Guardrails<br/>• Citation Metadata Formatter"]
end
subgraph MCP_LAYER["Standardized Protocol Layer"]
SERVER["FastMCP Server<br/>(Alarm-CMMS-MCP)<br/>Port: 9000"]
end
subgraph DATA_SOURCES["Data Sources & Core Backend"]
SIMULATOR["Alarm API Simulator<br/>(FastAPI - Postman Spec Compliant)<br/>Port: 8000"]
CMMS["CMMS Work-Order DB<br/>(SQLite Database)"]
VECTOR_DB[("ChromaDB Vector Store<br/>(Equipment Manuals & SOPs)")]
end
GUI -->|HTTP / REST| ORCH
ORCH --> CLIENT
ORCH --> RAG_ENG
CLIENT -->|JSON-RPC| SERVER
RAG_ENG -->|Semantic Vector Search| VECTOR_DB
SERVER -->|HTTP REST APIs| SIMULATOR
SERVER -->|SQL Queries| CMMS
🎯 Selected Use Case
Maintenance and Work-Order Intelligence Copilot
🎯 Selected Use Case
Maintenance and Work-Order Intelligence Copilot
- Business Scenario: Industrial reliability teams need to combine telemetry alarm behavior, CMMS maintenance history, and equipment manuals to identify assets requiring immediate intervention.
- Core Value: Reconciles structured alarm and CMMS data with unstructured operating manuals using canonical asset identifiers (
BFP-101), eliminating manual cross-referencing during alarm floods.
✨ Main Capabilities
- Natural-Language Query Understanding: Decomposes complex plant queries into structured intent and multi-step tool execution plans.
- Standardized Model Context Protocol (MCP) Integration: Exposes Alarm Management APIs and CMMS databases as standardized, typed tools using
FastMCP. - Document RAG with Security Guardrails: Vector search over equipment manuals using
ChromaDBandSentenceTransformers, equipped with prompt-injection defenses and strict similarity thresholds. - End-to-End Traceability & Observability: Live execution timeline showing tool invocations, inputs, trace headers (
X-Trace-ID), and document confidence scores directly in the UI. - Zero-Cost Offline Execution: Includes an offline rule-based mock engine that allows running all automated tests and UI demos without requiring paid external LLM API keys.
🛠️ Technology Stack
| Component | Technology |
|---|---|
| User Interface | Streamlit |
| Copilot Orchestration | LangGraph / Python Async Engine |
| MCP Server & Client | FastMCP / Model Context Protocol SDK |
| Backend & Simulator | FastAPI, Uvicorn, SQLite |
| Vector Store & Embeddings | ChromaDB, sentence-transformers/all-MiniLM-L6-v2 |
| Testing & Quality | PyTest, PyTest-Asyncio, Ruff |
| Packaging & CI | Docker, Docker Compose, GitHub Actions |
🔌 MCP Server Description & Tool Catalog
The candidate-developed MCP server exposes backend source-system capabilities over standard JSON-RPC interface contracts.
Registered MCP Tools
| Tool Name | Description | Source System Operation |
|---|---|---|
search_assets |
Resolves asset names/keywords into canonical Asset IDs | GET /assets/search |
get_alarms |
Fetches active or historical alarm events for an asset | GET /alarms |
get_alarm_summary |
Calculates aggregated KPIs, recurring rates, and trends | POST /alarms/summary |
get_alarm_correlation |
Advanced Operation: Performs cross-asset event correlation | POST /alarms/correlation |
get_cmms_work_orders |
Queries structured maintenance work orders and costs | GET /api/v1/cmms/work_orders |
For complete input/output JSON schemas, trace header propagation details, and error mapping, see
docs/mcp-tool-catalog.md.
Independent MCP Server Launch Command
$env:PYTHONPATH="."
python -m mcp_servers.alarm_management.server
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.