Skip to main content
Glama

GxP MCP MCP Server – Cypher-Tools for Claude / ChatGPT / Cursor

This MCP server provides your Computerized System Inventory as a Knowledge Graph via Cypher-Abfragen bereit. Jeder Claude-/ChatGPT-Agent kann jetzt GxP-Stammdaten abfragen, ohne zu halluzinieren.

Architecture

Claude / ChatGPT / Cursor
        |
        | MCP (stdio)
        v
  mcp_server.py (14 tools)
        |
        | Cypher queries
        v
  Neo4j (or MOCK mode: NetworkX + JSON) <- your MDM golden record

Warum Cypher?

  • Blast Radius ist eine GraphTraversierung: MATCH (start)-[:SENDS_VIA*1..3]->(downstream) – in SQL unmöglich

  • Data Lineage für ALCOA+-Untersuchungen

  • Regulatorische Ground Truth – der Agent kann nur die von Cypher zurückgegebenen Klauseln zitieren; das verhindert Halluzinationen.

Related MCP server: NOMIK

14 verfügbare Tools

Tool

Cypher-Code

Funktion

cypher_query

Benutzerdefiniert

Sichere, schreibgeschützte Cypher-Abfrage zur Erkundung

list_all_systems

MATCH (s:ComputerizedSystem) RETURN

Vollständiges Inventar – Auditoren fragen zuerst danach

get_system_details

Vollständiger Teilgraph

System + Funktionen + elektronische Aufzeichnungen + Lieferant + Schnittstellen

get_blast_radius

MATCH (start)-[:SENDS_VIA*1..$depth]->(downstream)

Killer-App: Welche nachgelagerten GxP-Systeme sind von einer Änderung betroffen?

get_upstream_lineage

Rückwärts-Traversierung

Woher stammen die Daten?

get_applicable_regulations

(s)-[:HAS_FUNCTION]->(f)-[:REGULATED_BY]->(reg)

Anti-Halluzination: nur diese Klauseln dürfen zitiert werden

get_system_interfaces

(s)-[flow:SENDS_VIA]->(target)

API-/Datei-/manuelle Schnittstellen mit GxP-Kennzeichnung

find_validation_gaps

WHERE validation_status <> 'Validated'

Nicht validierte GxP-Direktsysteme

find_periodic_review_overdue

WHERE next_review < date()

Überfällige periodische Reviews

find_high_risk_functions

WHERE is_gxp_critical AND risk=High

Elektronische Signatur, Chargenfreigabe, Potenz

get_supplier_risk

(s)-[:SUPPLIED_BY]->(sup)

Lieferanten-Auditstatus, SOC2

get_data_lineage

MATCH (s)-[:GENERATES]->(e:ElectronicRecord)

Lineage für eine Datensatzart

get_gxp_inventory

WHERE gxp_impact='Direct'

GxP-Direktinventar

assess_change_impact

Zusammengesetzt

Orchestriert 3 Cypher-Abfragen + erzeugt eine Auswirkungsanalyse gemäß GAMP 5 / CSA

Schnellstart (Kein Neo4j erforderlich – Mock-Referenz)

cd gxp_mdm_mcp_server
pip install -r requirements.txt

# Mock mode: uses JSON + NetworkX, no Neo4j required
python scripts/test_tools.py

# Should show:
# - List 4 systems
# - Veeva QMS details with downstream SAP
# - Blast radius: Veeva -> SAP
# - REJECT for audit trail purge
# - Minor for version upgrade

Mock-Modus ist ideal für POCs und Claude-Desktop-Tests.

Prod-Modus mit Neo4j

# .env - set Neo4j creds
cp .env.example .env
# Edit .env with your Neo4j URI

# Start Neo4j
docker-compose up -d neo4j

# Load sample data + schema
python scripts/load_sample_data.py

# Test with Neo4j
python scripts/test_tools.py

# Start API harness (optional)
uvicorn src.api_server:app --reload --port 8000
# http://localhost:8000/cypher/list_all_systems
# http://localhost:8000/cypher/blast_radius?system_id=SYS-VEEVA-QMS-001

Claude Desktop Konfiguration

  1. Finden Sie Ihre Claude-Konfiguration: ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) oder %APPDATA%/Claude/Claude_desktop_config.json (Win)

  2. Hinzufügen (mit absolutem Pfad):

{
  "mcpServers": {
    "gxp-mdm-cypher": {
      "command": "python",
      "args": ["/absolute/path/to/gxp_mdm_mcp_server/src/mcp_server.py"],
      "env": {
        "NEO4J_URI": "",
        "NEO4J_USERNAME": "neo4j",
        "NEO4J_PASSWORD": "password"
      }
    }
  }
}

Für den Mock-Modus lassen Sie NEO4J_URI leer. Für Neo4j setzen Sie sie auf bolt://localhost:7687.

  1. Starten Sie Claude Desktop neu. Sie sehen dann 14 Tools unter 🔌.

  2. Probieren Sie beispielsweise diese Prompts aus:

List all GxP Direct systems in my inventory
> calls list_all_systems(gxp_impact="Direct")

What happens if I change Veeva QMS? Show blast radius
> calls get_blast_radius(system_id="SYS-VEEVA-QMS-001")

Assess this change: Enable audit trail purge after 7 years for Veeva QMS
> calls assess_change_impact -> should REJECT per 21CFR11.10(e)

Assess Veeva upgrade from 24R1 to 24R2 with no e-sig change
> calls assess_change_impact -> should be Minor per CSA low risk

Cursor-Konfiguration

Siehe config/cursor_config.json.example – ergänzen Sie die Datei unter .cursor/mcp.json.

ChatGPT (mit MCP-Unterstützung)

Wenn Sie bei ChatGPT einen eigenen GPT mit MCP verwenden, nutzen Sie config/chatgpt_mcp_config.json als Referenz. ChatGPT ruft die Tools über stdio auf.

Cypher-Abfragen – Ground Truth

Alle Abfragen stehen in src/cypher_tools.py. Die wichtigsten:

Blast Radius (entscheidender Vorteil):

MATCH (start:ComputerizedSystem {system_id: $system_id})
MATCH path = (start)-[:SENDS_VIA*1..$depth]->(downstream:ComputerizedSystem)
WHERE downstream.gxp_impact IN ['Direct', 'GxP Relevant']
RETURN downstream.system_id, length(path) as distance

Regulatorische Anti-Halluzination:

MATCH (s:ComputerizedSystem {system_id: $system_id})
OPTIONAL MATCH (s)-[:HAS_FUNCTION]->(f)-[:REGULATED_BY]->(reg)
RETURN collect(DISTINCT reg) as regulations

Der Agent darf ausschließlich die hier zurückgegebenen clause\_ids zitieren.

Vom POC zur Produktion

  1. Ersetzen Sie data/*.json durch echte Veeva Vault API + ServiceNow CMDB + Okta.

  2. Fügen Sie Schreib-Tools (mit Genehmigungsb workflow) hinzu, um validation\_status zu aktualisieren.

  3. Fügen Sie ein Vektor-Suchwerkszeug für Regulation RAG hinzu (GAMP 5 (2. Auflage) als Embeddings).

  4. Fügen Sie einen Agenten für periodische Reviews hinzu, der find_periodic_review_overdue nach Zeitplan aufruft.

Sie besitzen nun die Ebene, die jeder CSV-Agent abfragen muss.

Fehlerbehebung

  • No module named mcp: pip install mcp

  • Claude sieht die Tools nicht: Prüfen Sie den absoluten Pfad in der Konfiguration, starten Sie Claude Desktop neu und checken Sie die Logs ~/Library/Logs/Claude/mcp*.log

  • Neo4j-Verbindung schlägt in Err: Fällt automatisch in den Mock-Modus zurück – prüfen Sie NEO4J_URI

Viel Erfolg bei der Markteroberung.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Transforms code repositories and development documentation into a queryable Neo4j knowledge graph, enabling AI assistants to perform intelligent code analysis, dependency mapping, impact assessment, and automated documentation generation across 15+ programming languages.
    7
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    AI-native code intelligence graph that builds a persistent knowledge graph of your codebase in Neo4j and exposes it to AI assistants via MCP, enabling contextual code analysis, impact analysis, and dependency tracking.
    23
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to query architecture context, data contracts, and blast radius to prevent cross-repo architectural breakage before merging.
    24
    Apache 2.0