本项目是一个货运路线优化应用的后端组件之一,其MCP服务器部分负责提供标准化的接口,允许大型语言模型(LLM)客户端通过工具和Prompt与应用数据进行交互,例如查询城市信息、获取路线详情、更新路线成本等。

主要功能点

  • 城市及路线数据查询: 提供工具检索城市列表、查询城市的邻居城市、获取特定路线的详细信息(如时间、距离、CO2、价格等)。
  • 数据修改能力: 提供工具更新特定路线的成本或CO2排放等数据字段,或添加、删除城市。
  • LLM交互模板: 提供Prompt模板指导LLM如何根据用户输入调用相应的工具来回答问题或执行操作。
  • 标准协议通信: 通过标准输入/输出(Stdio)以JSON-RPC协议与兼容的MCP客户端通信。

安装步骤

  1. 克隆GitHub仓库到本地:
    git clone https://github.com/h1ppox99/hackathon_MIT_MCP-OR.git
  2. 进入项目目录:
    cd hackathon_MIT_MCP-OR
  3. 确保已安装'uv'命令行工具。如果未安装,请根据您的操作系统执行相应命令(如 'brew install uv' 或 'sudo apt install uv')。
  4. 创建并同步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服务器功能的简要描述。

基本使用方法

  1. 确保您已完成安装步骤。
  2. 使用MCP客户端配置并连接到此服务器,使用上述提供的配置信息。
  3. 一旦连接成功,MCP客户端将能发现并调用服务器暴露的Tools和Prompts。
  4. 您可以通过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' 工具)
  5. 服务器将处理请求并返回结果给客户端。

信息

分类

商业系统