Back to MCP directory
publicPublicdnsLocal runtime

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

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client