Skip to content

mcp-layer

Version 2026.144.1443
Repo superproject

harness-mcp-fixture — minimal Streamable-HTTP MCP server stub for harness phase 4 Implements the MCP Streamable HTTP protocol surface that the mcp: check verb (exercised via charly check live <pod> --filter mcp, dispatched out-of-process by candy/plugin-mcp) probes: initialize, ping, tools/list, tools/call. Advertises three jupyter-named tools (list_notebooks, insert_cell, execute_cell) so the mcp-protocol-probe recipe’s matchers all satisfy. Stdlib-only Python (no fastmcp install) keeps the image small and the build fast.

  • harness-mcp-fixture

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
run mkdir=/opt/harness-mcp
run write=/opt/harness-mcp/mcp_server.py
check the stdlib MCP server script is baked into the image at /opt/harness-mcp/mcp_server.py
check the python3 interpreter that runs the stub is installed at /usr/bin/python3
check the python3 package providing the interpreter is installed
check the running fixture answers an MCP ping over its Streamable HTTP endpoint
check a tools/list call advertises the three jupyter-named tools
check the server port accepts a TCP connection from the host
agent-check a tools/call invocation of list_notebooks returns a notebook listing, and insert_cell / execute_cell respond without a JSON-RPC protocol error against the live fixture