
Security News
Ruby's Bundler 4.0.18 Extends Cooldown to bundle lock and bundle cache
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.
@marrowid/cli
Advanced tools
Use the Marrow CLI to add records, run queries, manage API keys, and start MCP
over stdio. Connect remote-capable MCP clients directly to
https://mcp.marrow.id; use marrow mcp when a client requires a local stdio
server. Version 1.0.11 uses separate credentials for account and product work:
MARROW_API_KEY authorizes product commands and local MCP;The CLI runs inside a trusted application process. Keep returned text as data
and preserve citations, warnings, and insufficient_evidence when another
model consumes it. See the OpenAPI document and the
Native Memory API.
Install CLI version 1.0.11 with Node.js 20 or newer:
npm install -g @marrowid/cli@1.0.11
npm exec --package @marrowid/cli@1.0.11 -- marrow --version
marrow --version
marrow --help
If an older global binary is already on PATH, the npm exec check verifies
1.0.11 independently before you replace the global install.
Create the local config, set only the defaults you need, then inspect the local setup without making a network request:
marrow init
marrow config --workspace default
marrow doctor
marrow init and marrow config write only the API base URL and workspace
default. marrow doctor reports package, platform, config permissions,
and whether MARROW_API_KEY is present. It reports presence, never the key.
An upgraded client that finds a legacy plaintext apiKey refuses every network
request. Set MARROW_API_KEY through your shell, process manager, or secret
store; the next network command removes only the legacy key field atomically and
preserves the non-secret defaults.
| Task | Credential | Storage |
|---|---|---|
| Product ingest, query, and native memory commands | Customer API key | MARROW_API_KEY in the process environment |
| Local stdio MCP | Customer API key | Inherited MARROW_API_KEY; never MCP JSON |
| Hosted MCP | Interactive authorization or customer API key | MCP client's protected credential store |
| API-key create, rotate, revoke, and list | CLI account session | macOS Keychain |
| Browser account and billing work | Browser session | Marrow Console |
Customer API keys are for apps and automation, not for signing in to this local CLI.
Device sign-in is available on macOS in version 1.0.11:
marrow auth login
marrow auth status
The browser flow must show the account, short code, expiry, and consequence
before deliberate approval. Login or signup alone does not approve a device.
Linux and Windows reject marrow auth login before sending a device request;
use the Console for account management and an environment customer key for
product commands and local MCP.
Sign out the device when it should no longer manage the account:
marrow auth logout
Logout clears the CLI session. It does not revoke or rotate customer API keys.
Product commands require MARROW_API_KEY. Preview a source before writing:
marrow ingest url https://example.com/onboarding-note --dry-run --dated-at 2026-05-16
marrow ingest file ./onboarding.md --dry-run --dated-at 2026-05-16
Submit it when the preview is correct:
marrow ingest url https://example.com/onboarding-note --dated-at 2026-05-16 --idempotency-key onboarding-note-2026-05-16
marrow ingest file ./onboarding.md --dated-at 2026-05-16 --idempotency-key onboarding-file-2026-05-16
Use the authored, published, or otherwise relevant date. A live submission
requires a caller-owned idempotency key between 8 and 160 characters. Reuse the
same key when retrying the same submission; use a new key for a different
source or changed content. Dry-runs may omit it. Poll the returned job until it
reaches succeeded, failed, or quarantined:
marrow ingest jobs list --limit 5
marrow ingest jobs show <job-id>
Ask one concrete question after processing succeeds:
marrow query "What should this workflow remember about onboarding?" \
--mode answer \
--preset accuracy
The response includes citations, source labels, excerpts, and warnings. If
Marrow returns insufficient_evidence, add relevant material or continue
without Marrow.
Native workspace, peer, session, claim, event, and queue commands use the same
environment customer key. Use each command's --help option for its exact
arguments.
With an active CLI account session:
marrow api-keys list
marrow api-keys create --name "Production app"
marrow api-keys create --name "Query only" --scope query
marrow api-keys create --name "Memory app" --scope ingest --scope query --scope memory.read --scope memory.write
marrow api-keys rotate <key-id>
marrow api-keys revoke <key-id>
Omit scope flags for the ingest,query default. Available scopes are ingest,
query, memory.read, and memory.write. Create and rotate show a new secret
once; list and revoke never reveal it.
Connect remote-capable clients to:
https://mcp.marrow.id
People can use interactive authorization to connect an MCP client to their Marrow account. A server-managed client can use an API key with the required memory scopes. Connected applications remain visible and revocable in Console.
Use marrow mcp when the MCP client requires a local stdio server. It connects
to the same Marrow account and exposes the same 14 tools as Hosted MCP.
marrow mcp is the shipped local newline-delimited JSON-RPC entrypoint over
stdio. Start the MCP client from a process that already inherits
MARROW_API_KEY; do not paste a key into MCP client JSON.
marrow mcp
The server exposes 14 tools for query, peer, session, claim, event, queue, and
representation workflows. The canonical query tool requires query;
native-memory reads require memory.read; writes require memory.write.
Wrong-scope and revoked-key errors are returned to the client. See the
MCP tool table and the short
coding-agent prompt.
The local MCP server and tool schemas are available with the CLI. Calls to
native memory remain scoped by memory.read and memory.write.
Human-readable output is the default. Use --json only when automation needs a
stable structured response.
MARROW_API_KEY in the invoking process.--idempotency-key <key>, or use
--dry-run while previewing.marrow doctor; it performs no network request.Proprietary. UNLICENSED means the package is a distribution channel, not an
open-source grant.
FAQs
Marrow CLI and local MCP for carrying context across apps and agents.
We found that @marrowid/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.