MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

QMS MCP Server — quality management (suppliers, batches & QC release, inspections, NCR, CAPA, complaints, HACCP) for food & beverage and manufacturing agents

Created 6/9/2026
Updated about 6 hours ago
Repository documentation and setup instructions

QMS MCP Server

Crates.io License ADK-Rust Enterprise Registry Ready

A Quality Management System for ADK-Rust Enterprise food & beverage and manufacturing agents. 31 MCP tools spanning suppliers, batches & QC release, inspections, nonconformances, CAPA, complaints, and HACCP monitoring — with the quality interlocks that make the workflow defensible.

What It Does

The spine of any QMS is quality event → corrective action. This server models that whole loop and the records the agents act on, with rules wired in so the data can't drift into an unsafe state.

| Domain | Agents this server backs | |--------|--------------------------| | Food & Beverage | Batch Quality Release · Cold Chain Monitor · Customer Complaint Quality · Food Safety Incident Triage · HACCP Plan Assistant · Supplier Risk Monitor | | Manufacturing | Quality Inspection Assistant · Supplier Quality Agent |

Architecture

QMS MCP Architecture

Quality Interlocks (the part that matters)

These aren't just CRUD records — the rules enforce quality discipline:

  • Batch release is gated — a batch can only be released if it has QC tests, all pass, and no open NCR is linked. A failing test auto-holds the batch.
  • HACCP breach auto-raises a critical NCR — record a monitoring reading outside the critical limit and the system opens a Critical nonconformance automatically (cold-chain / food-safety triage).
  • Critical/major NCRs can't close without a CAPA — corrective action is mandatory for serious events.
  • CAPA close requires a root cause + all steps done + verified effectiveness — a failed effectiveness check reopens the CAPA rather than closing it.
  • Supplier scorecards degrade with NCRs — each NCR attributed to a supplier lowers its score and auto-steps its status (Approved → Conditional → Probation → Suspended).

Tools (31)

Suppliers (4)

create_supplier · get_supplier · list_suppliers (worst-first) · set_supplier_status (gated)

Batches & QC (5)

create_batch · get_batch · list_batches · add_qc_test (fail auto-holds) · set_batch_disposition (release gated)

Inspections (2)

create_inspection (overall result derived) · get_inspection

Nonconformances (5)

raise_ncr · get_ncr · search_ncrs · apply_containment · set_ncr_status (gated; CAPA required to close serious NCRs)

CAPA (6)

open_capa · get_capa · set_root_cause · add_capa_step · complete_capa_step · close_capa (gated; effectiveness-verified)

Complaints (5)

log_complaint · get_complaint · list_complaints · escalate_complaint (gated; raises an NCR) · resolve_complaint

HACCP (4)

create_control_point · list_control_points · record_monitoring (auto-NCR on breach) · get_monitoring_logs

Example — HACCP cold chain + CAPA

> create_control_point(name: "Fryer Temp", hazard: "undercook", critical_limit: ">=75C", lower: 75, unit: "C")
> record_monitoring(control_point_id: "CCP-1009", value: 80)   → within_limit
> record_monitoring(control_point_id: "CCP-1009", value: 68)   → BREACH → auto-raises NCR-1010 (critical)

> open_capa(kind: "corrective", title: "Fryer calibration", ncr_ids: ["NCR-1010"], owner: "eng")
> set_root_cause(capa_id: "CAPA-1011", root_cause: "thermostat drift")
> add_capa_step(capa_id: "CAPA-1011", description: "Replace thermostat")  →  complete_capa_step(...)
> close_capa(capa_id: "CAPA-1011", effective: true)            → closed
> set_ncr_status(ncr_id: "NCR-1010", status: "closed")         → closed (CAPA present)

Example — batch release gate

> create_batch(product: "Sauce", lot_code: "SC-9", quantity: "1000")
> set_batch_disposition(batch_id: "BATCH-…", status: "released")
  → Error: Cannot release: no QC tests recorded
> add_qc_test(batch_id: "BATCH-…", name: "pH", spec: "3.8-4.2", measured: "4.0", result: "pass")
> set_batch_disposition(batch_id: "BATCH-…", status: "released")   → released ✓

Installation

1. Build

git clone https://github.com/zavora-ai/mcp-qms
cd mcp-qms
cargo build --release

2. Add to your MCP client

Claude Desktop / Kiro / Cursor / Windsurf:

{
  "mcpServers": {
    "qms": {
      "command": "/path/to/mcp-qms"
    }
  }
}

3. Use it

> list_suppliers(status: "probation")
> list_batches(status: "on_hold")
> search_ncrs(severity: "critical", status: "open")

Governance & Data Handling

  • Gated quality-critical writes — batch release, supplier status, NCR closure, CAPA closure, and complaint escalation require approval in production; reads are read_only.
  • Defensible records — NCRs and CAPAs carry an immutable audit trail.
  • Interlocked workflow — the release/closure rules prevent unsafe state transitions by construction.
  • Integration scaffold — the in-memory store is for development; back it with a durable, validated QMS of record and bind actors to authenticated identities in production.

MCP Server Manifest

server_id = "mcp_qms"
display_name = "Quality Management System"
version = "1.0.0"
domain = "quality"
risk_level = "high"
writes_allowed = "gated"
transports = ["stdio"]

Contributors

| jkmaina - MCP Qms by zavora-ai
James Karanja Maina
| |:---:|

License

Apache-2.0 — see LICENSE for details.


Part of the ADK-Rust Enterprise MCP server ecosystem.

Registry Compliance

This server implements the ADK MCP SDK contract:

  • HealthCheck — async health probe for registry monitoring
  • mcp-server.toml — manifest declaring tools, risk classes, and approval gates
  • Structured tracingRUST_LOG env-filter for observability
Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/zavora-ai/mcp-qms
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "zavora-ai-mcp-qms": { "command": "git", "args": [ "clone", "https://github.com/zavora-ai/mcp-qms" ] } } }