使用说明
项目简介
本项目实现了一个基于 Model Context Protocol (MCP) 的服务器,用于提供汽车信息的查询服务。该服务器使用 WebSocket 协议与客户端通信,允许客户端根据多种条件过滤汽车数据。服务端使用 SQLite 数据库存储汽车信息,并提供 API 接口供客户端查询。
主要功能点
- 汽车数据管理: 服务器端托管和管理汽车资源,数据存储在 SQLite 数据库中。
- 条件查询: 支持客户端通过多种条件(如品牌、型号、年份、燃料类型、价格、颜色、车门数等)检索汽车信息。
- WebSocket通信: 使用 WebSocket 协议与客户端进行实时双向通信。
- JSON格式数据交换: 客户端和服务器之间通过 JSON 格式交换数据,进行请求和响应。
安装步骤
- 环境准备: 确保已安装 Python 3.6 或更高版本。
- 克隆仓库: 将 GitHub 仓库 'https://github.com/kauesv/desafio-c2s' 克隆到本地。
git clone https://github.com/kauesv/desafio-c2s cd desafio-c2s - 配置虚拟环境: 根据操作系统执行相应的脚本创建并激活虚拟环境。
- Windows: 运行 'setup_venv.bat' 和 'venv\scripts\activate'
- Linux/Mac: 运行 './setup_venv.sh' 和 'source venv/bin/activate'
- 安装依赖: 分别进入 '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' (默认地址)。
基本使用方法
- 启动服务器: 按照上述 "服务器配置" 中的说明启动 MCP 服务器。
- 启动客户端: 在另一个终端窗口中,根据操作系统执行相应的脚本启动客户端。
- Windows: 运行 'run_client.bat'
- Linux/Mac: 运行 './run_client.sh'
- 与虚拟代理交互: 客户端启动后,会进入一个交互式的命令行界面。根据提示,与虚拟代理进行对话,描述你想要查找的汽车的条件。
- 查看查询结果: 客户端会将查询条件发送到 MCP 服务器,服务器查询数据库后,将结果返回给客户端。客户端会将结果格式化并显示在命令行界面上。
- 进行新的查询或退出: 可以继续与虚拟代理对话进行新的汽车查询,或者输入 'n' 退出客户端程序。
注意: 确保服务器端先启动,然后再启动客户端。客户端通过 WebSocket 连接到服务器进行数据交互。
信息
分类
网页与API