PRISM

PRISM

An MCP server that provides clinical decision support for polysubstance risk and drug–substance interactions, grounding LLM responses in a 7-level evidence cascade with population priors and validated screening triggers.

Category
访问服务器

README

PRISM — Polysubstance Risk & Interaction Surveillance for Mental-health prescribing

Phase 3 of the PRISM platform.

Clinical decision support checks drug–drug interactions. It largely ignores drug–substance and substance–substance risk — which is where overdose mortality actually comes from (opioid + benzodiazepine, opioid + alcohol).

PRISM is a reasoning layer that closes that gap and grounds an LLM in retrieved evidence rather than recall. It ships as an MCP server with 47 tools and a web platform, both driven by the same validated cascade.

Not a medical device. PRISM surfaces evidence with its provenance. It does not give clinical advice, and the validation harness asserts that it never crosses that line.


The 7-level evidence cascade

Level Source Offline?
1 Curated interaction knowledge base yes
2 OpenFDA drug labeling live
3 CYP450 / transporter kinetics yes
4 Pharmacodynamic stacking (e.g. CNS depression) yes
5 Drug-class combinations yes
6 FAERS disproportionality signals (Phase 2) yes
7 External interaction sources live

Severity is the maximum across levels; confidence scales with the number of independent levels that fire (1 → low, 4+ → very_high). The model cannot invent an interaction — it can only report what a level returned, tagged with that level's source.

On top of the per-pair checks sits compound-risk synthesis: triple CNS-depressant stacks, naloxone candidacy, cocaethylene formation, Beers criteria, teratogenicity — plus automatic screening triggers (AUDIT, DAST-10, CUDIT-R, GAD-7, PHQ-9).

Proxy matching means street terms resolve to pharmacology: heroin → opioid class, street benzos → benzodiazepine class.

Population prior

Phase 1's NSDUH model is imported as a national baseline, so the system can answer "how risky is this patient's profile relative to the population?" rather than only "do these two drugs interact?" — 1,188 risk profiles, 60 annual trend rows, and the logistic coefficients for real-time scoring.

Validation

14 clinical scenarios run end-to-end through the live server and PostgreSQL:

  • 2 cases flagged life_threatening; 0 instances of overstepping into advice
  • Case 14 regression (benzodiazepine + opioid) returns life_threatening across levels 1, 4, 5, 6, 7 with fda_black_box=True — it returned nothing before the cascade was built, and it is the reason the cascade exists
  • Audit rows persist to cascade_results, compound_risk_alerts, and screening_queue

The public repo ships a synthetic 14-case set that reproduces identical severities for all 14 cases. See scenarios/README.md.

Layout

src/
  server.py         FastMCP server, 47 registered tools
  cascade.py        the 7-level engine (DB-optional, unit-testable)
  cascade_tools.py  DB-backed cascade tools
  extra_tools.py    remaining registry tools
  live_apis.py      OpenFDA (L2) + RxNorm (L1) hooks
  api/app.py        FastAPI bridge for the web UI
  db/
    schema.sql              24 base tables
    migrations_path3.sql    +5 cascade tables (29 total)
    seed.py                 curated KB (+ private case loader)
    load_scenarios.py       scenario loader (synthetic or private)
    import_path3_data.py    imports Phase 1 + Phase 2 exports
web/                Next.js 14 app (8 pages, Tailwind, Recharts)
scenarios/          synthetic validation cases
validate_scenarios.py

Setup

python -m venv venv && ./venv/bin/pip install -r requirements.txt
createdb prism_db
psql prism_db -f src/db/schema.sql
psql prism_db -f src/db/migrations_path3.sql

python -m src.db.seed --reference-only      # curated KB, no patient data
python -m src.db.load_scenarios --replace   # 14 synthetic cases
python src/db/import_path3_data.py          # Phase 1 + Phase 2 exports
python validate_scenarios.py

import_path3_data.py reads the sibling NSDUH/ and FAERS/ checkouts by default; override with NSDUH_RESULTS and FAERS_RESULTS environment variables.

Running the server

python -m src.server           # stdio  (Claude Desktop, Claude Code)
python -m src.server --http    # HTTP   on :8000

Register with an MCP host:

{ "mcpServers": {
    "prism": {
      "command": "/path/PRISM/venv/bin/python",
      "args": ["-m", "src.server"],
      "cwd": "/path/PRISM",
      "env": { "DATABASE_URL": "postgresql://localhost/prism_db" }
}}}

License

MIT (code). Clinical scenario source material is not distributed. Not a medical device; not reviewed by any regulatory authority; must not be used to direct patient care.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选