使用说明

项目简介

本项目实现了一个基于 Model Context Protocol (MCP) 的服务器,用于提供汽车信息的查询服务。该服务器使用 WebSocket 协议与客户端通信,允许客户端根据多种条件过滤汽车数据。服务端使用 SQLite 数据库存储汽车信息,并提供 API 接口供客户端查询。

主要功能点

  • 汽车数据管理: 服务器端托管和管理汽车资源,数据存储在 SQLite 数据库中。
  • 条件查询: 支持客户端通过多种条件(如品牌、型号、年份、燃料类型、价格、颜色、车门数等)检索汽车信息。
  • WebSocket通信: 使用 WebSocket 协议与客户端进行实时双向通信。
  • JSON格式数据交换: 客户端和服务器之间通过 JSON 格式交换数据,进行请求和响应。

安装步骤

  1. 环境准备: 确保已安装 Python 3.6 或更高版本。
  2. 克隆仓库: 将 GitHub 仓库 'https://github.com/kauesv/desafio-c2s' 克隆到本地。
    git clone https://github.com/kauesv/desafio-c2s
    cd desafio-c2s
  3. 配置虚拟环境: 根据操作系统执行相应的脚本创建并激活虚拟环境。
    • Windows: 运行 'setup_venv.bat' 和 'venv\scripts\activate'
    • Linux/Mac: 运行 './setup_venv.sh' 和 'source venv/bin/activate'
  4. 安装依赖: 分别进入 'server' 和 'client' 目录,安装所需的 Python 包。
    cd server
    pip install -r requirements.txt
    cd ../client
    pip install -r requirements.txt
    cd ..

服务器配置

MCP 客户端需要配置以下信息以连接到 MCP 服务器。以下是基于本项目仓库信息生成的配置示例(JSON 格式):

{
  "serverName": "CarInfoQueryServer",
  "command": "python",
  "args": [
    "server/app.py"
  ],
  "host": "ws://localhost:8765"
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义,例如 "CarInfoQueryServer"。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 启动服务器命令的参数,指定服务器主程序 'server/app.py' 的路径。
  • 'host': MCP 服务器的 WebSocket 地址,默认为 'ws://localhost:8765' (根据 'server/config.py' 中的默认配置)。

启动服务器:

根据操作系统执行相应的脚本启动服务器。

  • Windows: 运行 'run_server.bat'
  • Linux/Mac: 运行 './run_server.sh'

服务器启动后,会监听在 'ws://localhost:8765' (默认地址)。

基本使用方法

  1. 启动服务器: 按照上述 "服务器配置" 中的说明启动 MCP 服务器。
  2. 启动客户端: 在另一个终端窗口中,根据操作系统执行相应的脚本启动客户端。
    • Windows: 运行 'run_client.bat'
    • Linux/Mac: 运行 './run_client.sh'
  3. 与虚拟代理交互: 客户端启动后,会进入一个交互式的命令行界面。根据提示,与虚拟代理进行对话,描述你想要查找的汽车的条件。
  4. 查看查询结果: 客户端会将查询条件发送到 MCP 服务器,服务器查询数据库后,将结果返回给客户端。客户端会将结果格式化并显示在命令行界面上。
  5. 进行新的查询或退出: 可以继续与虚拟代理对话进行新的汽车查询,或者输入 'n' 退出客户端程序。

注意: 确保服务器端先启动,然后再启动客户端。客户端通过 WebSocket 连接到服务器进行数据交互。

信息

分类

网页与API