GxP MDM MCP Server
GxP MDM MCP Server - Claude / ChatGPT / Cursor용 Cypher 도구
이 MCP 서버는 Cypher 쿼리를 통해 컴퓨터화 시스템 인벤토리를 지식 그래프(Knowledge Graph)로 노출합니다. 모든 Claude/ChatGPT 에이전트는 이제 할루시네이션 없이 GxP 마스터 데이터를 조회할 수 있습니다.
아키텍처
Claude / ChatGPT / Cursor
|
| MCP (stdio)
v
mcp_server.py (14 tools)
|
| Cypher queries
v
Neo4j (or MOCK mode: NetworkX + JSON) <- your MDM golden record왜 Cypher인가?
블래스트 반경(Blast radius) 은 그래프 탐색입니다:
MATCH (start)-[:SENDS_VIA*1..3]->(downstream)— SQL에서는 불가능ALCOA+ 조사를 위한 데이터 계열(Data lineage)
규제 근거(Ground truth) — 에이전트는 Cypher가 반환한 조항만 인용할 수 있어 허위 생성 방지
Related MCP server: Fianu Compliance Intelligence MCP Server
노출되는 14가지 도구
도구 | Cypher | 기능 |
| 사용자 지정 | 탐색용 안전한 읽기 전용 Cypher |
|
| 시스템 전체 인벤토리 - 감사자가 먼저 물어봄 |
| 전체 하위 그래프 | 시스템 + 기능 + 전자 기록 + 공급업체 + 인터페이스 |
|
| 핵심 기능: 변경에 영향받는 다운스트림 GxP 시스템은 무엇인가? |
| 역방향 탐색 | 데이터가 어디서 오는가? |
|
| 허위도 방지: 판정된 조항만 인용 가능 |
|
| GxP 파일로 API/파일/수동 인터페이스 |
|
| 검증되지 않은 GxP Direct 시스템 |
|
| 기한이 지난 정기 검토 |
|
| 전자서명, 배치 방출, 효능 등 |
|
| 공급업체 감사 상태, SOC2 |
|
| 특정 기록 유형의 계열 |
|
| GxP Direct 인벤토리 |
| 복합 연산 | 3개의 Cypher 쿼리를 오케스트레이션 + GAMP 5 / CSA 기반 영향평가 생성 |
빠른 시작 (Neo4j 불필요 - Mock 모드)
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 모드는 POC 및 Claude Desktop 테스트에 적합합니다.
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 설정
Claude 설정 파일을 찾습니다:
~/Library/Application Support/Claude/claude_desktop_config.json(Mac) 또는%APPDATA%/Claude/claude_desktop_config.json(Win)추가합니다 (절대 경로 사용):
{
"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"
}
}
}
}Mock 모드에서는 NEO4J_URI를 비워 둡니다. Neo4j 사용 시 bolt://localhost:7687로 설정합니다.
Claude Desktop을 다시 시작합니다. 🔌 아래에서 14가지 도구가 표시되어야 합니다.
다음 프롬프트를 시도합니다:
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/cursor_config.json.example를 참조해서 .cursor/mcp.json에 추가합니다.
ChatGPT (MCP 지원)
MCP를 지원하는 ChatGPT 사용자 지정 GPT를 사용하는 경우 config/chatgpt_mcp_config.json을 참조용으로 사용합니다. ChatGPT는 stdio를 통해 도구를 호출합니다.
Cypher 쿼리 - 실제 근거
모든 쿼리는 src/cypher_tools.py에 있습니다. 주요 쿼리:
블래스트 반경 (핵심 방어선):
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규정 허위방지 방지:
MATCH (s:ComputerizedSystem {system_id: $system_id})
OPTIONAL MATCH (s)-[:HAS_FUNCTION]->(f)-[:REGULATED_BY]->(reg)
RETURN collect(DISTINCT reg) as regulations에이전트는 여기서 반환된 clause\_ids만 인용해야 합니다.
'POC' to 실생산 전환
data/*.json을 실제 Veeva Vault API + ServiceNow CMDB + Okta로 대체validation_status를 최신화하기 위한 쓰기 도구 (승인 워크플로우 포함) 추가규제 RAG를 위한 벡터 검색 도구 추가 (GAMP 5 2판 임고)
주기적으로
find_periodic_review_overdue를 호출하는 정기 검토 에이전트 추가
이제 모든 CSV 에이전트가 쿼리해야 하는 레이어를 확보하게 됩니다.
문제 해결
No module named mcp:pip install mcp실행Claude에서 도구가 보이지 않음: config의 절대 경로 확인, Claude 재시작, 현재 로그 확인
~/Library/Logs/Claude/mcp*.logNeo4j 연결 실패: 자동으로 Mock 모드로 전환되며
NEO4J_URI확인
시장을 장악에 성공을 기원합니다.
NEW: 승인 워크플로우가 있는 쓰기 도구 (GxP 컴플라이언스)
왜 승인 워크플로우인가?
21 CFR Part 11.50 및 Annex 11 요구사항:
2인 원칙 (요청자 != 승인자)
변경 사유 (ALCOA+ Complete)
전자 서명 표시 (누가, 언제, 의미)
변조 불가 감사 추적 (누가, 언제, 이전/변경, 사유)
모든 쓰기 도구가 이를 강제합니다.
추가된 쓰기 도구
도구 | 기능 | GxP 통제 |
| 대기 중인 변경 요청 생성 | REQUEST 감사로그 기록, 사유 최소 10자 이상 |
| 승인 + 변경 적용 | 요청자/승인자 불일치 강제, 전자서명 기록, 시스템 + 다음 검토 시기 갱신 |
| 사유와 함께 거부 | REJECT 감사 로그 기록 |
| 대기 중인 QA 승인 목록 | |
| 전자서명 포함 전체 감사 기록 | 21CFR11.10(e), Annex 11 |
Claude를 통한 예제 워크플로우
You: Change Veeva QMS status to Validated - Change Implemented, reason: IQ/OQ passed for 24R2 upgrade, requested by qa.john
Claude calls:
request_validation_status_change_tool(system_id="SYS-VEEVA-QMS-001", new_status="Validated - Change Implemented", reason="IQ/OQ passed for 24R2 upgrade, evidence in Veeva Vault VP-2024-089", requested_by="qa.john@company.com")
-> Returns request_id CHG-VAL-A1B2C3, status Pending Approval
You: Approve CHG-VAL-A1B2C3 by qa.sarah, comment: Reviewed IQ/OQ, approved
Claude calls:
approve_validation_status_change_tool(request_id="CHG-VAL-A1B2C3", approver="qa.sarah@company.com", approval_comment="Reviewed IQ/OQ")
-> Applies change, updates sample_systems.json, creates audit trail with e-signature
You: Show audit trail for Veeva QMS
Claude calls:
get_audit_trail_tool(system_id="SYS-VEEVA-QMS-001")
-> Returns who, when, old/new, reason, electronic signature manifestationAPI로 직접 실행:
curl -X POST http://localhost:8000/request-status-change -H "Content-Type: application/json" -d '{"system_id":"SYS-VEEVA-QMS-001","new_status":"Validated - Change Implemented","reason":"IQ/OQ passed for 24R2 upgrade","requested_by":"qa.john@company.com"}'
curl -X POST http://localhost:8000/approve-status-change -d '{"request_id":"CHG-VAL-A1B2C3","approver":"qa.sarah@company.com","approval_comment":"Reviewed"}'
curl http://localhost:8000/audit-trail?system_id=SYS-VEEVA-QMS-001NEW: 정기 주기 검토 에이전트
기능
자동으로:
매일 오전 8시에
find_periodic_review_overdueCypher를 호출 (APScheduler 사용)기한이 지난 각 GxP Direct 시스템에 대해 GAMP 5 / 6.5 및 Annex 11.11에 따라 초안 주기 검토 보고서를 생성
초안 JSON 저장 +
CREATE\_DRAFT감사 로그 기록
각 초안에는 감사자가 기대하는 다음 10개 항목을 포함합니다:
시스템 설명 (MDM 기준)
마지막 검토 이후 변경 사항 (Mock Jira 기준)
편차/사고
감사 추적 검토 (표본, 불변성 확인)
사용자 액세스 검토 (휴면 계정)
백업/복원 테스트
공급업체 검토 (SOC2)
ALCOA+ 데이터 무결성
인터페이스 - MDM 그래프 기반 블래스트 범위
결론 및 조치 사항
도구
도구 | 목적 |
| 지연된 항목 검색 (Cypher) |
| 스캔 후 모든 지연 항목의 초안 생성 |
| 단일 시스템에 대한 초안 생성 |
| 초안 목록 조회 |
주기 실행기
# Run once manually
python -c "from src.periodic_review_agent.agent import agent; print(agent.scan_overdue())"
# Generate drafts
python -c "from src.periodic_review_agent.agent import agent; print(agent.generate_drafts_for_overdue())"
# Run as daemon (daily 8am + every 6h demo)
python src/periodic_review_agent/scheduler.py운영 환경에서는 APScheduler를 Airflow DAG 또는 Temporal 워크플로우로 교체하여 MCP 도구 run_periodic_review_scan을 호출하세요.
Claude을 통한 사용
You: Run periodic review scan
Claude calls run_periodic_review_scan() -> finds 2 overdue systems
You: Generate drafts for overdue
Claude calls generate_periodic_review_drafts() -> creates PR-SYS-VEEVA-QMS-001-2025-XXXX reports
You: Show me draft for Veeva QMS
> Returns full 10-section report초안은 data/periodic_reviews/PR-*.json에 저장됩니다 - Veeva Vault에 ValidationArtifact로 업로드할 준비가 완료됩니다.
이 v2를 통해 감사 준비가 완료되납니다. 쓰기는 제어되고, 감사 추적은 ALCOA+를 준수하며, 정기 검토는 자동화됩니다 — QA 디렉터들이 컨설턴트에게 시간당 $200을 지불하게 만드는 그 핵심 가치입니다.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables creating, managing, analyzing, and visualizing knowledge graphs with support for multiple graph types (topology, timelines, changelogs, requirements, knowledge bases, ontologies) including node/edge management and resource association.15191MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to query software supply chain compliance data, including asset status, security vulnerabilities, and evidence lineage. It allows for natural language analysis of compliance posture, policy violations, and deployment blockers across an organization.
- AlicenseAqualityDmaintenanceConnects AI assistants to ServiceNow CMDB via natural language, enabling querying, dependency analysis, health auditing, CI lifecycle management, and configurable inspection.40MIT
- AlicenseAqualityDmaintenanceEnables AI to analyze, query, and manage a graph-based representation of software architecture for impact analysis, dependency tracking, and design.20121AGPL 3.0
Related MCP Connectors
AI knowledge graph for architecture, portfolio, and digital strategy management.
Shared, permission-aware company context for AI agents, with provenance, approvals and audit.
Runtime AI governance: decision gates, human approval, hash-chained audit, compliance mapping.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/saram-io/gxp_mdm_mcp_server_v2'
If you have feedback or need assistance with the MCP directory API, please join our Discord server