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

health-repository-provider-specifications-for-hiu

该项目是一个基于OpenAPI规范的MCP服务器,用于处理NDHM-HIU协议的API请求,支持多种传输模式,并提供完善的开发工具链。

article

README

🚀 MCP Server

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

🚀 快速开始

此项目为MCP服务器,可依据指定的OpenAPI URL生成,下面将介绍该项目的前置要求、安装、开发、运行等步骤。

✨ 主要特性

  • 依据特定OpenAPI URL生成MCP服务器。
  • 支持多种传输模式,如stdiossestreamable-http
  • 可通过环境变量进行灵活配置。
  • 具备代码检查、格式化、静态分析和测试等开发工具。
  • 使用Hatch进行项目构建和发布。

📦 安装指南

前置要求

  • 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. 补齐环境变量后重启客户端