Add fmsg-mcp: HTTP-mode integration test and optional compose service - #20
Merged
Conversation
Test 014 starts the published @markmnl/fmsg-mcp with npx in Streamable HTTP mode for the hairpin host and drives it with curl over JSON-RPC: rejects unauthenticated calls, whoami, cross-host send_message to Bob, wait_for_message returning Bob's fmsg-cli reply over the WebSocket, get_thread, react and delivery_status. Also adds an opt-in `fmsg-mcp` compose service (profile `mcp`, built from the npm package, bound to 127.0.0.1:8765 by default) for deployments that want a hosted MCP endpoint behind a reverse proxy, with README notes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QWT1dXov2XxPzKWjeTT33b
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
test/tests/014-fmsg-mcp-http.sh): runs the published@markmnl/fmsg-mcpwithnpxin Streamable HTTP mode for the hairpin host and drives it with curl over JSON-RPC. Asserts the bearer-key auth gate (401),whoami, cross-hostsend_messageto Bob,wait_for_messagereturning Bob's fmsg-cli reply pushed over the WebSocket,get_thread,reactanddelivery_status.FMSG_MCP_NPM_SPECpins the version (default@markmnl/fmsg-mcp@latest). Needs Node.js 22+ on the runner (present on GitHub's Ubuntu images).fmsg-mcpcompose service under profilemcp(docker compose --profile mcp up -d), built from the npm package (docker/fmsg-mcp/Dockerfile,FMSG_MCP_REF), bound to127.0.0.1:8765by default so a TLS-terminating reverse proxy can front it;FMSG_MCP_ALLOWED_HOSTS/FMSG_MCP_API_URL/FMSG_MCP_HOST_PORTare the knobs. README documents it.Test plan
python -c yaml.safe_loadon the compose file;bash -non the test🤖 Generated with Claude Code
https://claude.ai/code/session_01QWT1dXov2XxPzKWjeTT33b