README
🚀 NPI注册MCP服务器 🏥
这是一个用于搜索美国国家提供者标识符(NPI)注册库的模型上下文协议(MCP)服务器。该服务器提供了搜索和检索美国医疗保健提供者及组织信息的工具。
🚀 快速开始
NPI是美国医疗保健提供者的唯一识别号码。此MCP服务器允许Claude和其他兼容MCP的客户端搜索由医疗保险和医疗补助服务中心(CMS)维护的官方NPI注册库,并将搜索结果集成到大型语言模型(LLM)的上下文中,以进行更深入的分析和洞察。
✨ 主要特性
- 按提供者姓名搜索:通过名、姓或两者结合查找个人医疗保健提供者。
- 按组织搜索:按名称查找医疗保健组织。
- 按NPI编号搜索:使用特定的10位NPI编号直接查找。
- 基于位置的搜索:按城市、州或邮政编码过滤搜索结果。
- 专业搜索:按专业或分类描述查找提供者。
- 全面的数据:返回详细信息,包括地址、执业地点、专业领域和其他标识符。
📦 安装指南
先决条件 📋
- Python 3.10 或更高版本
- uv 包管理器
开发环境设置 🛠️
- 克隆仓库:
git clone https://github.com/eliotk/npi-registry-mcp-server.git
cd npi-registry-mcp-server
- 安装uv(如果尚未安装):
curl -LsSf https://astral.sh/uv/install.sh | sh
- 创建虚拟环境并安装依赖项:
uv venv
source .venv/bin/activate # 在Windows上:.venv\Scripts\activate
uv pip install -e ".[dev]"
- 直接运行服务器(用于测试):
uv run python -m npi_registry_mcp.server
# 或者使用入口点:
uv run npi-registry-mcp-server
生产环境安装 🌟
从PyPI安装(发布后):
uv pip install npi-registry-mcp-server
或者从源代码安装:
uv pip install git+https://github.com/eliotk/npi-registry-mcp-server.git
💻 使用示例
可用工具 🛠️
search_npi_registry 🔎
使用各种条件搜索NPI注册库:
参数:
first_name(可选):提供者的名last_name(可选):提供者的姓organization_name(可选):组织名称npi(可选):特定的10位NPI编号city(可选):城市名称state(可选):州缩写(例如,'CA'、'NY')postal_code(可选):邮政编码(支持通配符)specialty(可选):提供者的专业或分类limit(可选):返回的最大结果数(1 - 200,默认值:10)
示例:
# 按姓名搜索特定提供者
search_npi_registry(first_name="John", last_name="Smith", state="CA")
# 查找特定的NPI
search_npi_registry(npi="1234567890")
# 查找特定城市的组织
search_npi_registry(organization_name="Hospital", city="Los Angeles", state="CA")
# 按专业搜索
search_npi_registry(specialty="cardiology", state="NY", limit=20)
# 查找特定邮政编码区域的提供者
search_npi_registry(postal_code="902*", state="CA")
响应格式 📄
搜索返回一个结构化响应,格式如下:
{
"success": true,
"count": 5,
"results": [
{
"npi": "1234567890",
"entity_type": "Individual",
"is_organization": false,
"status": "A",
"enumeration_date": "2010-05-05",
"last_updated": "2023-01-15",
"name": {
"first": "John",
"last": "Smith",
"credential": "MD"
},
"addresses": [...],
"practice_locations": [...],
"taxonomies": [...],
"identifiers": [...]
}
]
}
📚 详细文档
Claude桌面配置 🖥️
要在Claude桌面版中使用此MCP服务器,请将以下配置添加到Claude桌面版的配置文件中:
macOS 🍎
位置:~/Library/Application Support/Claude/claude_desktop_config.json
Windows 🪟
位置:%APPDATA%/Claude/claude_desktop_config.json
配置 📝
{
"mcpServers": {
"npi-registry": {
"command": "uv", # 可能需要可执行文件的完整路径
"args": [
"--directory",
"/path/to/npi-registry-mcp-server",
"run",
"npi-registry-mcp-server"
]
}
}
}
验证 ✅
- 保存配置文件。
- 完全重启Claude桌面版。
- 在Claude桌面版中查找 🔧 图标,以验证服务器是否已连接。
- 尝试向Claude提问:“搜索加利福尼亚州名为Smith的医生”。
开发 👨💻
项目结构 📁
npi-registry-mcp-server/
├── src/
│ └── npi_registry_mcp/
│ ├── __init__.py
│ └── server.py
├── tests/
├── pyproject.toml
├── README.md
└── .gitignore
运行测试 🧪
uv run pytest
代码格式化 🎨
# 格式化代码
uv run black src/ tests/
# 排序导入
uv run isort src/ tests/
# 代码检查
uv run ruff check src/ tests/
# 类型检查
uv run mypy src/
构建包 📦
uv build
🔧 技术细节
API参考 📖
此服务器使用CMS提供的官方NPI注册库API:
- 基础URL:https://npiregistry.cms.hhs.gov/api/
- 文档:https://npiregistry.cms.hhs.gov/registry/help-api
- 速率限制:API对正常使用有合理的速率限制。
数据源 🗃️
所有数据直接来自以下机构维护的官方NPI注册库:
- 医疗保险和医疗补助服务中心(CMS)
- 美国卫生与公众服务部
🤝 贡献指南
- 分叉仓库。
- 创建功能分支:
git checkout -b feature-name。 - 进行更改并添加测试。
- 运行测试套件:
uv run pytest。 - 格式化代码:
uv run black src/ tests/。 - 提交拉取请求。
📄 许可证
本项目采用MIT许可证,详情请参阅LICENSE文件。
🆘 支持
- 问题反馈:通过GitHub Issues报告错误和请求功能。
- 文档:
/docs目录中提供了额外的文档。 - API问题:请参考官方NPI注册库API文档。
📝 更新日志
v0.1.0 🎉
- 初始版本发布。
- 基本的NPI注册库搜索功能。
- 支持个人和组织搜索。
- 支持按位置和专业过滤。
- 全面的提供者数据检索。
有关模型上下文协议的更多信息,请访问:https://modelcontextprotocol.io/
Scan to join WeChat group