使用说明

项目简介

INDIAN_MEDICINE_MCP_SERVER 是一个专为医药信息查询设计的API服务器,它基于 Model Context Protocol (MCP) 架构,旨在为大型语言模型(LLM)客户端提供结构化的医药知识库访问能力。该服务器集成了药品搜索、成分分析、替代建议等多种功能,并针对性能进行了优化,能够高效处理大量的医药数据。

主要功能点

  • 强大的搜索功能:支持药品名称的精确和模糊搜索,以及基于成分和多条件过滤的搜索。
  • 深入的分析工具:提供药品成分解析、数据库统计分析和成分分类等功能。
  • 医疗决策支持:能够提供替代药品建议和价格比较,辅助用户进行医疗决策。
  • 优化的性能:采用多重索引、预计算成分提取和高效的相似度计算方法,确保快速响应。
  • 全面的API接口:提供15个不同的API端点,涵盖药品信息的各种查询和分析需求。

安装步骤

  1. 克隆仓库

    git clone https://github.com/nowitsidb/INDIAN_MEDICINE_MCP_SERVER.git
    cd INDIAN_MEDICINE_MCP_SERVER
  2. 安装依赖 确保已安装Python 3.8 或更高版本。然后使用 pip 安装项目依赖:

    pip install -r requirements.txt
  3. 准备药品数据库 将您的药品 JSON 数据文件放置在代码指定的路径。默认路径在 'server.py' 文件中 'DATA_PATH = "File_Path"' 变量处,请根据实际情况修改 'DATA_PATH' 变量的值,指向您的 'medicines.json' 文件的完整路径。

  4. 运行服务器 在终端中执行以下命令启动 MCP 服务器:

    python server.py

    服务器将在标准输入/输出流 (stdio) 上运行,等待 MCP 客户端的连接和请求。

服务器配置

MCP 服务器需要通过 MCP 客户端进行连接和使用。以下是 MCP 客户端连接此服务器时需要配置的 JSON 格式配置信息。您需要在 MCP 客户端中配置以下信息以启动并连接到该服务器:

{
  "serverName": "medicines-db",  // 服务器名称,与 server.py 中 FastMCP 初始化时指定的名称一致
  "command": "python",         // 启动服务器的命令,这里使用 python
  "args": [                   // 启动服务器命令的参数
    "server.py"              // 指定要运行的服务器脚本文件
  ]
}

配置参数说明:

  • 'serverName': 服务器的名称,必须与 'server.py' 文件中 'mcp = FastMCP("medicines-db")' 初始化的名称 '"medicines-db"' 完全一致。这是客户端识别和连接服务器的关键标识。
  • 'command': 用于启动服务器进程的命令。由于服务器是 Python 脚本,这里设置为 '"python"'。
  • 'args': 一个字符串数组,包含了传递给启动命令的参数。这里只有一个参数 '"server.py"',表示要执行的 Python 脚本是 'server.py' 文件。

请注意: MCP 客户端会使用这些配置信息来启动 'python server.py' 进程,并建立与 MCP 服务器的连接。确保您的 Python 环境配置正确,并且 'server.py' 文件位于 MCP 客户端能够访问到的位置。

基本使用方法

服务器启动后,您可以使用任何 MCP 客户端通过 JSON-RPC 协议与之通信。

示例 (Python MCP Client):

from mcp.client import MCPClient

# 连接到服务器,服务器名称需与配置中的 serverName 一致
client = MCPClient("medicines-db")

# 调用服务器提供的工具函数,例如搜索药品
result = client.call("search_medicines", query="paracetamol", max_results=5)
print(result)

# 调用其他工具函数,例如获取替代药品建议
alternatives = client.call("suggest_alternatives", medicine_name="Dolo 650")
print(alternatives)

请参考 'README.md' 文件中的 API Reference 部分,了解所有可用的 API 端点和参数。您可以根据 API 文档使用 MCP 客户端调用不同的工具函数,实现医药信息的查询和分析。

信息

分类

数据库与文件