机器人控制服务器

一个用于控制Raibot(AI控制机器人)的MCP服务器,提供地图、位置和历史记录管理功能。

  • by MartinHodges
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 martinhodges/raibot-mcp-server

使用说明

raibot mcp服务器

该项目构建了一个演示MCP服务器,其中包括控制Raibot(人工智能控制的机器人)的工具

有一个完整的描述在我的 媒体文章.

MCP服务器功能

此MCP服务器提供以下功能:

资源

  • Raibot Map -Raibot的内部地图
  • Raibot Location -Raibot的当前位置
  • Raibot History -向Raibot发出指令的历史记录以及这些指令的结果

鼓励

  • Raibot -为Raibot设置上下文

工具

  • hello_world -Raibot的问候
  • raibot_simulator -机器人模拟器
  • raibot_location -Raibot的当前位置

建立和运行

要构建此项目,建议使用节点v22。

这是一个标准节点/Typescript项目,首先安装以下依赖项:

npm install

您可以使用以下工具构建和运行项目:

npm run build
node build/index.js

然而,为了发展,最好使用:

npm run dev

这将运行服务器并监视项目文件夹。任何更改都将触发新的构建并重新启动服务器。

测试

要测试服务器,您可以运行MCP检查器。运行服务器后,您可以使用以下命令对其进行测试:

DANGEROUSLY_OMIT_AUTH=true npx @modelcontextprotocol/inspector

这将打开一个web应用程序 http://localhost:6274 它允许您在以下位置使用Streamable HTTP连接到服务器http://localhost:3001/mcp(不是/sse默认值)。

当服务器因更改而重新启动时,最好重新加载网页并重新连接。

替代连接方法

服务器将使用Express启动HTTP服务器。然后,它将允许客户端通过Streamable HTTP连接连接到它。

有一个替代连接选项 stdio。如果您想使用此替代方案,只需替换 src/index.ts 随着 src/index-stdio.ts 文件。然后重建:

npm run build

要针对此版本进行测试,检查器和服务器必须在同一进程空间中运行。这可以通过以下方式实现:

DANGEROUSLY_OMIT_AUTH=true npx @modelcontextprotocol/inspector node build/index.js

以这种方式运行不会在您进行更改时自动重建和重新运行服务器。虽然这适用于检查器客户端,但您需要调整代理以在相同的流程空间中运行客户端。也, console.log 语句将无法工作,因为它们将打印到 stdio 溪流。你可以试试 console.error 使用 stderr 然而,检查员应该将流重定向到终端,但我没有成功。

建议您坚持使用Streamable HTTP解决方案。

日志

为了解决日志问题,我加入了一个 winston 日志记录实现,将日志记录到 ./logs 文件夹。这以JSON格式记录。

数据

为了实现MCP资源的持久存储,我使用了文件。这些可以在 ./data 文件夹。这些可以随时删除,因为它们应该在资源更新时重新创建。