Go to file
zkx 69645a9e07 添加README、注释等,便于对接。 2025-08-11 21:47:02 +08:00
workflow 添加README、注释等,便于对接。 2025-08-11 21:47:02 +08:00
.python-version init 2025-07-14 18:33:26 +08:00
README.md 添加README、注释等,便于对接。 2025-08-11 21:47:02 +08:00
pyproject.toml 调试 2025-08-09 17:42:07 +08:00
uv.lock 调试 2025-08-09 17:42:07 +08:00

README.md

Robot-mcp

项目目标

用大模型为强化学习环境做决策。

理想是:大模型根据机器人采集的视觉图像,以及人类指令,进行指令理解、场景理解、任务规划,返回执行指令给机器人。

目前实现的demo是用大模型控制CartPole。

项目思路

  1. 在mcp server里创建强化学习环境使能通过mcp tool控制环境

  2. 大模型那边用OpenAI兼容格式的使用Responses APlmcp server可以直接作为tools传给LLM client

执行方法

  1. 准备工作

    环境。

    uv sync
    source .venv/bin/activate
    

    环境变量。在workflow路径下准备var.py文件,内容为:

    API_KEY = "xxx"  # 替换为你的实际API密钥OpenAI兼容格式
    MCP_PUBLIC_URL = "xxx/sse/"  # 替换为你的实际MCP公共URL
    
  2. 启动mcp server

    cd workflow/
    python mcp_server.py
    
  3. 选用将mcp server暴露到公网

    由于demo里用的非本地部署大模型需要将本地mcp server暴露到公网才能被大模型访问使用到。

    这里用的是通过ngrok进行内网穿透。另开一个终端

    ngrok http 8000
    

    将返回的公网URL复制到var.py里,形如MCP_PUBLIC_URL = "https://f89016e11f9e.ngrok-free.app/sse/"

  4. 执行mcp host

    另开一个终端:

    cd workflow/
    python mcp_host.py
    

    即可看到大模型在一步一步地控制Cart Pole。

待解决的问题

  1. 好像只有OpenAI系的较新的模型才支持通过tools={["type": "mcp",...]}方式传递MCP工具。目前测试通过的大模型为gpt-5。

  2. 有个问题没想清:大模型是只做规划,不实际操作环境,还是需要大模型去和环境互动嘞?