mcp: refactor for testability and add comprehensive test suite

- Refactor mcp.Server and router to accept injected I/O streams.
- Implement McpHarness for high-fidelity MCP integration testing.
- Add unit tests for protocol, tools, and resources modules.
- Add integration tests covering initialization, tool/resource execution, and error handling.
- Improve error reporting for malformed JSON requests.
This commit is contained in:
Adrià Arrufat
2026-03-02 15:50:29 +09:00
parent 8a1795d56f
commit 64107f5957
8 changed files with 371 additions and 6 deletions

View File

@@ -136,10 +136,10 @@ fn run(allocator: Allocator, main_arena: Allocator) !void {
log.opts.format = .logfmt;
var mcp_server = try lp.mcp.Server.init(allocator, app);
var mcp_server = try lp.mcp.Server.init(allocator, app, std.fs.File.stdout());
defer mcp_server.deinit();
try lp.mcp.router.processRequests(mcp_server);
try lp.mcp.router.processRequests(mcp_server, std.fs.File.stdin());
},
else => unreachable,
}