picoclaw/pkg/tools
yuchou87 91c168db20 feat(mcp): add Model Context Protocol integration
Implement comprehensive MCP support with stdio/HTTP/SSE transports, environment variable configuration (env and envFile), custom headers, tool registration, and automatic resource cleanup. Includes full test coverage and VSCode-compatible configuration.

- Added pkg/mcp/manager.go for server lifecycle management
- Added pkg/tools/mcp_tool.go for tool wrapping
- Integrated into agent loop with cleanup
- Support for envFile loading (.env format)
- Headers injection for HTTP/SSE authentication
- Example configs for filesystem, github, brave-search, postgres
2026-02-15 17:26:36 +08:00
..
base.go feat: US-006 - Add AsyncCallback type and AsyncTool interface 2026-02-12 19:35:41 +08:00
cron.go misc: fmt code 2026-02-13 17:51:47 +08:00
edit.go Merge upstream/main into ralph/tool-result-refactor 2026-02-13 01:00:26 +08:00
edit_test.go Merge upstream/main into ralph/tool-result-refactor 2026-02-13 01:00:26 +08:00
filesystem.go Merge upstream/main into ralph/tool-result-refactor 2026-02-13 01:00:26 +08:00
filesystem_test.go * Delete unused file 2026-02-12 21:58:40 +08:00
i2c.go add I2C and SPI tools for hardware interaction (#140) 2026-02-14 16:53:17 +08:00
i2c_linux.go add I2C and SPI tools for hardware interaction (#140) 2026-02-14 16:53:17 +08:00
i2c_other.go add I2C and SPI tools for hardware interaction (#140) 2026-02-14 16:53:17 +08:00
mcp_tool.go feat(mcp): add Model Context Protocol integration 2026-02-15 17:26:36 +08:00
mcp_tool_test.go feat(mcp): add Model Context Protocol integration 2026-02-15 17:26:36 +08:00
message.go misc: fmt code 2026-02-13 17:51:47 +08:00
message_test.go feat: US-011 - Add MessageTool tests 2026-02-12 19:50:53 +08:00
registry.go refactor(tools): extract shared logic for internal channels and tool definitions 2026-02-13 15:05:16 +08:00
result.go feat: US-002 - Modify Tool interface to return *ToolResult 2026-02-12 19:28:56 +08:00
result_test.go feat: US-002 - Modify Tool interface to return *ToolResult 2026-02-12 19:28:56 +08:00
shell.go misc: fmt code 2026-02-13 17:51:47 +08:00
shell_test.go Merge upstream/main into ralph/tool-result-refactor 2026-02-13 01:00:26 +08:00
spawn.go fix: resolve code review issues in tool-result-refactor 2026-02-13 01:59:50 +08:00
spi.go add I2C and SPI tools for hardware interaction (#140) 2026-02-14 16:53:17 +08:00
spi_linux.go add I2C and SPI tools for hardware interaction (#140) 2026-02-14 16:53:17 +08:00
spi_other.go add I2C and SPI tools for hardware interaction (#140) 2026-02-14 16:53:17 +08:00
subagent.go misc: fmt code 2026-02-13 17:51:47 +08:00
subagent_tool_test.go refactor(heartbeat): add configurable interval and channel-aware routing 2026-02-13 11:13:32 +08:00
toolloop.go refactor(tools): extract shared logic for internal channels and tool definitions 2026-02-13 15:05:16 +08:00
types.go * First commit 2026-02-09 19:20:19 +08:00
web.go refactor: remove unused min func 2026-02-14 16:24:20 +08:00
web_test.go fix: update tests to match upstream API changes 2026-02-14 11:32:42 +09:00