Repository navigation
Add the memnet-mcp product gateway (MN-REQ-06.12) - #203
Merged
Merged
Conversation
Route by product, house, or session to one owning serve, with hashed per-product credentials and verbatim serve pass-through. Single-backend stdio and streamable-http stay unchanged when no registry is set. No SemVer bump. Co-authored-by: chouswei <chouswei@users.noreply.github.com>
The pull request open event did not start the workflow. Co-authored-by: chouswei <chouswei@users.noreply.github.com>
Pick up the snapshot, WHERE, and ACL who fix so the pull request can run CI. Co-authored-by: chouswei <chouswei@users.noreply.github.com>
chouswei
marked this pull request as ready for review
October 8, 2026 15:44
# Conflicts: # CHANGELOG.md
Real-serve tests start serves from this tree, so pinned_version follows memnet.__version__ (0.19.19 after #204). No-bump guard follows 0.19.19.
chouswei
added a commit
that referenced
this pull request
Oct 8, 2026
Hatch, project.toml, changelog, and the version map name the memnet-mcp product gateway (#203, MN-REQ-06.12). Not 0.20.
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.
SysML first, then the memnet-mcp capability that follows it. No SemVer bump. Not merged. Not deployed.
Requirement
MN_REQ_06_12_ProductGateway/productGatewayReq)MN_VER_06_S10_ProductGateway)MemNetProductGatewaynested onMemNetLanMcpFront. Parent catalogue staysinventOnly=true,implemented=false,codeApproved=false(Research: one MCP server in front of several MemNet serves (LAN cluster) #191). Child isimplemented=true.Today (unchanged by this cut)
Checked on tags v0.19.6 (droplet
memnet-mcp-http) and v0.19.18 (Pi serve).MEMNET_SERVE_HOST/MEMNET_SERVE_PORTonly (v0.19.6client.py105–139,config.py90–95; v0.19.18client.py106–140,config.py96–101).MEMNET_MCP_HTTP_TOKEN(http_transport.py70–76 and 230–264, both tags). stdio has none.calleris optional CapsPolicy when session ACL is on. Tipmn_tip_exists only at v0.19.18 (portal SHA-256 + nginx), not per-product, and is not accepted as a product credential.{args, stdin?}→{exit_code, stdout, stderr}. v0.19.18 adds optionaladmin_token/admin_usage,--max-edges,--product,--token,admin usage-report, andsession expire-status. The reverse breaks: a v0.19.18 MCP always sends--max-edges, which v0.19.6 CLI lacks.This cut
memnet-mcp --transport gatewaywhenMEMNET_GATEWAY_CONFIGis set:@ERR/@WRN/@STAT@ERR: gateway_<code>|…refusalsgateway_backend_unreachableMEMNET_GATEWAY_ALLOW_PUBLIC=1Contract:
docs/operations/product-gateway-contract.md(implemented for this cut; not a draft).Tests run two real
memnet serveprocesses, including a 0.19.18-compatible wire.Endleaf
Backend
endleaf-rpi5-sysonat tailnet100.118.79.40:18795, productendleaf, housesyson, pin0.19.18. Sample JSON and the hash command are in the contract. The droplet's existing 0.19.6memnet-mcp-httpdoes not speak this contract.Open
See the contract, decisions 1–12: agent MCP tools do not use the registry; owner file is one process; counts reset on stop; list keeps backend
max; unknown and foreign sessions sharegateway_forbidden_session; no automatic return and no SnapshotHandCarry; public bind is opt-in; MagicDNS is not resolved;mn_tip_is not federated; version cache default 15s; empty-paren edge delete is an engine lower, not rewritten; sessions opened outside this gateway are not adopted.