项目简介

Multi-Agent AI医疗系统中的MCP服务器,专门负责托管医生数据并提供高效的搜索工具。它通过标准的JSON-RPC协议响应客户端请求,特别是用于查找特定州内的医生信息,作为LLM客户端获取医疗上下文的能力层。

主要功能点

  • 医生信息托管: 存储并管理详细的医生信息,包括姓名、专科、地址、联系方式、经验、认证及所属医院等。
  • 按州搜索医生: 提供一个名为“doctor_search”的工具,允许MCP客户端根据美国两字母州代码来查询该州的所有医生。
  • 标准化API通信: 通过HTTP上的JSON-RPC协议进行通信,确保与兼容的LLM客户端或其他服务集成。
  • 能力声明: 能够响应客户端关于其可用工具(例如“doctor_search”)的查询,并提供工具的结构化描述。

安装步骤

  1. 克隆仓库: 使用 Git 克隆此项目到您的本地机器。
    git clone https://github.com/schmouli/multi-agent-ai.git
    cd multi-agent-ai
  2. 设置OpenAI API密钥: 在项目根目录创建一个 '.env' 文件,并添加您的OpenAI API密钥。
    echo "OPENAI_API_KEY=您的_OPENAI_API_密钥_在此处" > .env
    注意:尽管MCP服务器本身在此示例中没有直接使用OpenAI API,但系统中的其他服务(如保险代理)可能需要。为确保整个系统运行,建议配置。
  3. 使用Docker Compose启动: 确保您已安装 Docker 和 Docker Compose。在项目根目录运行以下命令以构建并启动所有服务,包括MCP服务器:
    docker-compose up --build -d
    这将在后台启动所有服务。MCP服务器将在端口 '8333' 上运行。
  4. 本地Python运行 (可选): 如果您希望在本地环境中直接运行MCP服务器,请先安装Python依赖,然后执行:
    # 假设您已经在一个虚拟环境中
    uv sync # 安装项目所有依赖
    python server/mcpserver.py
    MCP服务器将在 'http://0.0.0.0:8333' 上运行。

服务器配置 (供MCP客户端集成参考)

您的MCP客户端可以配置通过HTTP协议连接到MCP服务器。以下是典型的配置信息,请根据您的实际部署环境调整 'host' 和 'port':

{
  "server_name": "doctor-search-server",
  "command": "python",
  "args": ["server/mcpserver.py"],
  "protocol": "http",
  "host": "localhost",
  "port": 8333,
  "description": "提供医生搜索功能的MCP服务器,通过JSON-RPC协议调用其'doctor_search'工具,用于根据州代码查找医生信息。"
}

注释:

  • 'server_name': 服务器的唯一标识符,应与MCP服务器自身声明的名称一致。
  • 'command': 启动MCP服务器所使用的命令(例如 'python')。
  • 'args': 传递给 'command' 的参数,通常是MCP服务器脚本的路径。
  • 'protocol': 服务器支持的通信协议,此处为 'http'。
  • 'host': MCP服务器的IP地址或域名。
  • 'port': MCP服务器监听的端口号。
  • 'description': 对MCP服务器功能的简要描述,方便客户端理解其用途。

基本使用方法

一旦MCP服务器启动并运行在 'http://localhost:8333',您可以使用 'curl' 命令或您的MCP客户端进行交互:

  1. 获取服务器信息:

    curl http://localhost:8333/

    这将返回服务器的基本元数据,如名称和版本。

  2. 列出可用工具:

    curl -X POST http://localhost:8333/ \
         -H "Content-Type: application/json" \
         -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

    服务器将返回一个 JSON-RPC 响应,其中包含所有已注册工具的列表及其描述和输入模式。

  3. 调用医生搜索工具 (例如:搜索加州的医生):

    curl -X POST http://localhost:8333/ \
         -H "Content-Type: application/json" \
         -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "doctor_search", "arguments": {"state": "CA"}}}'

    服务器将返回一个 JSON-RPC 响应,其中包含加利福尼亚州的所有医生信息。您可以将 'state' 参数更改为其他美国州代码(例如 'GA'、'TX')以获取不同州的医生。

信息

分类

AI与计算