jacs-cli
CLI and built-in MCP server for JACS: cryptographic identity, signing, and verification for agents and artifacts.
Or via Homebrew:
This installs the jacs binary with the CLI and stdio MCP server built in.
Quick start
Provenance commands
JSON and files
Markdown and text
# Append a YAML-bodied JACS signature block at the end of the file.
# Another agent can counter-sign the same content.
# Permissive verify: 0 valid, 1 invalid, 2 missing signature.
# Strict mode treats a missing signature as failure.
# Override trust store with <signer_id>.public.pem files.
Images
# Embed signature in PNG iTXt, JPEG APP11, or WebP XMP.
# Refuse to overwrite an existing image signature.
# Extract the embedded payload; this does not verify it.
JACS proves that an agent signed specific canonical bytes at its claimed time. It does not prove first creation or legal ownership.
W3C DID interop
# Export a did:wba identifier while keeping jacsId as the canonical JACS ID.
# Generate the DID document, agent description, and discovery collection.
# Local demo server for the generated discovery documents.
# Request-bound DID auth proof demo.
The W3C view is additive: jacsId remains the canonical JACS document identity, and DID documents are generated from the same agent key material.
For an executable end-to-end example that exports discovery artifacts, signs a request-bound DID proof, and verifies both success and failure cases, run examples/w3c_did_interop.sh from the repository root.
MCP server
The MCP server uses stdio transport only. It runs as a subprocess of your MCP client, holds the private key locally, and opens no HTTP port.
Configure in your MCP client:
For headless/server environments:
Links
v0.11.3 | Apache-2.0