-
-
AgentSentinel-MCP — Autonomous Red-Teaming for Clinical AI Agents
-
The Gap: Manual Red-Teaming Can't Keep Pace With Agentic Clinical AI
-
MCP-Native Multi-Agent Orchestration
-
Five Specialist Adversarial Agents (P-PII, P-BIAS, P-HALL, P-INJ, P-EVID)
-
Live Disclosure Ledger — CVE-Style Safety Feed
-
EU AI Act Compliance Mapping (Article 9 / 12 / 15)
-
Interactive Demo: Run a Live Red-Team Scan
Inspiration
Clinical AI is shifting from single-model chatbots to multi-agent pipelines — a retrieval agent pulls patient context, a reasoning agent drafts a recommendation, a tool-calling agent writes to the EHR. Every handoff between those agents is a place safety can silently fail, yet the industry still tests these systems the way it tested single models: manually, inconsistently, and long before the EU AI Act's Article 9/12/15 obligations actually bite in production. Security matured by building CVE — a public, versioned, coordinated disclosure process. Clinical agent safety has nothing equivalent. We wanted to build that.
What it does
AgentSentinel-MCP is an autonomous swarm of adversarial agents that continuously red-teams any MCP-connected clinical AI system. Five specialist probes — prompt-injection, drug-interaction trap, PHI-leak, permission-escalation, and hallucination-bait — attack the target concurrently through the Model Context Protocol, and every finding is automatically severity-scored and mapped to the specific EU AI Act article it constitutes evidence for (Article 9 risk management, Article 12 record-keeping, Article 15 accuracy/robustness). The result streams into a public, CVE-style Disclosure Ledger, so compliance evidence is a byproduct of testing, not a PDF written after the fact.
How we built it
We designed the orchestrator around LangGraph, using a shared blackboard state so probe agents can coordinate findings rather than run in isolation. The MCP layer lets the orchestrator discover a target's exposed tools and resources dynamically instead of hardcoding integrations per system. Severity scoring is rules-based rather than purely LLM judgment, grounded via RAG over clinical harm taxonomies, so results stay reproducible run to run. On the frontend, we built a multi-page Next.js site with an interactive demo that actually runs a simulated scan end-to-end — agents dispatching live, findings streaming into the ledger, and a real downloadable JSON compliance report — so the product proves itself instead of just describing itself.
Challenges we ran into
Distinguishing a genuine safety failure from a target system correctly refusing an unsafe request required building a verification step that re-checks findings before they're logged, to keep false positives down. Keeping LLM-based severity judgments reproducible meant constraining every score with structured output schemas rather than trusting free-text reasoning. And making sure the orchestrator's MCP attack-surface discovery could never trigger a genuinely destructive tool call meant defaulting hard to sandboxed targets, with live-system testing as an explicit opt-in only.
Accomplishments that we're proud of
Getting the Disclosure Ledger to feel like a real, live compliance artifact rather than a marketing widget — severity, timestamp, and article mapping all flow from one consistent data model across the homepage, the full disclosures table, and the interactive demo. We're also proud of building a demo page that's genuinely functional: it runs a real simulated scan and generates a real downloadable report, not a static screenshot pretending to be a product.
What we learned
That multi-agent clinical AI failure modes are fundamentally different from single-model failure modes — the interesting bugs live at the handoffs between agents, not inside any one model's output. We also learned how much clearer a compliance story becomes when it's structural (every finding auto-mapped to an article) rather than narrative (a human writing a report explaining why the system is compliant).
What's next for AgentSentinel-MCP
Packaging it as a one-line GitHub Action so any team can drop continuous red-teaming into CI on every PR that touches an agent pipeline; adding a responsible-disclosure/embargo workflow before findings on real deployed systems go public, mirroring coordinated disclosure in security; and extending MCP compatibility shims to cover the growing set of clinical agent frameworks beyond the reference implementations we tested against.
Inspiration
Clinical AI is shifting from single-model chatbots to multi-agent pipelines — a retrieval agent pulls patient context, a reasoning agent drafts a recommendation, a tool-calling agent writes to the EHR. Every handoff between those agents is a place safety can silently fail, yet the industry still tests these systems the way it tested single models: manually, inconsistently, and long before the EU AI Act's Article 9/12/15 obligations actually bite in production. Security matured by building CVE — a public, versioned, coordinated disclosure process. Clinical agent safety has nothing equivalent. We wanted to build that.
What it does
AgentSentinel-MCP is an autonomous swarm of adversarial agents that continuously red-teams any MCP-connected clinical AI system. Five specialist probes — prompt-injection, drug-interaction trap, PHI-leak, permission-escalation, and hallucination-bait — attack the target concurrently through the Model Context Protocol, and every finding is automatically severity-scored and mapped to the specific EU AI Act article it constitutes evidence for (Article 9 risk management, Article 12 record-keeping, Article 15 accuracy/robustness). The result streams into a public, CVE-style Disclosure Ledger, so compliance evidence is a byproduct of testing, not a PDF written after the fact.
How we built it
We designed the orchestrator around LangGraph, using a shared blackboard state so probe agents can coordinate findings rather than run in isolation. The MCP layer lets the orchestrator discover a target's exposed tools and resources dynamically instead of hardcoding integrations per system. Severity scoring is rules-based rather than purely LLM judgment, grounded via RAG over clinical harm taxonomies, so results stay reproducible run to run. On the frontend, we built a multi-page Next.js site with an interactive demo that actually runs a simulated scan end-to-end — agents dispatching live, findings streaming into the ledger, and a real downloadable JSON compliance report — so the product proves itself instead of just describing itself.
Challenges we ran into
Distinguishing a genuine safety failure from a target system correctly refusing an unsafe request required building a verification step that re-checks findings before they're logged, to keep false positives down. Keeping LLM-based severity judgments reproducible meant constraining every score with structured output schemas rather than trusting free-text reasoning. And making sure the orchestrator's MCP attack-surface discovery could never trigger a genuinely destructive tool call meant defaulting hard to sandboxed targets, with live-system testing as an explicit opt-in only.
Accomplishments that we're proud of
Getting the Disclosure Ledger to feel like a real, live compliance artifact rather than a marketing widget — severity, timestamp, and article mapping all flow from one consistent data model across the homepage, the full disclosures table, and the interactive demo. We're also proud of building a demo page that's genuinely functional: it runs a real simulated scan and generates a real downloadable report, not a static screenshot pretending to be a product.
What we learned
That multi-agent clinical AI failure modes are fundamentally different from single-model failure modes — the interesting bugs live at the handoffs between agents, not inside any one model's output. We also learned how much clearer a compliance story becomes when it's structural (every finding auto-mapped to an article) rather than narrative (a human writing a report explaining why the system is compliant).
What's next for AgentSentinel-MCP
Packaging it as a one-line GitHub Action so any team can drop continuous red-teaming into CI on every PR that touches an agent pipeline; adding a responsible-disclosure/embargo workflow before findings on real deployed systems go public, mirroring coordinated disclosure in security; and extending MCP compatibility shims to cover the growing set of clinical agent frameworks beyond the reference implementations we tested against.
Built With
- docker
- fastapi
- fhir/hl7
- framer-motion
- github-actions
- hugging-face-transformers
- langgraph
- litellm
- model-context-protocol-(mcp)
- next.js
- opentelemetry
- postgresql
- pydantic
- python
- tailwind-css
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.