GxP MDM MCP Server
Allows querying a Computerized System Inventory stored as a knowledge graph in Neo4j using Cypher, with tools for system inventory, system details, downstream blast radius, upstream lineage, regulations, interfaces, validation gaps, periodic reviews, high-risk functions, supplier risk, data lineage, and change impact assessment.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GxP MDM MCP ServerAssess the change impact of enabling audit trail purge for Veeva QMS"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GxP MDM MCP Server - Cypher Tools for Claude / ChatGPT / Cursor
This MCP server exposes your Computerized System Inventory as a Knowledge Graph via Cypher queries. Any Claude/ChatGPT agent can now query GxP master data without hallucinating.
Architecture
Claude / ChatGPT / Cursor
|
| MCP (stdio)
v
mcp_server.py (14 tools)
|
| Cypher queries
v
Neo4j (or MOCK mode: NetworkX + JSON) <- your MDM golden recordWhy Cypher?
Blast radius is a graph traversal:
MATCH (start)-[:SENDS_VIA*1..3]->(downstream)— impossible in SQLData lineage for ALCOA+ investigations
Regulation ground truth — agent can only cite clauses returned by Cypher, prevents hallucination
Related MCP server: NOMIK
14 Tools Exposed
Tool | Cypher | What it does |
| Custom | Safe read-only Cypher for exploration |
|
| Full inventory - auditors ask this first |
| Full subgraph | System + functions + e-records + supplier + interfaces |
|
| Killer app: What downstream GxP systems are impacted by change? |
| Reverse traversal | Where does data come from? |
|
| Anti-hallucination: only these clauses can be cited |
|
| API/file/manual interfaces with GxP flag |
|
| Non-validated GxP Direct systems |
|
| Overdue periodic reviews |
|
| E-sig, batch release, potency |
|
| Supplier audit status, SOC2 |
|
| Lineage for a record type |
|
| GxP Direct inventory |
| Composite | Orchestrates 3 Cypher queries + generates impact assessment per GAMP 5 / CSA |
Quick Start (No Neo4j needed - Mock Mode)
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 upgradeMock mode is perfect for POC and Claude Desktop testing.
Prod Mode with 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-001Claude Desktop Config
Find your Claude config:
~/Library/Application Support/Claude/claude_desktop_config.json(Mac) or%APPDATA%/Claude/claude_desktop_config.json(Win)Add (use absolute path):
{
"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"
}
}
}
}For mock mode, leave NEO4J_URI empty. For Neo4j, set to bolt://localhost:7687.
Restart Claude Desktop. You should see 14 tools under 🔌.
Try prompts:
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 riskCursor Config
See config/cursor_config.json.example - add to .cursor/mcp.json
ChatGPT (with MCP support)
If using ChatGPT custom GPT with MCP, use config/chatgpt_mcp_config.json as reference. ChatGPT will call tools via stdio.
Cypher Queries - Ground Truth
All queries in src/cypher_tools.py. Key ones:
Blast radius (the moat):
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 distanceRegulation anti-hallucination:
MATCH (s:ComputerizedSystem {system_id: $system_id})
OPTIONAL MATCH (s)-[:HAS_FUNCTION]->(f)-[:REGULATED_BY]->(reg)
RETURN collect(DISTINCT reg) as regulationsAgent must ONLY cite clause_ids returned here.
From POC to Production
Replace
data/*.jsonwith real Veeva Vault API + ServiceNow CMDB + OktaAdd write tools (with approval workflow) for updating validation_status
Add vector search tool for regulation RAG (embed GAMP 5 2nd Ed)
Add periodic review agent that calls
find_periodic_review_overdueon schedule
You now own the layer every CSV agent must query.
Troubleshooting
No module named mcp:pip install mcpClaude doesn't see tools: Check absolute path in config, restart Claude, check logs
~/Library/Logs/Claude/mcp*.logNeo4j connection fails: Falls back to mock mode automatically - check
NEO4J_URI
Good luck cornering the market.
This server cannot be deployed
Maintenance
Related MCP Connectors
Governance layer for AI coding agents: knowledge-graph grounding, session audit, policy controls.
Deterministic IT asset registry operated by AI agents over MCP. Agents propose, humans approve.
1Register every AI agent, log every action, prove it. EU AI Act compliance built in.
Data-ontology maps of your business systems, served to AI agents over MCP.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceTransforms 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-
- FlicenseNot gradedqualityDmaintenanceAI-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-

coderadiusofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents to query architecture context, data contracts, and blast radius to prevent cross-repo architectural breakage before merging.24Apache 2.0- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query organizational architecture and governance constraints, returning evidence-grounded answers from documented structures.MIT