keymaster-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vault_statusB | Is the vault initialised/unlocked, how many credentials, approval mode, etc. |
| find_credentialsA | ALWAYS THE FIRST STEP when anything needs credentials — a login, an API call, a CLI or DB
that needs auth, a 2FA code, or the user asking for a password/token/key. Pass whatever you
have: a URL, hostname, name, alias or phrase ("https://ci.example.com/job/x", "jenkins",
"prod db", "aws sg"). Returns ranked matches, metadata only (secrets hidden), and flags
|
| list_credentialsA | List every stored credential (metadata only — names, types, usernames, URLs, aliases, tags, policies). Use this to answer "what creds / passwords / logins / keys do you have?". Optionally filter by type or tag. |
| get_credentialA | Get one credential by id, name, alias or URL. With reveal=true the raw secret values are
returned (subject to its policy — may pop an approval dialog for the user). Always give a
short |
| add_credentialA | Store a new credential. Keys the agent can later look it up by: |
| update_credentialA | Modify a credential. Only the arguments you pass change. To change the main secret use secret_source (prompt / clipboard / file / generate / value) — the previous value is kept in version history for rollback. Loosening the policy requires the user's approval. Use add_urls/add_aliases whenever you learn a new way the user refers to this credential. |
| delete_credentialA | Move a credential to the trash (recoverable with restore_credential). |
| restore_credentialB | Restore a credential from the trash. |
| list_trashB | List soft-deleted credentials. |
| purge_credentialA | Permanently destroy a trashed credential. Always requires the user's approval. |
| credential_historyA | Previous versions of a credential's secrets (values hidden) for auditing / rollback. |
| rollback_credentialA | Restore a credential's username+secrets to an earlier version (current one is kept in history). |
| http_requestA | Make an HTTP request authenticated with a stored credential, without exposing the secret. auth: auto (basic for user+password/user+token e.g. Jenkins; bearer for bare tokens), basic, bearer, none, header:, query:. Placeholders {{km.password}}, {{km.username}}, {{km.token}}, {{km.}} are substituted in url/headers/body. Only hosts registered on the credential are allowed (anti-exfiltration guard). Response body is scrubbed of the secret. |
| run_with_credentialA | Run a bash command with the credential injected as environment variables; stdout/stderr
are scrubbed of the secret (and its base64/url/hex encodings).
Always set: KM_NAME, KM_USERNAME, KM_SECRET (main secret), KM_ for every secret and
field (KM_PASSWORD, KM_TOKEN, KM_KEY, KM_HOST...), KM_URL, KM_BASIC_AUTH.
Type extras — aws: AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_SESSION_TOKEN/AWS_REGION;
database: PGHOST/PGPORT/PGUSER/PGPASSWORD/PGDATABASE/MYSQL_PWD;
ssh_key: KM_KEY_FILE (temp 0600 file, shredded after) + GIT_SSH_COMMAND.
|
| get_totpB | Current 2FA/TOTP code for a credential that has a totp_secret (plus seconds remaining). |
| copy_to_clipboardA | Copy a secret (default: main secret; or 'username', 'totp', any field) to the macOS clipboard for the human to paste. Auto-clears after N seconds. The agent never sees it. |
| generate_secretC | Generate a strong password or diceware-style passphrase. With |
| health_reportA | Audit the vault: weak, reused, expired/expiring, stale, unused and (optionally) breached passwords via HaveIBeenPwned k-anonymity (only 5 hash chars leave the machine). Graded A–F. |
| audit_logA | Recent vault activity (who revealed/used/changed what, when). Optionally for one credential. |
| lock_vaultA | Lock the vault now (removes the key from the keychain). Unlocking needs the user. |
| unlock_vaultA | Unlock the vault by asking the user for the master passphrase in a secure dialog (the passphrase never passes through the agent). |
| revoke_approvalsA | Cancel every time-boxed 'Allow for …' approval, so the next reveal asks again. |
| credential_typesB | The supported credential types and the main secret field of each. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Most tools have clearly distinct purposes: discovery (find_credentials), retrieval (get_credential), mutation (add/update/delete), and usage (http_request, run_with_credential) are well separated. A few pairs blur slightly — copy_to_clipboard vs get_credential(reveal=true), and generate_secret vs add_credential's secret_source=generate — but descriptions make the intended roles clear.
Nearly every tool follows a consistent snake_case verb_noun or noun pattern (lock_vault, list_credentials, add_credential, update_credential, delete_credential, rollback_credential, health_report). No style mixing or vague single-word verbs.
23 tools is on the heavy side for a credential vault, and a few (list_trash, restore_credential, purge_credential, credential_history) could plausibly fold into fewer operations. Still, most tools map to a genuinely distinct capability, so it's borderline rather than excessive.
The surface covers the full lifecycle: vault lock/unlock, credential CRUD, soft-delete/restore/purge, version history and rollback, secret generation, usage without exposure, TOTP, auditing, and health reporting. No obvious dead ends for the stated domain.