|
|
||
|---|---|---|
| workflow | ||
| .python-version | ||
| README.md | ||
| pyproject.toml | ||
| uv.lock | ||
README.md
Robot-mcp
项目目标
用大模型为强化学习环境做决策。
理想是:大模型根据机器人采集的视觉图像,以及人类指令,进行指令理解、场景理解、任务规划,返回执行指令给机器人。
目前实现的demo是:用大模型控制CartPole。
项目思路
-
在mcp server里创建强化学习环境,使能通过mcp tool控制环境
-
大模型那边用OpenAI兼容格式的,使用Responses APl,mcp server可以直接作为tools传给LLM client
执行方法
-
准备工作
环境。
uv sync source .venv/bin/activate环境变量。在workflow路径下准备
var.py文件,内容为:API_KEY = "xxx" # 替换为你的实际API密钥(OpenAI兼容格式) MCP_PUBLIC_URL = "xxx/sse/" # 替换为你的实际MCP公共URL -
启动mcp server
cd workflow/ python mcp_server.py -
(选用)将mcp server暴露到公网
由于demo里用的非本地部署大模型,需要将本地mcp server暴露到公网才能被大模型访问使用到。
这里用的是通过ngrok进行内网穿透。另开一个终端:
ngrok http 8000将返回的公网URL复制到
var.py里,形如MCP_PUBLIC_URL = "https://f89016e11f9e.ngrok-free.app/sse/"。 -
执行mcp host
另开一个终端:
cd workflow/ python mcp_host.py即可看到大模型在一步一步地控制Cart Pole。
待解决的问题
-
好像只有OpenAI系的较新的模型,才支持通过
tools={["type": "mcp",...]}方式传递MCP工具。目前测试通过的大模型为gpt-5。 -
有个问题没想清:大模型是只做规划,不实际操作环境,还是需要大模型去和环境互动嘞?