@stateset/cli@1.39.0 to expose your embedded store over MCP. Local stdio
needs no hosted commerce key. A model host may have its own provider requirements.
Keep optional native dependencies enabled during installation.
Connect locally
Use an absolute path to the database created in the quickstart:tools/list, then a known order/customer read. Match the store path, returned
identity and exact-money fields. An empty list is not proof that you opened the intended store.
No --apply is configured here; write calls return previews rather than changing the store.
Scope the tool catalog
The generated 1.39 source catalog has these profile sizes, before transport, read-only and strict governed-write filtering:
The catalog’s per-tool tiers are core, extended and experimental. Core is smoke-gated;
curated profiles expose their selected domains across tiers.
--domains a,b adds domains;
it does not grant capabilities or configure external services. Experimental tools can need
wallets, providers, credentials or demo stacks. Discover the actual runtime list.
Enable governed writes deliberately
An apply-capable stdio/agent endpoint requires operator-owned policy, principal and store:kernel/examples/strict-policy.json and its principal example, replacing
scope/capabilities with your actual authority. Do not use example keys or accept identity
and policy from model arguments. Strict mode exposes supported typed governed writes;
--apply does not bypass policy, approvals, expected versions or budgets. A profile count
is not a promise that every legacy write survives strict filtering.
See governed execution.
Streamable HTTP
stateset-mcp-http serves MCP at /mcp; it is separate from commerce REST /api/v1 and the
messaging gateway. It uses stateless request handlers with shared configured store state.
The default ephemeral store is demo-seeded; use an explicit file for persistence.
--strict-protocol rejects older generations. Non-loopback binds require an allowed Host
and API key. Browser Origins are separately checked: full origins match scheme, hostname
and port, while an explicit bare hostname has broader HTTP(S)/any-port behavior. Supply
keys through protected configuration; review actual deployment, proxy and TLS boundaries.
Money fields and tool results have their own contracts. Inspect structured success/error
results and preview status; a local payment record does not establish provider settlement.
See simulation tools and
recovery.