返回 MCP 目录
public公开dns本地运行

health-id-service

这是一个基于OpenAPI规范的MCP服务器项目,用于处理NDHM健康ID相关的API请求,支持多种传输模式和配置方式。

article

README

🚀 MCP Server

本项目是一个MCP(模型上下文协议)服务器,它针对给定的OpenAPI URL - https://api.apis.guru/v2/specs/ndhm.gov.in/ndhm-healthid/1.0/openapi.json,使用AG2的 MCP构建器 自动生成。

🚀 快速开始

🔍 前提条件

  • Python 3.9+
  • pip 和 uv

📦 安装指南

  1. 克隆仓库
    git clone <repository-url>
    cd mcp-server
    
  2. 安装依赖.devcontainer/setup.sh 脚本会使用 pip install -e ".[dev]" 来处理依赖安装。如果你不使用开发容器,可以手动运行此命令。
    pip install -e ".[dev]"
    
    或者,你也可以使用 uv
    uv pip install --editable ".[dev]"
    

💻 使用示例

基础用法

开发相关操作
  • 代码检查与格式化
    • 检查代码风格问题
      ruff check
      
    • 格式化代码
      ruff format
      
    这些命令也可以通过 scripts/lint.sh 脚本执行。
  • 静态分析 运行静态分析(mypy、bandit、semgrep):
    ./scripts/static-analysis.sh
    
    此脚本也在 .pre-commit-config.yaml 中配置为预提交钩子。
  • 运行测试
    • 带覆盖率的测试
      ./scripts/test.sh
      
    这将运行pytest并生成覆盖率报告。若要生成合并报告并清理,可以使用:
    ./scripts/test-cov.sh
    
  • 预提交钩子 本项目使用在 .pre-commit-config.yaml 中定义的预提交钩子。安装钩子:
    pre-commit install
    
    钩子将在每次提交前自动运行。

高级用法

启动服务器

MCP服务器可以使用 mcp_server/main.py 脚本启动,它支持不同的传输模式(如 stdiossestreamable-http)。 启动服务器(例如,以stdio模式):

python mcp_server/main.py stdio

服务器可以使用环境变量进行配置:

  • CONFIG_PATH:JSON配置文件的路径(例如,mcp_server/mcp_config.json)。
  • CONFIG:包含配置的JSON字符串。
  • SECURITY:用于安全参数的环境变量(例如,API密钥)。 有关如何加载这些配置的详细信息,请参考 mcp_server/main.py 中的 if __name__ == "__main__": 块。

tests/test_mcp_server.py 文件展示了如何以编程方式启动服务器并与之交互进行测试。

构建与发布

本项目使用Hatch进行构建和发布。

  • 构建项目
    hatch build
    
  • 发布项目
    hatch publish
    

这些命令也可以通过 scripts/publish.sh 脚本执行。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端