Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

seekrit — secrets for agents

REMOTE · MCP.SEEKRIT.DEV · SCANNED SEP 25

Encrypted store for API keys and database URLs your code needs. Use them without reading them.

Available components

0 this week 74 Trust /100

Recent critical change

Authorization (30 Jul 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security46
Transport & Reachability100
Schema Quality & AI Usability73
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 7303 tokens (~182/item across 40 items; 40 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 10 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 41 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the seekrit — secrets for agents MCP server?

seekrit — secrets for agents is a hosted endpoint at https://mcp.seekrit.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.seekrit.dev

# add to Claude Code
claude mcp add --transport http dev-seekrit-remote-mcp 'https://mcp.seekrit.dev/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "dev-seekrit-remote-mcp": {
      "url": "https://mcp.seekrit.dev/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "dev-seekrit-remote-mcp": {
      "type": "http",
      "url": "https://mcp.seekrit.dev/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.dev-seekrit-remote-mcp]
url = "https://mcp.seekrit.dev/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-seekrit-remote-mcp": {
      "type": "remote",
      "url": "https://mcp.seekrit.dev/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add dev-seekrit-remote-mcp --url 'https://mcp.seekrit.dev/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  dev-seekrit-remote-mcp:
    url: "https://mcp.seekrit.dev/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "dev-seekrit-remote-mcp": {
      "Transport": "http",
      "Url": "https://mcp.seekrit.dev/mcp"
    }
  }
}
# add to Vellum
assistant mcp add dev-seekrit-remote-mcp -t streamable-http -u 'https://mcp.seekrit.dev/mcp'
// mcp.json
{
  "mcpServers": {
    "dev-seekrit-remote-mcp": {
      "type": "http",
      "url": "https://mcp.seekrit.dev/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 21 Sept 26 0
    • Tool “delete_secret” rewrote its description, which is the text the model reads security
  • 10 Sept 26 +2
    • MCP protocol: fail → pass ▲ functional
    • MCP protocol version: 2025-06-18 → 2025-11-25 functional
  • 2 Sept 26 +2
    • Tool “audit” rewrote its description, which is the text the model reads security
    • Tool “billing” rewrote its description, which is the text the model reads security
    • Tool “compose_group” rewrote its description, which is the text the model reads security
    • Tool “create_app” rewrote its description, which is the text the model reads security
    • Tool “create_group” rewrote its description, which is the text the model reads security
    • Tool “delete_app” rewrote its description, which is the text the model reads security
    • Tool “delete_branch” rewrote its description, which is the text the model reads security
    • Tool “delete_env” rewrote its description, which is the text the model reads security
    • Tool “delete_group” rewrote its description, which is the text the model reads security
    • Tool “delete_secret” rewrote its description, which is the text the model reads security
    • Tool “get_started” rewrote its description, which is the text the model reads security
    • Tool “invite_member” rewrote its description, which is the text the model reads security
    • Tool “kms_disable_key” rewrote its description, which is the text the model reads security
    • Tool “kms_list_keys” rewrote its description, which is the text the model reads security
    • Tool “kms_revoke_grant” rewrote its description, which is the text the model reads security
    • Tool “list_apps” rewrote its description, which is the text the model reads security
    • Tool “list_branches” rewrote its description, which is the text the model reads security
    • Tool “list_env_groups” rewrote its description, which is the text the model reads security
    • Tool “list_envs” rewrote its description, which is the text the model reads security
    • Tool “list_group_envs” rewrote its description, which is the text the model reads security
    • Tool “list_groups” rewrote its description, which is the text the model reads security
    • Tool “list_invites” rewrote its description, which is the text the model reads security
    • Tool “list_lease_targets” rewrote its description, which is the text the model reads security
    • Tool “list_leases” rewrote its description, which is the text the model reads security
    • Tool “list_members” rewrote its description, which is the text the model reads security
    • Tool “list_orgs” rewrote its description, which is the text the model reads security
    • Tool “list_secret_versions” rewrote its description, which is the text the model reads security
    • Tool “list_secrets” rewrote its description, which is the text the model reads security
    • Tool “list_tokens” rewrote its description, which is the text the model reads security
    • Tool “local_tool_for” rewrote its description, which is the text the model reads security
    • Tool “rename_app” rewrote its description, which is the text the model reads security
    • Tool “rename_group” rewrote its description, which is the text the model reads security
    • Tool “restore_secret” rewrote its description, which is the text the model reads security
    • Tool “revoke_invite” rewrote its description, which is the text the model reads security
    • Tool “revoke_lease” rewrote its description, which is the text the model reads security
    • Tool “revoke_token” rewrote its description, which is the text the model reads security
    • Tool “setup_local_crypto” rewrote its description, which is the text the model reads security
    • Tool “signup” rewrote its description, which is the text the model reads security
    • Tool “uncompose_group” rewrote its description, which is the text the model reads security
    • Tool “whoami” rewrote its description, which is the text the model reads security
    • Schema quality: pass → fail ▼ functional
    • Tool coverage: 8% → 100% ▲ functional
    • “audit” reworded the description of “action” cosmetic
    • “audit” reworded the description of “limit” cosmetic
    • “audit” reworded the description of “org” cosmetic
    • “billing” reworded the description of “org” cosmetic
    • “compose_group” reworded the description of “app” cosmetic
    • “compose_group” reworded the description of “env” cosmetic
    • “compose_group” reworded the description of “group” cosmetic
    • “compose_group” reworded the description of “org” cosmetic
    • “compose_group” reworded the description of “position” cosmetic
    • “create_app” reworded the description of “name” cosmetic
    • “create_app” reworded the description of “org” cosmetic
    • “create_app” reworded the description of “slug” cosmetic
    • “create_group” reworded the description of “name” cosmetic
    • “create_group” reworded the description of “org” cosmetic
    • “create_group” reworded the description of “slug” cosmetic
    • “delete_app” reworded the description of “app” cosmetic
    • “delete_app” reworded the description of “org” cosmetic
    • “delete_branch” reworded the description of “app” cosmetic
    • “delete_branch” reworded the description of “branch” cosmetic
    • “delete_branch” reworded the description of “org” cosmetic
    • “delete_env” reworded the description of “app” cosmetic
    • “delete_env” reworded the description of “env” cosmetic
    • “delete_env” reworded the description of “org” cosmetic
    • “delete_group” reworded the description of “group” cosmetic
    • “delete_group” reworded the description of “org” cosmetic
    • “delete_secret” reworded the description of “app” cosmetic
    • “delete_secret” reworded the description of “env” cosmetic
    • “delete_secret” reworded the description of “name” cosmetic
    • “delete_secret” reworded the description of “org” cosmetic
    • “invite_member” reworded the description of “email” cosmetic
    • “invite_member” reworded the description of “org” cosmetic
    • “invite_member” reworded the description of “role” cosmetic
    • “kms_disable_key” reworded the description of “keyId” cosmetic
    • “kms_disable_key” reworded the description of “org” cosmetic
    • “kms_list_keys” reworded the description of “org” cosmetic
    • “kms_revoke_grant” reworded the description of “keyId” cosmetic
    • “kms_revoke_grant” reworded the description of “org” cosmetic
    • “kms_revoke_grant” reworded the description of “principalId” cosmetic
    • “kms_revoke_grant” reworded the description of “principalType” cosmetic
    • “list_apps” reworded the description of “org” cosmetic
    • “list_branches” reworded the description of “app” cosmetic
    • “list_branches” reworded the description of “env” cosmetic
    • “list_branches” reworded the description of “org” cosmetic
    • “list_env_groups” reworded the description of “app” cosmetic
    • “list_env_groups” reworded the description of “env” cosmetic
    • “list_env_groups” reworded the description of “org” cosmetic
    • “list_envs” reworded the description of “app” cosmetic
    • “list_envs” reworded the description of “org” cosmetic
    • “list_group_envs” reworded the description of “group” cosmetic
    • “list_group_envs” reworded the description of “org” cosmetic
    • “list_groups” reworded the description of “org” cosmetic
    • “list_invites” reworded the description of “org” cosmetic
    • “list_lease_targets” reworded the description of “org” cosmetic
    • “list_leases” reworded the description of “org” cosmetic
    • “list_members” reworded the description of “org” cosmetic
    • “list_secret_versions” reworded the description of “app” cosmetic
    • “list_secret_versions” reworded the description of “env” cosmetic
    • “list_secret_versions” reworded the description of “limit” cosmetic
    • “list_secret_versions” reworded the description of “name” cosmetic
    • “list_secret_versions” reworded the description of “org” cosmetic
    • “list_secrets” reworded the description of “app” cosmetic
    • “list_secrets” reworded the description of “env” cosmetic
    • “list_secrets” reworded the description of “org” cosmetic
    • “list_tokens” reworded the description of “org” cosmetic
    • “local_tool_for” reworded the description of “operation” cosmetic
    • “rename_app” reworded the description of “app” cosmetic
    • “rename_app” reworded the description of “name” cosmetic
    • “rename_app” reworded the description of “org” cosmetic
    • “rename_group” reworded the description of “group” cosmetic
    • “rename_group” reworded the description of “name” cosmetic
    • “rename_group” reworded the description of “org” cosmetic
    • “restore_secret” reworded the description of “app” cosmetic
    • “restore_secret” reworded the description of “env” cosmetic
    • “restore_secret” reworded the description of “name” cosmetic
    • “restore_secret” reworded the description of “org” cosmetic
    • “restore_secret” reworded the description of “version” cosmetic
    • “revoke_invite” reworded the description of “inviteId” cosmetic
    • “revoke_invite” reworded the description of “org” cosmetic
    • “revoke_lease” reworded the description of “leaseId” cosmetic
    • “revoke_lease” reworded the description of “org” cosmetic
    • “revoke_token” reworded the description of “org” cosmetic
    • “revoke_token” reworded the description of “tokenId” cosmetic
    • “uncompose_group” reworded the description of “app” cosmetic
    • “uncompose_group” reworded the description of “env” cosmetic
    • “uncompose_group” reworded the description of “group” cosmetic
    • “uncompose_group” reworded the description of “org” cosmetic
  • 29 Aug 26 0
    • Stability: 0.97 → pass security
  • 28 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 25 Sept 2026 · Probed https://mcp.seekrit.dev/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=seekrit.dev CN=WE1,O=Google Trust Services,C=US 17 Sept 2026 16 Dec 2026 ECDSA 256 ECDSA-SHA256 80f570e0d0fb13b113055c82e5a0d3b4
SANs: seekrit.dev, mcp.seekrit.dev, *.mcp.seekrit.dev
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.seekrit.dev. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
dev. present 60074 8 Verified
seekrit.dev. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.seekrit.dev/mcp Verified 200
http (plaintext) http://mcp.seekrit.dev/mcp Inconclusive 406
MCP tools · 40 exposed · ~6,877 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
audit ~203

Read the organization's append-only audit trail, most recent first — every mutation across apps, environments, secrets, members, and tokens. Use it to answer "what changed and who did it"; for one secret's history specifically, list_secret_versions is narrower and cheaper. Returns [{ id, action, actorType, actorId, resourceType, resourceId, metadata, ipAddress, createdAt }].

NameTypeReqDescription
actionstring–Exact action name to filter by, e.g. "secret.updated" or "app.deleted". Omit for every action. Read the values off an unfiltered call rather than guessing.
limitinteger–How many entries to return, newest first. 1–200, default 50.
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

billing ~144

Show the org's plan, effective entitlements, current usage, and which upgrade actions are available. Read this if a create action was refused with a plan limit — it names the limit you hit and how to lift it. Returns { plan, subscription, promo, entitlements, usage, overrides, enforced, manage } — `enforced: false` means plan limits are not currently applied, and `manage` carries the upgrade paths.

NameTypeReqDescription
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

compose_group ~267

Compose a shared group into an application environment, so that environment resolves the group's secrets as well as its own. Safe to repeat — composing an already-composed group just updates its position. Use uncompose_group to undo, and list_env_groups to see the current order. No key material involved, so it runs here. Returns the composed { groupId, slug, name, position }.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
envstringyesEnvironment slug or id within that application, as returned by list_envs (e.g. "production").
groupstringyesShared-group slug or id, as returned by list_groups (e.g. "shared-datastores").
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…
positioninteger–Precedence among the environment's composed groups: on a name clash the HIGHER position wins, and the environment's own secrets beat every group. Omit to append at the end. Read the current order fro…

No output schema declared.

No examples provided.

create_app ~196

Create an application — the container that will own environments and secrets. This step needs no key material, so it runs here. Creating its environments does NOT: create_env mints a data key and lives on the local crypto plane (call setup_local_crypto). Returns the new { id, orgId, name, slug, createdAt }.

NameTypeReqDescription
namestringyesHuman-readable display name, e.g. "Acme Storefront". Can be renamed later.
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…
slugstringyesURL-safe identifier used by every other tool to refer to this app: lowercase letters, numbers, hyphens (e.g. "acme-storefront"). Immutable once created — choose it carefully.

No output schema declared.

No examples provided.

create_group ~203

Create a shared group — a reusable bag of secrets (a shared datastore, a vendor account) that many application environments compose in rather than each keeping a copy. Use create_app instead for a deployable service. No key material involved, so it runs here; the group's environments are minted locally by create_group_env. Returns the new { id, orgId, name, slug, createdAt }.

NameTypeReqDescription
namestringyesHuman-readable display name, e.g. "Shared Datastores". Can be renamed later.
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…
slugstringyesURL-safe identifier the other tools refer to this group by: lowercase letters, numbers, hyphens (e.g. "shared-datastores"). Immutable once created.

No output schema declared.

No examples provided.

delete_app ~155

Delete an application together with all of its environments and their secrets, discarding the ciphertext. Irreversible — there is no undo and no export. This is the widest-blast-radius tool here; prefer delete_env for a single environment, or rename_app if the name is the only problem. Confirm intent with a human before calling. Returns { ok, app }.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

delete_branch ~178

Tear down an ephemeral branch config and every value it overrode. The parent environment is untouched — only the branch's own overrides go — which makes this the routine cleanup when a PR merges. Irreversible; creating a branch mints a data key, so create_branch stays on the local crypto plane. Find the slug with list_branches. Returns { ok, branch }.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
branchstringyesBranch slug or id within the application, as returned by list_branches.
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

delete_env ~183

Delete one application environment and the secrets it owns, discarding the ciphertext. Irreversible, and the environment's data key goes with it — recreating the environment means setting every value again on the local crypto plane. Sibling environments and the application itself are untouched; use delete_app to remove all of them. Confirm intent before calling. Returns { ok, env }.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
envstringyesEnvironment slug or id within that application, as returned by list_envs (e.g. "production").
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

delete_group ~147

Delete a shared group together with its environments and their secrets, discarding the ciphertext. Irreversible. Every application environment that composed this group loses those names — check list_env_groups (or use uncompose_group) before deciding the group is unused. Confirm intent before calling. Returns { ok, group }.

NameTypeReqDescription
groupstringyesShared-group slug or id, as returned by list_groups (e.g. "shared-datastores").
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

delete_secret ~251

Delete a secret from an environment, discarding its ciphertext and every version. Irreversible — restore_secret CANNOT bring it back (that only rolls back within a surviving secret's history), and re-creating it means setting the value again on the local crypto plane. Prefer restore_secret to undo a bad write. Confirm intent before calling. Returns { ok, name } — or { ok, queued: true, changeRequestId } if the environment requires approval, in which case NOTHING was deleted until a human approves.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
envstringyesEnvironment slug or id within that application, as returned by list_envs (e.g. "production").
namestringyesThe secret's name — the variable name it is injected as, e.g. "DATABASE_URL". Names come from list_secrets; this is never a value.
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

get_started ~60

Read the recommended first-project recipe end to end: which steps run here and which need the local crypto plane. Takes no arguments and returns a prose walkthrough. Call this before provisioning anything — it is cheaper than discovering the plane boundary one failed tool at a time.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

invite_member ~216

Invite a human to the organization by email (admin only). They join at the given role once they sign in. Use this to hand a project off to a person — then grant them decryption with `grant_env` on the LOCAL crypto plane, since an invite alone conveys no ability to read values. Returns the pending { id, orgId, email, role, invitedById, createdAt }; revoke_invite cancels it.

NameTypeReqDescription
emailstringyesEmail address to invite. They receive an invitation and become a member on first sign-in; until then they appear in list_invites, not list_members.
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…
rolestring–Role granted on join. "member" (the default) can use the org; "admin" can also invite others and delete resources.

No output schema declared.

No examples provided.

kms_disable_key ~184

Disable a managed KMS key: new encrypt/sign operations are blocked, while data already encrypted under it stays decryptable locally by existing grantees. Reversible only by an operator re-enabling the key — there is no enable tool here. Use kms_revoke_grant instead to cut off ONE principal while the key stays in service. Find the id with kms_list_keys. Returns the updated key, with `disabledAt` now set.

NameTypeReqDescription
keyIdstringyesThe managed key's id, from kms_list_keys (the `id` field — `name` is a display label and is not accepted here).
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

kms_list_keys ~177

List the managed KMS keys the caller can see — symmetric and signing keys seekrit stores wrapped, for encrypting data outside the secret store. Metadata only: key material is fetched and used on the local crypto plane (kms_encrypt / kms_decrypt / kms_sign live there, not here). Use it to find a `keyId` for kms_disable_key or kms_revoke_grant. Returns [{ id, name, purpose, spec, currentVersion, applicationId, groupId, disabledAt, createdAt }] — a non-null `disabledAt` means the key is already disabled.

NameTypeReqDescription
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

kms_revoke_grant ~243

Revoke one principal's grant on a managed KMS key, across all its versions — that user or service token can no longer use the key, while everyone else keeps working. Use kms_disable_key instead to stop the key entirely. Removing a grant needs no key material, which is why it runs here. Returns { ok, keyId, principalId }.

NameTypeReqDescription
keyIdstringyesThe managed key's id, from kms_list_keys (the `id` field — `name` is a display label and is not accepted here).
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…
principalIdstringyesThe principal's id — a `userId` from list_members, or a token `id` from list_tokens, matching principalType.
principalTypestringyesWhat kind of principal to revoke: "user" for a human member (list_members) or "service_token" for a machine credential (list_tokens).

No output schema declared.

No examples provided.

list_apps ~123

List the applications in an organization — an application is the top-level container that owns environments, which in turn own secrets. Start here when you know the org but not the app slug the other tools need. Returns [{ id, orgId, name, slug, createdAt }]; use list_envs next to descend into one.

NameTypeReqDescription
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_branches ~212

List ephemeral branch configs (per-PR / preview environments) across an application, or just those forked from one environment. Names, parents, and expiry only — never values. Use it before delete_branch to find a branch slug, or to spot branches that have already expired. Returns Environment rows with `parentEnvironmentId` set: [{ id, name, slug, parentEnvironmentId, expiresAt, createdAt }] — `expiresAt` is null for a branch with no TTL.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
envstring–Optional environment slug or id to narrow to branches forked from that one environment. Omit to list every branch in the application.
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_env_groups ~179

List the shared groups composed INTO one application environment, in precedence order (higher position wins a name clash). Read this to explain where a secret name actually comes from, or to pick the next `position` for compose_group. The inverse direction of list_group_envs. Returns [{ groupId, slug, name, position }], highest position last.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
envstringyesEnvironment slug or id within that application, as returned by list_envs (e.g. "production").
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_envs ~180

List the environments an application owns (production, staging, …). Names and slugs only — never values. Use this to find the `env` slug that list_secrets and the delete/restore tools take. Returns [{ id, name, slug, applicationId, groupId, parentEnvironmentId, expiresAt, createdAt }]. Not to be confused with list_env_groups (which groups feed INTO an app environment) or list_group_envs (the environments of a shared GROUP).

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_group_envs ~178

List the environments belonging to one shared GROUP — a group holds a separate value set per slug, so its `production` differs from its `staging`. Use this when you already have a group and want its own environments; use list_envs for an application's, and list_env_groups to see which groups an application environment pulls from. Returns Environment rows with `groupId` set: [{ id, name, slug, groupId, createdAt }].

NameTypeReqDescription
groupstringyesShared-group slug or id, as returned by list_groups (e.g. "shared-datastores").
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_groups ~131

List the shared groups in an organization — a group is a reusable bag of secrets (a shared datastore, a vendor account) that many application environments can compose in rather than duplicating. Use it to find the `group` slug compose_group and list_group_envs take. Returns [{ id, orgId, name, slug, createdAt }]; not paginated.

NameTypeReqDescription
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_invites ~123

List invitations to the organization that have been sent but not yet accepted. Use it to confirm an invite_member call landed, or to find an `inviteId` for revoke_invite. Accepted invitations become members — see list_members. Returns [{ id, orgId, email, role, invitedById, createdAt }].

NameTypeReqDescription
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_lease_targets ~178

List the registered temporary-access targets — the databases (Postgres, MySQL, …) against which short-lived credentials can be minted on demand instead of storing a standing password. Use it to see what can be leased before minting one (create_pg_lease / create_mysql_lease run on the LOCAL crypto plane), and see list_leases for what has actually been issued. Returns [{ id, orgId, provider, name, config, createdAt }], where `provider` names the kind of target (postgres, mysql, …) and `config` is non-secret connection settings.

NameTypeReqDescription
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_leases ~170

List temporary-access leases that have been issued — the ledger of who got a short-lived credential against which target and until when. Never includes the credential itself. Use it to find a `leaseId` for revoke_lease, or to check whether a lease has already expired before revoking it; list_lease_targets shows what CAN be leased. Returns [{ id, targetId, provider, status, principalType, principalId, expiresAt, endedAt, endedReason, createdAt }] — only `status: "active"` leases are worth revoking.

NameTypeReqDescription
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_members ~149

List organization members with their public keys. The public keys are what you pass to `grant_env` on the LOCAL crypto plane to give a human the ability to decrypt — so call this when handing a project off to a person. Returns [{ userId, email, name, role, publicKeyJwk }]; `publicKeyJwk` is null for a member who has not finished key setup, and such a member cannot be granted decryption yet.

NameTypeReqDescription
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_orgs ~59

List the organizations this credential can access. Use it to find the `org` slug every other tool takes; prefer whoami if you also want to confirm which client you are. Returns [{ id, name, slug, role, createdAt }].

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_secret_versions ~246

List one secret's version history: who wrote each version, when, and which ones were restores. Metadata only — never values. Pair with restore_secret to undo a bad write: read the history here, then pass the version number you want back. Returns { currentVersion, versions: [{ version, createdAt, createdBy, restoredFromVersion }] }, newest first.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
envstringyesEnvironment slug or id within that application, as returned by list_envs (e.g. "production").
limitinteger–How many versions to return, newest first. 1–200, default 20.
namestringyesThe secret's name — the variable name it is injected as, e.g. "DATABASE_URL". Names come from list_secrets; this is never a value.
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_secrets ~175

List the secret NAMES and versions in an environment. NEVER returns values: this server cannot decrypt. Use it to discover which names exist before referencing them; to read a value, run the local crypto plane (see setup_local_crypto) — no tool here will ever return one. Returns [{ name, version, updatedAt }].

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
envstringyesEnvironment slug or id within that application, as returned by list_envs (e.g. "production").
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

list_tokens ~173

List an organization's service tokens — the long-lived credentials that let a deployed workload fetch secrets. Metadata only: the token strings are shown once at creation (on the local crypto plane) and are never retrievable here. Use it to find a `tokenId` for revoke_token, or to audit what still has access. Returns [{ id, name, role, environmentId, expiresAt, lastUsedAt, revokedAt, createdAt }] — `environmentId` is null for an org-admin token, and a non-null `revokedAt` means it is already revoked.

NameTypeReqDescription
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

local_tool_for ~143

Look up how to perform one crypto-plane operation locally — the targeted answer for "the tool I expected is not on this server". Returns { operation, where, how } for a known operation, or a note explaining the plane boundary for an unrecognised one. Use setup_local_crypto instead when you need the whole local setup rather than one command.

NameTypeReqDescription
operationstringyesThe tool name you were looking for, in snake_case as it appears on the local plane — e.g. "set_secret", "get_secret", "create_env", "create_token", "grant_env", "run_command". Unknown names return th…

No output schema declared.

No examples provided.

rename_app ~162

Change an application's display name. The slug is immutable — every other tool refers to the app by slug, so a rename breaks nothing. Use delete_app + create_app only if the slug itself must change. Returns the updated { id, orgId, name, slug, createdAt }.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
namestringyesThe new display name, e.g. "Acme Storefront (EU)".
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

rename_group ~151

Change a shared group's display name. The slug is immutable — references from composed environments are by slug, so a rename breaks nothing. Returns the updated { id, orgId, name, slug, createdAt }.

NameTypeReqDescription
groupstringyesShared-group slug or id, as returned by list_groups (e.g. "shared-datastores").
namestringyesThe new display name, e.g. "Shared Datastores (EU)".
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

restore_secret ~270

Roll a secret back to an earlier version — the undo for a bad write. The stored ciphertext is replayed as a NEW version, so history is append-only and nothing is overwritten. Read list_secret_versions first to choose the version. No decryption happens, which is why this works here and not only on the local crypto plane. Returns { ok, name, restoredFrom, version } where `version` is the new head.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
envstringyesEnvironment slug or id within that application, as returned by list_envs (e.g. "production").
namestringyesThe secret's name — the variable name it is injected as, e.g. "DATABASE_URL". Names come from list_secrets; this is never a value.
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…
versionintegeryesThe version number to restore, taken from list_secret_versions. Its ciphertext becomes a new version on top of history — the old version is not removed.

No output schema declared.

No examples provided.

revoke_invite ~126

Cancel a pending organization invitation before it is accepted. Use this for an invite sent in error; once someone has accepted, they are a member and this no longer applies. Find the id with list_invites. Returns { ok, inviteId }.

NameTypeReqDescription
inviteIdstringyesThe pending invitation's id, from list_invites.
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

revoke_lease ~164

Revoke a temporary-access lease now instead of waiting for it to expire — the leased database credential is dropped at the target immediately, so anything still holding it fails on its next connection. Irreversible: a new lease must be minted on the local crypto plane. Check list_leases first, since an already-expired lease needs no revoking. Returns { ok, leaseId }.

NameTypeReqDescription
leaseIdstringyesThe lease's id from list_leases (not the target's id — see list_lease_targets).
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

revoke_token ~158

Revoke a service token by id. Future key fetches by that token stop immediately, so any workload still using it loses access on its next read. If the holder may have cached the key already, also rotate the environment on the local crypto plane — revocation alone does not re-encrypt anything. Find the id with list_tokens. Returns { ok, tokenId }.

NameTypeReqDescription
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…
tokenIdstringyesThe token's id from list_tokens — not the token string, which is never stored.

No output schema declared.

No examples provided.

setup_local_crypto ~116

Get the exact commands for running the local crypto plane (the `@seekrit/mcp` npm server, the `@seekrit/cli` CLI, seekrit-run, seekrit-proxy), including a copy-paste .mcp.json that reuses this session's credential. Takes no arguments and returns prose plus config. Call this the moment you need to SET or READ a secret value — no tool on this server will ever return one. Use local_tool_for instead when you want the single command for one named operation.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

signup ~223

Create a seekrit workspace and your own machine credential — one call, no human, no browser. Binds the credential to this session, so every other tool works on your next call with no config change and no reconnect. Returns { org, credential: { clientId, clientSecret }, sessionBound, next }. Save the clientId + clientSecret: the secret is shown once, is not retrievable, and is how you reconnect later. Call this if a tool says you have no credential.

NameTypeReqDescription
clientNamestring–Optional label for this machine credential (defaults to <slug>-agent).
orgNamestringyesThe real project, product, or company this workspace is for (e.g. "Acme Storefront") — NOT a placeholder like "test" or "agent". A human will later claim the org by this name.
orgSlugstringyesURL-safe identifier derived from the project, lowercase letters/numbers/hyphens (e.g. "acme-storefront"). Throwaway slugs make the org unmanageable.

No output schema declared.

No examples provided.

uncompose_group ~209

Remove a composed group from an application environment. The group and its secrets are untouched — only the link is dropped — but the environment stops resolving every name it inherited from that group, which will break a workload still reading one. Check list_env_groups first, and use delete_group to destroy the group itself. Safe to repeat. Returns { ok: true }.

NameTypeReqDescription
appstringyesApplication slug or id, as returned by list_apps (e.g. "storefront").
envstringyesEnvironment slug or id within that application, as returned by list_envs (e.g. "production").
groupstringyesShared-group slug or id, as returned by list_groups (e.g. "shared-datastores").
orgstring–Organization slug or id. Omit it when the credential can reach exactly one org — that org is used automatically. With several, the error names every slug you may pass; list them yourself with list_or…

No output schema declared.

No examples provided.

whoami ~72

Show the authenticated machine client and the org it can access. Call this first: it confirms the credential works and tells you which org slug to pass (or that you can omit `org` entirely). Returns { kind, clientId, orgs: [{ id, name, slug, role, createdAt }] }.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Common questions

What is the seekrit — secrets for agents MCP server?

seekrit — secrets for agents is an MCP server listed in the public MCP registry as dev.seekrit/remote-mcp. Encrypted store for API keys and database URLs your code needs. Use them without reading them. This page covers its hosted endpoint (https://mcp.seekrit.dev/mcp).

Is the seekrit — secrets for agents MCP server safe to use?

seekrit — secrets for agents scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the seekrit — secrets for agents MCP server expose?

seekrit — secrets for agents exposes 40 tools: signup, get_started, setup_local_crypto, local_tool_for, whoami, and 35 more. Their descriptions and schemas cost roughly 6,877 tokens of context every time the server is loaded.

Does the seekrit — secrets for agents MCP server require authentication?

No. We connected to seekrit — secrets for agents without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the seekrit — secrets for agents MCP server still maintained?

seekrit — secrets for agents is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.