Token导航 LogoToken导航TokenDH.com
Peer Recovery logo
运维云端stdio官方级别未说明来源级核验

Peer Recovery

MCP Server

一个符合HIPAA和42 CFR Part 2标准的生产级AI辅助康复病例管理系统,提供病例管理、危机评估、临床文档生成和资源匹配等功能。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
Python云端部署Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

coolDad7777

提供方

coolDad7777

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run alembic upgrade head

详细介绍

对等恢复MCP服务器

作为MCP(模型上下文协议)服务器交付的符合HIPAA标准(42 CFR第2部分)的生产级AI辅助对等恢复案例管理系统。

主要特点

  • 42 CFR第2部分合规性:具有不可变审计日志的同意门控客户端数据访问
  • 现场级AES-256加密:带零停机按键旋转的套圈
  • 危机分类和升级:风险评分1-10,并通知主管
  • SOAP注释生成:来自会话记录的人工智能临床文档
  • 计费代码建议:按会话类型和持续时间匹配H码
  • 资源匹配:识别障碍,将需求与可用服务相匹配
  • 同伴角色扮演培训:基于场景的实践,有质量反馈
  • 双重认证:基于TOTP的2FA,具有基于角色的访问控制

堆栈

  • 框架:具有异步支持的FastMCP(mcp\[cli\]v1.26+)
  • 数据库:PostgreSQL 16+SQLAlchemy 2.0异步+Alembic迁移
  • 缓存:Redis 7用于JWT块列表、速率限制、会话管理
  • 加密:密码学(Fernet AES-256-CBC)+python jose(JWT)
  • 调度:pg_cron用于自动保留策略
  • 语言:Python 3.11+
  • 包管理器:紫外线

快速开始

先决条件

  • Docker&Docker编写
  • 或者:PostgreSQL 16、Redis 7、Python 3.11+

Docker(推荐)

# Set up environment
cp .env.example .env
# Edit .env with your JWT_SECRET_KEY and ENCRYPTION_KEY

# Start services
docker-compose up -d

# Apply migrations and start server
docker-compose logs app  # Verify all healthy

本地开发

# Install dependencies
uv sync

# Set up environment
cp .env.example .env
export $(grep -v '^#' .env | xargs)

# Start PostgreSQL + Redis (or use Docker)
# docker-compose up postgres redis

# Apply migrations
uv run alembic upgrade head

# Run server
uv run python -m peer_recovery.server

项目结构

peer-recovery/
├── pyproject.toml           # Dependencies, build config
├── .env.example             # Environment variables
├── docker-compose.yml       # Dev services
├── Dockerfile               # App container
├── alembic/                 # Database migrations
│   ├── env.py
│   ├── alembic.ini
│   └── versions/
│       ├── 001_initial_schema.py
│       ├── 002_audit_immutability.py
│       └── 003_pg_cron_retention.py
└── src/peer_recovery/
    ├── server.py            # FastMCP entry point, lifespan, tool registration
    ├── config.py            # Pydantic Settings
    ├── auth/
    │   ├── tokens.py        # JWT encode/decode
    │   ├── totp.py          # TOTP 2FA
    │   ├── rbac.py          # Role-based access control
    │   ├── middleware.py    # ASGI JWT + rate limiting
    │   └── dependencies.py  # require_auth(), require_role()
    ├── db/
    │   ├── engine.py        # create_async_engine, session factory
    │   ├── models/          # ORM models
    │   └── repositories/    # Async CRUD repositories
    ├── encryption/
    │   ├── field_cipher.py  # Fernet AES-256
    │   ├── key_manager.py   # Key rotation
    │   └── encrypted_type.py # SQLAlchemy TypeDecorator
    ├── compliance/
    │   ├── audit_logger.py  # structlog + DB audit trail
    │   └── consent.py       # 42 CFR consent gates
    ├── ai/
    │   ├── interfaces.py    # Protocol ABCs + registry
    │   └── mock/            # Keyword/template-based mock AI
    ├── tools/               # MCP tool implementations
    └── services/            # Business logic (auth, clients, etc)

MCP工具

所有工具都需要JWT身份验证。有些需要特定的角色或同意。

voice_to_notes

将音频转换为SOAP注释+计费代码。

  • 需要:身份验证、客户端同意(访问)
  • 退货:SOAP注释、计费代码、风险评分

crisis_triage

评估危机风险,必要时升级。

  • 需要:身份验证
  • 风险评分:1-10,如果>=7,则升级
  • 退货:风险等级、行动、需要升级

client_monitor

跟踪客户进度并识别风险标志。

  • 需要:身份验证、客户端同意(访问)
  • 退货:趋势、风险标志、里程碑、恢复天数

resource_match

将客户需求与可用资源相匹配。

  • 需要:身份验证、客户端同意(访问)
  • 退货:匹配的资源、预测的障碍

ai_roleplay

使用AI反馈练习对等恢复场景。

  • 需要:身份验证
  • 退货:模拟响应、质量评分、反馈

export_notes

将会话笔记导出为PDF/DOCX/JSON。

  • 需要:主管角色,客户出口同意
  • 退货:文件数据,内容类型

身份验证流程

登录(初始)

POST /auth/login → {access_token, refresh_token, needs_2fa}

访问令牌有效期15分钟,刷新令牌有效期7天。如果用户启用了TOTP:

  • 访问令牌具有 2fa_verified: false
  • /auth/2fa/verify 可使用此令牌访问

2FA验证

POST /auth/2fa/verify {user_id, totp_code} → {access_token, refresh_token}

新代币有 2fa_verified: true.

令牌刷新

POST /auth/refresh {refresh_token} → {access_token}

退出登录

POST /auth/logout → {}

增加 jti 到Redis块列表,TTL=剩余令牌生命周期。

42 CFR第2部分合规性

同意要求

每个客户端数据访问都需要有效的 ConsentRecord:

  • consented_to =访问类型(访问、计费、研究、导出)
  • valid_from ≤现在≤ valid_until (或 valid_until 为空)
  • revoked_at 为NULL

如果同意书缺失/无效→ ConsentError 已引发,操作记录为失败。

审计跟踪

每个操作都记录为不可变 audit_logs 表:

  • 读取、创建、更新、删除、登录、导出、同意检查
  • 包括参与者ID、资源类型/ID、客户端ID、IP、结果、详细JSON
  • 数据库触发器阻止更新/删除

数据保留

pg_cron作业删除:

  • 恢复期>90天
  • 未升级的危机日志>90天
  • 培训进度>1年
  • 撤销同意书>2年

基于角色的访问控制

行动同行主管管理员
阅读自己的客户
阅读所有客户
导出记录
批准升级
管理用户
查看审核日志

配置

通过环境变量(.env)进行的所有设置:

# Database
DATABASE_URL=postgresql+asyncpg://user:pass@host/db
DATABASE_ECHO=false

# Redis
REDIS_URL=redis://host:6379/0

# JWT
JWT_SECRET_KEY=
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=15
JWT_REFRESH_TOKEN_EXPIRE_DAYS=7

# Encryption
ENCRYPTION_KEY=
ENCRYPTION_KEY_OLD=

# AI Backend
AI_BACKEND=mock  # mock, anthropic, huggingface
ANTHROPIC_API_KEY=
HUGGINGFACE_API_KEY=

# Server
MCP_SERVER_PORT=8000
DEBUG=false
LOG_LEVEL=info

# Feature Flags
ENABLE_2FA=true
ENABLE_AUDIT_LOGGING=true
ENABLE_FIELD_ENCRYPTION=true

测试

# Run all tests
uv run pytest tests/ -v

# Coverage
uv run pytest tests/ --cov=src/peer_recovery --cov-report=html

# Integration tests (requires services running)
uv run pytest tests/integration/ -v

迁移

# Apply all migrations
uv run alembic upgrade head

# Create new migration
uv run alembic revision --autogenerate -m "description"

# Rollback one revision
uv run alembic downgrade -1

发展

生成加密密钥

from cryptography.fernet import Fernet
key = Fernet.generate_key()
print(key.decode())  # Set as ENCRYPTION_KEY in .env

创建测试用户

uv run python -c "
from peer_recovery.services.auth_service import AuthService
from peer_recovery.config import get_settings

settings = get_settings()
# Use AuthService.register_user()
"

安全说明

  • 永远不要提交.env 用真钥匙
  • JWT_SECRET_KEY 必须≥32个字符
  • 加密密钥 必须是有效的base64 Fernet密钥
  • 2FA 默认情况下为敏感操作启用
  • 速率限制 每个用户或IP每分钟60个请求
  • 审计日志 不可变;无法修改或删除
  • PII加密 ORM层透明(加密文本)

合规

  • ✓ HIPAA§164.312(a)(1)-访问控制(身份验证、2FA、RBAC)
  • ✓ HIPAA§164.312(a)(2)-审计控制(Audit_logs,不可变)
  • ✓ HIPAA§164.312(b)-审计日志记录(事件级日志记录)
  • ✓ HIPAA§164.312(c)(1)-加密(静态AES-256,传输中的TLS)
  • ✓ 42 CFR第2部分-同意要求(同意记录门)
  • ✓ 42 CFR第2部分-数据保留(pg_cron删除策略)

支持

有关问题或疑问,请打开GitHub问题或联系恢复团队。

许可证

麻省理工学院

目录标签

目录标签

Python云端部署Docker康复管理本地部署病例管理医疗合规AI辅助数据加密

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP