本项目是一个货运路线优化应用的后端组件之一,其MCP服务器部分负责提供标准化的接口,允许大型语言模型(LLM)客户端通过工具和Prompt与应用数据进行交互,例如查询城市信息、获取路线详情、更新路线成本等。
主要功能点
- 城市及路线数据查询: 提供工具检索城市列表、查询城市的邻居城市、获取特定路线的详细信息(如时间、距离、CO2、价格等)。
- 数据修改能力: 提供工具更新特定路线的成本或CO2排放等数据字段,或添加、删除城市。
- LLM交互模板: 提供Prompt模板指导LLM如何根据用户输入调用相应的工具来回答问题或执行操作。
- 标准协议通信: 通过标准输入/输出(Stdio)以JSON-RPC协议与兼容的MCP客户端通信。
安装步骤
- 克隆GitHub仓库到本地:
git clone https://github.com/h1ppox99/hackathon_MIT_MCP-OR.git - 进入项目目录:
cd hackathon_MIT_MCP-OR - 确保已安装'uv'命令行工具。如果未安装,请根据您的操作系统执行相应命令(如 'brew install uv' 或 'sudo apt install uv')。
- 创建并同步Python虚拟环境及依赖:
uv sync
服务器配置 (供MCP客户端使用)
本MCP服务器通过标准输入/输出(stdio)与客户端通信。若您的MCP客户端(如Claude桌面应用)需要配置服务器信息,请参考以下格式:
{ "name": "Shipping MCP", "command": "uv", "args": [ "run", "mcp", "install", "csv_editor.py", "--name", "Shipping MCP", "--with-editable", "." ], "transport": "stdio", "description": "Éditeur CSV local très simple" }
参数说明:
- 'name': MCP服务器在客户端显示的名称。
- 'command': 启动MCP服务器的可执行命令 ('uv' 用于运行Python环境下的脚本)。
- 'args': 传递给命令行的参数列表。这组参数指示 'uv' 运行 'mcp' 框架,安装并启动 'csv_editor.py' 文件中定义的MCP服务,并指定其内部名称和工作目录。
- 'transport': 通信协议,'stdio' 表示通过标准输入/输出进行JSON-RPC通信。
- 'description': 对MCP服务器功能的简要描述。
基本使用方法
- 确保您已完成安装步骤。
- 使用MCP客户端配置并连接到此服务器,使用上述提供的配置信息。
- 一旦连接成功,MCP客户端将能发现并调用服务器暴露的Tools和Prompts。
- 您可以通过LLM客户端(如Claude)发起请求,例如:
- 询问:“有哪些城市?” (LLM可能会调用 'name_cities' 工具)
- 询问:“从Los Angeles出发可以到哪些邻近城市?” (LLM可能会调用 'get_neighbors' 工具)
- 请求:“将Route A到Route B的CO2排放增加10%。” (LLM可能会调用 'update_weight_percent' 工具)
- 请求:“添加一座新城市叫Austin,坐标是lat 30.2672 lon -97.7431,有机场但没有港口。” (LLM可能会调用 'add_city' 工具)
- 服务器将处理请求并返回结果给客户端。
信息
分类
商业系统