Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ stance.

Two acquisition modes, both behind one API:

1. Sidecar (default feature): download the platform's .mcpb at first run,
verify sha256 against pins baked into the crate, cache, spawn over stdio
1. Sidecar (default feature): resolve the latest stackql release, download
the platform's .mcpb at first run, verify sha256 against the release's
.sha256 asset (or the pins baked into the crate for
BundleVersion::Pinned), cache, spawn over stdio
2. Vendored (`vendored` feature): caller embeds the binary with
`include_bytes!` (we provide the macro/helper + extract-on-first-run) -
the single-shippable-binary story for compiled agent apps
Expand All @@ -27,17 +29,20 @@ justify anything beyond that.

Source of truth: stackql/stackql-mcpb-packaging (the packaging repo).

- Per-version sha256 pins from the release .sha256 assets (a consolidated
platforms.json release asset is planned - prefer it once present); pins
are baked at crate build/render time like npm's platforms.json
- Default release is latest: resolved at start-up from
github.com/stackql/stackql/releases/latest and verified against that
release's .sha256 asset (a consolidated platforms.json release asset is
planned - prefer it once present). Per-version sha256 pins are still
baked into the crate for BundleVersion::Pinned and as the offline
fallback; STACKQL_MCP_VERSION=latest|pinned|<version> overrides
- Canonical launch args (cwd-independence mandatory):
`mcp --mcp.server.type=stdio --approot <home>/.stackql
--mcp.config {"server": {"mode": "<mode>", "audit": {"disabled": true}}}`
- Default `read_only`; escalation is explicit caller opt-in
- Shared binary cache: `~/.stackql/mcp-server-bin/<version>/<platform-key>/`
(same as npm/pypi wrappers - check before downloading)
- Platform keys: linux-x64, linux-arm64, windows-x64, darwin-universal
- Env overrides honored: STACKQL_MCP_BIN, STACKQL_MCP_BUNDLE
- Env overrides honored: STACKQL_MCP_BIN, STACKQL_MCP_BUNDLE, STACKQL_MCP_VERSION
- Conformance: packaging repo's scripts/smoke-test.py --cmd must pass
against the crate's example launcher; port the same checks to Rust tests

Expand Down
Loading