【免费下载链接】picobotA lightweight self-hosted bot in a single binary, written in Go.项目地址https://gitcode.com/gh_mirrors/pic/picobot点击查看免费下载Picobot 是一款用 Go 编写的轻量级自托管 AI Agent 机器人支持通过 MCP Server 接入外部工具覆盖 stdio 与 HTTP 双通道几行配置即可让机器人拥有无限新工具。什么是 MCP 双通道接入MCPModel Context Protocol是一个让 AI Agent 调用外部工具的开放协议。Picobot 作为 MCP 客户端可以连接任意符合协议的 MCP Server把对方的工具直接借来使用。Picobot 支持两种传输方式transport通道适用场景必填字段stdio本地进程npx、uvx、二进制、DockercommandargsHTTP远程或托管的 MCP Serverurl可选headers工具注册规则非常简单每个 MCP 工具在 Agent 工具表中以mcp_{服务器名}_{工具名}命名。例如服务器via-npx暴露了工具some-action最终注册为mcp_via-npx_some-actionAgent 会像调用内置工具一样调用它。这个封装逻辑见 internal/agent/tools/mcp.go。最快配置方法编辑 config.jsonPicobot 只有一个配置文件~/.picobot/config.json运行picobot onboard自动生成。所有 MCP 服务器都写在mcpServers字段下字段定义见 internal/config/schema.go 中的MCPServerConfig{ mcpServers: { my-server: { command: npx, args: [-y, some/mcp-server] } } } 每个服务器只走一种通道如果command和url同时填写command优先。完整字段说明可查阅官方文档docs/CONFIG.md。stdio 通道本地进程四连招stdio 模式下Picobot 会自动拉起子进程并通过 stdin/stdout 通信实现见 internal/mcp/client.go 的NewStdioClient四种常见写法{ mcpServers: { via-npx: { command: npx, args: [-y, some/mcp-server] }, via-uvx: { command: uvx, args: [some-mcp-server] }, via-binary: { command: /usr/local/bin/my-mcp-server, args: [--some-flag] }, via-docker: { command: docker, args: [run, --rm, -i, mcp/some-image] } } }⚠️Docker 特别注意args里必须带-i交互模式。否则 Docker 会立即关闭 stdinMCP 握手直接失败——这是新手踩坑最多的地方。HTTP 通道远程服务器 Bearer Token对于部署在远端的 MCP ServerStreamable HTTP 或 SSE 协议只需填url并可通过headers携带认证信息{ mcpServers: { via-remote: { url: https://mcp.example.com/mcp, headers: { Authorization: Bearer YOUR_TOKEN } } } }HTTP 通道由NewHTTPClient实现支持Mcp-Session-Id会话头和 SSE 流式响应解析默认请求超时 60 秒。启动行为Picobot 如何管理 MCP 连接连接逻辑集中在 Agent 初始化阶段internal/agent/loop.go 第 121-144 行行为很友好自动发现Agent 启动时gateway或agent命令连接所有服务器通过tools/list拉取工具清单并批量注册故障隔离某台服务器连接失败进程不存在、网络错误、握手失败时Picobot 只记录日志并继续运行其他服务器和内置工具完全不受影响优雅退出网关退出时所有 MCP 连接会被统一Close()清理不会留下僵尸进程。启动成功后日志会输出MCP server xxx: registered N tools可据此确认工具数量。常见坑与排查清单现象原因解决Docker 握手失败缺少-i参数args中加入-i工具调用报no response in SSE stream远端返回的 SSE 流中没有响应检查url是否指向 Streamable HTTP 端点启动日志出现failed to connect命令不在$PATH或网络不通改用绝对路径或用command -v验证工具名找不到记错命名规则工具名格式为mcp_{server}_{tool}command与url同时配置冲突二选一command会优先生效小结通过mcpServers这一节配置Picobot 用 stdio 和 HTTP 两条通道打通了 MCP 生态本地进程零依赖直接拉起远程服务带 Token 即插即用且故障互相隔离。配合它约 9MB 的单文件二进制你可以在最轻量的 VPS 上跑一个工具无限的 AI Agent。下一步不妨阅读 docs/HOW_TO_START.md 完成消息渠道配置让新工具在聊天中立刻可用。赞分享【免费下载链接】picobotA lightweight self-hosted bot in a single binary, written in Go.项目地址https://gitcode.com/gh_mirrors/pic/picobot点击查看免费下载相关推荐IceCubesApp 实战教程纯 SwiftUI Mastodon 客户端如何实现、架构怎么拆、本地怎么跑IceCubesApp 实战教程纯 SwiftUI Mastodon 客户端如何实现、架构怎么拆、本地怎么跑 IceCubesApp 是一款纯 SwiftUI移动开发社交如何把 Open Interpreter 接入现有 MCP stdio 或 HTTP 服务器配置外部工具如何把 Open Interpreter 接入现有 MCP stdio 或 HTTP 服务器配置外部工具 假设你已经有一个运行中的 Model Context人工智能大模型AI Agent代码智能体AI 应用CLIChatDev 2.0 如何用 mcp_local 模式接入本地 stdio MCP 工具ChatDev 2.0 如何用 mcp_local 模式接入本地 stdio MCP 工具 如果你的 MCP 服务不是以 HTTP 端点提供而是以本地可执行人工智能AI Agent多智能体Agent 工作流后端前端低代码创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考