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

MCP Ninsaude

MCP Server

NINSAÚDE MCP Server是一款综合性的医疗管理协议服务器,提供超过45种工具,用于患者记录、预约、医疗记录、账单、报告和患者调查等医疗管理功能。

工具数

35

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude云端部署Claude DesktopClaude

安装说明

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

作者 / 组织

Sudo-psc

提供方

Sudo-psc

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

NINSAÚDE MCP 服务器

一个全面的MCP(模型上下文协议)服务器,用于与NINSAÚDE诊所API集成,提供45+项医疗管理工具,包括患者记录、预约、病历、账单、报告和患者调查。

特点/功能

  • 安全认证采用最高安全性的刷新令牌优先的OAuth2认证

- 一次性凭证使用用于获取刷新令牌的凭据仅使用一次 - 持久存储刷新令牌安全地存储在 ~/.ninsaude/tokens.json 中(权限为 0o600) - 不存储凭证初始化后,凭证从未被存储或传输 - 自动续订所有认证仅使用刷新令牌 - 内存缓存访问令牌临时缓存(有效期15分钟,预留1分钟安全缓冲)

  • 速率限制可配置最小间隔的自动请求限流(默认请求间隔为60秒)
  • 患者管理完成患者记录的增删改查(CRUD)操作
  • 预约系统安排、重新安排和管理预约
  • 病历记录创建和管理电子健康记录
  • 财务管理跟踪收入、支出和付款状态
  • 报告生成各种关于预约、财务和患者的报告
  • 专业与服务管理管理医疗服务提供者和服务
  • 保险整合处理保险公司和保险计划
  • 警报系统创建患者提醒和拦截规则
  • 调查系统创建并发送患者调查问卷,收集回复,分析结果

安装

Claude桌面版的快速安装

macOS/Linux

# Clone the repository
git clone 
cd MCP-NIN

# Run the installation script
./install-claude-desktop.sh

Windows

# Clone the repository
git clone 
cd MCP-NIN

# Run the installation script
powershell -ExecutionPolicy Bypass -File install-claude-desktop.ps1

手动安装

# Clone the repository
git clone 
cd MCP-NIN

# Install dependencies
npm install

# Build the TypeScript code
npm run build

配置

1. 环境设置

创建一个 .env 请使用您的NINSAÚDE API凭据的文件:

cp .env.example .env

编辑 .env 使用您的凭据:

NINSAUDE_API_URL=https://api.ninsaude.com/v1
NINSAUDE_ACCOUNT=your_account_here
NINSAUDE_USERNAME=your_username_here
NINSAUDE_PASSWORD=your_password_here
NINSAUDE_ACCOUNT_UNIT=your_unit_id_here

# Optional: Configure rate limiting (default is 60 seconds)
NINSAUDE_RATE_LIMIT_SECONDS=60

重要凭证仅在初始化过程中使用一次。之后,它们将不再被使用或存储。

2. 认证初始化

初始化身份验证以生成并存储刷新令牌:

npm run token:init

这个命令将:

  • ✓ 使用您的凭据进行身份验证(仅一次)
  • ✓ 安全获取并存储刷新令牌(refresh_token)于 ~/.ninsaude/tokens.json
  • ✓ 将文件权限设置为0o600(仅所有者可读/写)
  • ✓ 获取令牌后,从内存中清除凭据

安全提示初始化后,您的凭据将不再被使用或传输。所有未来的身份验证仅使用刷新令牌。

3. 令牌管理命令

# Check authentication status
npm run token:status

# Revoke token and clear storage (logout)
npm run token:revoke

# Get help
npm run token:help

速率限制配置

MCP服务器内置了速率限制功能,以防止对NINSAÚDE API造成过大压力:

  • 默认间隔请求之间间隔60秒
  • 可配置的设定 NINSAUDE_RATE_LIMIT_SECONDS 在里面 .env
  • 自动的所有API请求都会自动遵守配置的间隔时间
  • 透明的请求会被排队,并根据需要进行延迟处理
  • 监测检查速率限制器的统计数据以进行调试

速率限制器确保符合API使用策略,并防止因请求过多而导致的服务中断。

Claude桌面集成

安装脚本会自动配置Claude Desktop。如果您需要手动配置:

  1. 找到Claude桌面配置文件:

- macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json - Linux~/.config/Claude/claude_desktop_config.json - Windows%APPDATA%\Claude\claude_desktop_config.json

  1. 添加NINSAÚDE MCP服务器配置:
{
  "mcpServers": {
    "ninsaude-mcp-server": {
      "command": "node",
      "args": ["/path/to/MCP-NIN/dist/index.js"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}
  1. 重启 Claude 桌面以加载新服务器

使用

启动服务器

# Production mode
npm start

# Development mode
npm run dev

可用工具

认证工具

  • ninsaude_get_token - 获取OAuth2访问令牌
  • ninsaude_revoke_token - 撤销当前的刷新令牌

单元管理

  • ninsaude_list_units - 列出医疗保健机构
  • ninsaude_get_unit - 获取特定单元的详细信息

患者管理

  • ninsaude_list_patients - 列出并过滤患者
  • ninsaude_get_patient - 通过ID获取患者信息
  • ninsaude_create_patient - 创建新患者
  • ninsaude_update_patient - 更新患者信息
  • ninsaude_delete_patient - 删除患者记录

预约管理

  • ninsaude_list_appointments - 列出带过滤器的预约
  • ninsaude_get_appointment - 获取预约详情
  • ninsaude_create_appointment - 创建新预约
  • ninsaude_update_appointment_status - 更新预约状态
  • ninsaude_reschedule_appointment - 重新安排预约
  • ninsaude_list_available_slots - 检查可用时间段

专业与服务管理

  • ninsaude_list_professionals - 列出医疗保健专业人员
  • ninsaude_get_professional - 获取专业详情
  • ninsaude_list_services - 列出可用服务
  • ninsaude_get_service - 获取服务详情

病历

  • ninsaude_list_medical_records - 列出病历
  • ninsaude_get_medical_record - 获取特定的医疗记录
  • ninsaude_create_medical_record - 创建新的医疗记录
  • ninsaude_list_prescriptions - 列出处方

财务管理

  • ninsaude_list_financial_records - 列出财务记录
  • ninsaude_get_financial_record - 获取财务记录详情
  • ninsaude_create_financial_record - 创建财务条目
  • ninsaude_update_financial_status - 更新付款状态

保险管理

  • ninsaude_list_insurances - 列出保险公司
  • ninsaude_get_insurance - 获取保险详情

报告工具

  • ninsaude_appointment_report - 生成预约报告
  • ninsaude_financial_report - 生成财务报告
  • ninsaude_patient_report - 生成患者报告

附加工具

  • ninsaude_list_documents - 列出文档模板
  • ninsaude_list_patient_alerts - 列出患者警报
  • ninsaude_create_patient_alert - 创建患者警报

示例

创建一个患者(记录/档案)

{
  "tool": "ninsaude_create_patient",
  "arguments": {
    "nome": "João Silva",
    "cpf": "12345678901",
    "dataNascimento": "1990-05-15",
    "sexo": "M",
    "email": "joao.silva@email.com",
    "celular": "11999999999",
    "endereco": {
      "cep": "01310-100",
      "logradouro": "Av. Paulista",
      "numero": "1000",
      "bairro": "Bela Vista",
      "cidade": "São Paulo",
      "estado": "SP"
    }
  }
}

预约时间

{
  "tool": "ninsaude_create_appointment",
  "arguments": {
    "pacienteId": 123,
    "profissionalId": 45,
    "unidadeId": 1,
    "servicoId": 10,
    "dataHora": "2024-01-20 14:00:00",
    "duracao": 30,
    "observacoes": "First consultation"
  }
}

列出并应用筛选条件的预约

{
  "tool": "ninsaude_list_appointments",
  "arguments": {
    "filter": {
      "dataInicio": "2024-01-01",
      "dataFim": "2024-01-31",
      "status": "AGENDADO",
      "profissionalId": 45
    },
    "limit": 20,
    "order": "-dataHora"
  }
}

创建医疗记录

{
  "tool": "ninsaude_create_medical_record",
  "arguments": {
    "pacienteId": 123,
    "profissionalId": 45,
    "agendamentoId": 789,
    "anamnese": "Patient reports headaches for the past week",
    "exameFisico": "Blood pressure: 120/80, Temperature: 36.5°C",
    "hipoteseDiagnostica": "Tension headache",
    "conduta": "Rest and hydration recommended",
    "prescricao": [
      {
        "medicamento": "Paracetamol 500mg",
        "dosagem": "1 tablet",
        "frequencia": "Every 8 hours",
        "duracao": "3 days",
        "observacoes": "Take with food"
      }
    ]
  }
}

发展

运行测试

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Generate coverage report
npm test -- --coverage

代码检查与格式化

# Run ESLint
npm run lint

# Format code with Prettier
npm run format

API速率限制与最佳实践

  • 自动速率限制服务器强制要求请求之间保持最小间隔(默认60秒)。如有需要,所有请求将自动延迟
  • 配置调整 NINSAUDE_RATE_LIMIT_SECONDS.env 更改最小间隔(不建议设置低于30秒)
  • 监测速率限制的信息会被记录到标准错误输出(stderr),以便进行调试和监控
  • 分页使用分页参数(limitoffset) 适用于大型数据集
  • 缓存尽可能缓存频繁访问的数据以减少API调用
  • 错误处理优雅地处理错误并检查错误响应
  • 代币生命周期:

- 刷新令牌持久存储(除非被撤销,否则不会过期) - 访问令牌在内存中缓存15分钟 - 仅使用refresh_token自动续订 - 初始设置后无需输入凭据

错误处理

所有工具返回的错误格式都是一致的:

{
  "error": "Error message description"
}

对于API错误,格式中包含HTTP状态码:

{
  "error": "404: Record not found"
}

做出贡献

  1. 为仓库创建分支(或“克隆仓库”)
  2. 创建你的特性分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature'
  4. 推送至分支(git push origin feature/amazing-feature)
  5. 提交一个拉取请求

许可证

MIT 许可证 - 详情请参见 LICENSE 文件

支持

对于问题和疑问:

  • 请查阅NINSAÚDE API文档
  • 查看特定错误代码的错误消息
  • 在仓库中打开一个问题(或“提交一个问题”)

目录标签

目录标签

TypeScriptClaude云端部署医疗管理本地部署患者记录预约系统电子健康记录财务报告

支持客户端

Claude DesktopClaude

接入字段

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

未说明

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

token

工具数量(toolCount,工具数)

35

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明token部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP