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应用程序 它允许您在以下位置使用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 文件夹。这些可以随时删除,因为它们应该在资源更新时重新创建。
