使用说明
项目简介
INDIAN_MEDICINE_MCP_SERVER 是一个专为医药信息查询设计的API服务器,它基于 Model Context Protocol (MCP) 架构,旨在为大型语言模型(LLM)客户端提供结构化的医药知识库访问能力。该服务器集成了药品搜索、成分分析、替代建议等多种功能,并针对性能进行了优化,能够高效处理大量的医药数据。
主要功能点
- 强大的搜索功能:支持药品名称的精确和模糊搜索,以及基于成分和多条件过滤的搜索。
- 深入的分析工具:提供药品成分解析、数据库统计分析和成分分类等功能。
- 医疗决策支持:能够提供替代药品建议和价格比较,辅助用户进行医疗决策。
- 优化的性能:采用多重索引、预计算成分提取和高效的相似度计算方法,确保快速响应。
- 全面的API接口:提供15个不同的API端点,涵盖药品信息的各种查询和分析需求。
安装步骤
-
克隆仓库
git clone https://github.com/nowitsidb/INDIAN_MEDICINE_MCP_SERVER.git cd INDIAN_MEDICINE_MCP_SERVER -
安装依赖 确保已安装Python 3.8 或更高版本。然后使用 pip 安装项目依赖:
pip install -r requirements.txt -
准备药品数据库 将您的药品 JSON 数据文件放置在代码指定的路径。默认路径在 'server.py' 文件中 'DATA_PATH = "File_Path"' 变量处,请根据实际情况修改 'DATA_PATH' 变量的值,指向您的 'medicines.json' 文件的完整路径。
-
运行服务器 在终端中执行以下命令启动 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 客户端调用不同的工具函数,实现医药信息的查询和分析。
信息
分类
数据库与文件