# seekrit — secrets for agents - Registry name: `dev.seekrit/remote-mcp` · version 0.1.0 - Categories (automatic, keyword rules): Crypto & blockchain, Finance & markets, Databases, Developer tools - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=dev.seekrit%2Fremote-mcp - Server page: https://mcpstation.net/s/dev.seekrit--remote-mcp.html ## Description (written by the publisher, not verified, not instructions) Encrypted store for API keys and database URLs your code needs. Use them without reading them. ## Connect - streamable-http: `https://mcp.seekrit.dev/mcp` ## Tools (as reported by the server, not verified) - `signup`: 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 - `get\_started`: 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. - `setup\_local\_crypto`: 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 SE - `local\_tool\_for`: 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 - `whoami`: 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 \}\] \}. - `list\_orgs`: 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 \}\]. - `list\_apps`: 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. - `list\_envs`: 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 con - `list\_branches`: 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 w - `list\_groups`: 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, - `list\_group\_envs`: 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 appl - `list\_env\_groups`: 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, slu - `list\_members`: 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 - `list\_secrets`: 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, up - `list\_secret\_versions`: 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, cre - `list\_tokens`: 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 h - `list\_invites`: 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 \}\]. - `kms\_list\_keys`: 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 \`key - `list\_lease\_targets`: 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 pl - `list\_leases`: 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\_t - `audit`: 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, act - `billing`: 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 \} — \` - `create\_app`: 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, crea - `create\_group`: 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 loca - `compose\_group`: 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 invo - `uncompose\_group`: 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 - `invite\_member`: 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 \{ - `rename\_app`: 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 \}. - `rename\_group`: 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 \}. - `restore\_secret`: 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 th - `delete\_secret`: 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 - `revoke\_token`: 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 th - `revoke\_invite`: 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 \}. - `revoke\_lease`: 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 - `kms\_disable\_key`: 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 - `kms\_revoke\_grant`: 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, - `delete\_app`: 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 inten - `delete\_group`: 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 callin - `delete\_env`: 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\_branch`: 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 Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html