i4ctime avatar

q-ring

i4ctime/q-ring

This is a secure credential manager that plugs your OS keychain directly into Claude and other AI coding tools through 44 MCP tools. Instead of pasting API keys into .env files, you store them with qring's CLI and the AI can read them at runtime. The quantum metaphors are real features: superposition lets one key hold dev/staging/prod values that collapse based on context, entanglement links secrets across projects for synchronized rotation, and tunneling creates ephemeral in-memory tokens that self-destruct after N reads. You also get audit logs with tamper detection, TTL-based secret expiry, and AES-256-GCM encrypted bundles for sharing credentials between machines. Useful if you're tired of committing secrets or want fine-grained control over what your AI agent can access.

GitHub stars
5
tools
46
auth
Secret needed
transport
STDIO
env vars
4
last updated
Nov 12, 2026

Tools

46 tools

Public tool metadata for what this MCP can expose to an agent.

get_secretRead a secret value (collapses superposition, audits the read)

Read a secret value (collapses superposition, audits the read)

No parameter schema in public metadata yet.

list_secretsList keys + metadata in scope (values never exposed); filter by tag, expiry, glob

List keys + metadata in scope (values never exposed); filter by tag, expiry, glob

No parameter schema in public metadata yet.

set_secretCreate or overwrite a single secret with optional TTL, per-env state, tags, rotation format

Create or overwrite a single secret with optional TTL, per-env state, tags, rotation format

No parameter schema in public metadata yet.

promote_secretCopy one secret's value from one environment state to another (no-op when equal; `force` to overwrite a differing target)

Copy one secret's value from one environment state to another (no-op when equal; `force` to overwrite a differing target)

No parameter schema in public metadata yet.

diff_environmentsCompare two environments key by key — same / different / only-a / only-b / collapsed; statuses only, never values

Compare two environments key by key — same / different / only-a / only-b / collapsed; statuses only, never values

No parameter schema in public metadata yet.

delete_secretPermanently remove a secret value (not undoable from q-ring)

Permanently remove a secret value (not undoable from q-ring)

No parameter schema in public metadata yet.

has_secretBoolean existence check that respects decay (no audit read)

Boolean existence check that respects decay (no audit read)

No parameter schema in public metadata yet.

export_secretsRender multiple secrets as `.env` or JSON for one-off export (skips approval-protected keys without a grant)

Render multiple secrets as `.env` or JSON for one-off export (skips approval-protected keys without a grant)

No parameter schema in public metadata yet.

import_dotenvParse `.env` text and bulk-store every key/value pair (accepts raw content only — never reads files)

Parse `.env` text and bulk-store every key/value pair (accepts raw content only — never reads files)

No parameter schema in public metadata yet.

check_projectCompare `.q-ring.json` manifest against the keyring for missing/expired/stale keys

Compare `.q-ring.json` manifest against the keyring for missing/expired/stale keys

No parameter schema in public metadata yet.

env_generateRender a complete `.env` body from the project manifest, with warnings for gaps

Render a complete `.env` body from the project manifest, with warnings for gaps

No parameter schema in public metadata yet.

inspect_secretShow metadata for one key (states, decay, entanglement, access count) without revealing the value

Show metadata for one key (states, decay, entanglement, access count) without revealing the value

No parameter schema in public metadata yet.

detect_environmentResolve which env slug should drive superposition collapse for the current context

Resolve which env slug should drive superposition collapse for the current context

No parameter schema in public metadata yet.

generate_secretGenerate a CSPRNG-backed value in a chosen format and optionally store it

Generate a CSPRNG-backed value in a chosen format and optionally store it

No parameter schema in public metadata yet.

entangle_secretsLink two keys so future writes/rotations propagate the same value

Link two keys so future writes/rotations propagate the same value

No parameter schema in public metadata yet.

disentangle_secretsBreak the sync link between two keys (does not delete values)

Break the sync link between two keys (does not delete values)

No parameter schema in public metadata yet.

tunnel_createStash a value in process memory and return an opaque ID (never touches disk)

Stash a value in process memory and return an opaque ID (never touches disk)

No parameter schema in public metadata yet.

tunnel_readFetch a tunneled value by ID — may self-destruct on read

Fetch a tunneled value by ID — may self-destruct on read

No parameter schema in public metadata yet.

tunnel_listEnumerate active tunnels with remaining read budget and TTL (IDs only)

Enumerate active tunnels with remaining read budget and TTL (IDs only)

No parameter schema in public metadata yet.

tunnel_destroyImmediately remove a tunnel from memory before its TTL/reads run out

Immediately remove a tunnel from memory before its TTL/reads run out

No parameter schema in public metadata yet.

teleport_packEncrypt selected secrets into a passphrase-protected AES-256-GCM bundle

Encrypt selected secrets into a passphrase-protected AES-256-GCM bundle

No parameter schema in public metadata yet.

teleport_unpackDecrypt a teleport bundle and import each secret (with optional dry-run)

Decrypt a teleport bundle and import each secret (with optional dry-run)

No parameter schema in public metadata yet.

validate_secretHit the upstream service (OpenAI/Stripe/GitHub/AWS/HTTP) to confirm a single key is still live

Hit the upstream service (OpenAI/Stripe/GitHub/AWS/HTTP) to confirm a single key is still live

No parameter schema in public metadata yet.

list_providersEnumerate built-in validation providers and their auto-detect prefixes

Enumerate built-in validation providers and their auto-detect prefixes

No parameter schema in public metadata yet.

register_hookRegister a shell/HTTP/signal side-effect that fires on write/delete/rotate

Register a shell/HTTP/signal side-effect that fires on write/delete/rotate

No parameter schema in public metadata yet.

list_hooksShow every registered hook with match criteria, type, and enabled flag

Show every registered hook with match criteria, type, and enabled flag

No parameter schema in public metadata yet.

remove_hookDetach a single hook by ID without touching any secrets

Detach a single hook by ID without touching any secrets

No parameter schema in public metadata yet.

exec_with_secretsRun a child command with secrets injected as env vars and any leaked values redacted from output

Run a child command with secrets injected as env vars and any leaked values redacted from output

No parameter schema in public metadata yet.

scan_codebase_for_secretsWalk a directory tree and flag hardcoded secrets via regex + entropy heuristics

Walk a directory tree and flag hardcoded secrets via regex + entropy heuristics

No parameter schema in public metadata yet.

lint_filesInspect a specific file list for hardcoded secrets with optional auto-fix to `process.env.KEY`

Inspect a specific file list for hardcoded secrets with optional auto-fix to `process.env.KEY`

No parameter schema in public metadata yet.

get_project_contextSingle redacted snapshot of secrets, env, manifest, hooks, and recent audit activity

Single redacted snapshot of secrets, env, manifest, hooks, and recent audit activity

No parameter schema in public metadata yet.

agent_rememberPersist a non-secret note in encrypted agent memory across sessions

Persist a non-secret note in encrypted agent memory across sessions

No parameter schema in public metadata yet.

agent_recallRead a memory value, or list every stored key when no key is supplied

Read a memory value, or list every stored key when no key is supplied

No parameter schema in public metadata yet.

agent_forgetPermanently delete a key from agent memory

Permanently delete a key from agent memory

No parameter schema in public metadata yet.

analyze_secretsUsage profile: most-accessed, stale, never-accessed, no-rotation candidates

Usage profile: most-accessed, stale, never-accessed, no-rotation candidates

No parameter schema in public metadata yet.

audit_logQuery the tamper-evident audit log filtered by key, action, and limit

Query the tamper-evident audit log filtered by key, action, and limit

No parameter schema in public metadata yet.

detect_anomaliesSurface burst-read and off-hours findings from audit history

Surface burst-read and off-hours findings from audit history

No parameter schema in public metadata yet.

verify_audit_chainRecompute the audit hash chain and report the first break point if tampered

Recompute the audit hash chain and report the first break point if tampered

No parameter schema in public metadata yet.

export_auditExport audit events as jsonl, json, or csv for archival/SIEM

Export audit events as jsonl, json, or csv for archival/SIEM

No parameter schema in public metadata yet.

health_checkRead-only scope sweep: decay/stale/expired counts plus current anomalies

Read-only scope sweep: decay/stale/expired counts plus current anomalies

No parameter schema in public metadata yet.

status_dashboardStart a local SSE dashboard with live KPIs, secrets, hooks, and audit feed (returns a token-gated `127.0.0.1` URL)

Start a local SSE dashboard with live KPIs, secrets, hooks, and audit feed (returns a token-gated `127.0.0.1` URL)

No parameter schema in public metadata yet.

agent_scanMulti-project health pass with optional `autoRotate` for expired secrets

Multi-project health pass with optional `autoRotate` for expired secrets

No parameter schema in public metadata yet.

check_policyDry-run a tool/key/exec action against `.q-ring.json` policy without performing it

Dry-run a tool/key/exec action against `.q-ring.json` policy without performing it

No parameter schema in public metadata yet.

get_policy_summaryHigh-level overview of policy rule counts and approval/rotation requirements

High-level overview of policy rule counts and approval/rotation requirements

No parameter schema in public metadata yet.

rotate_secretAsk the upstream provider to issue a new credential and store it back in the keyring

Ask the upstream provider to issue a new credential and store it back in the keyring

No parameter schema in public metadata yet.

ci_validate_secretsBatch-validate every accessible secret in scope and return a structured pass/fail report

Batch-validate every accessible secret in scope and return a structured pass/fail report

No parameter schema in public metadata yet.

Sponsors

Configuration

QRING_BACKENDdefault: keyring

Secret storage backend. Defaults to the OS keychain; set to "file" for headless hosts with no Secret Service (CI, containers).

QRING_FILE_PASSPHRASEsecret

Passphrase for the encrypted file backend (AES-256-GCM). Required only when QRING_BACKEND=file — without it the file backend fails closed.

QRING_FILE_BACKEND_PATH

Custom path for the encrypted file store (default: ~/.config/q-ring/file-backend.enc).

QRING_CONFIG_DIR

Directory for q-ring's registries — hooks, entanglement, approvals, canary webhooks, agent memory (default: ~/.config/q-ring).

Readme

q-ring

OS keychain secrets for AI coding agents, over MCP.

Website: qring.i4c.studio


View the full README on GitHub

Details

Repository
github.com/i4ctime/q-ring
Website
qring.i4c.studio
Package
@i4ctime/q-ring
Transport
STDIO
Auth
Required
Registry
MCP registry, active