Skip to main content
Glama
kiraa06
by kiraa06

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 ambiguous when you should ask the user which one.

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 purpose when revealing. Prefer http_request/run_with_credential over revealing.

add_credentialA

Store a new credential. Keys the agent can later look it up by: name, aliases, urls (full URLs, bare hosts, or wildcards like *.corp.com), and tags.

secret_source (how the main secret is obtained — prefer ones that keep it out of the chat):
  prompt    (default) user types it into a secure macOS dialog
  clipboard read from clipboard, then clear it (user copies it first)
  file      read from `secret_file` (great for SSH keys / service-account JSON)
  generate  create a strong random password/passphrase
  value     use `secret` as given (only if the user already pasted it in chat)
  none      no main secret (e.g. only extra_secrets / notes)
`secret_field` overrides the field name (default depends on type: password/token/key/...).
`extra_secrets` e.g. {"totp_secret": "JBSW..."} or {"api_secret": "..."}.
`fields` = non-secret extras, e.g. {"host": "db.internal", "port": "5432", "region": "ap-south-1"}.
policy: open | confirm | sealed | strict (default from config).
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. env maps extra var names to fields, e.g. {"JENKINS_TOKEN": "token"} or templates {"CREDS": "{{km.username}}:{{km.password}}"}. stdin also supports {{km.*}} placeholders. Example: curl -su "$KM_USERNAME:$KM_TOKEN" https://ci.example.com/api/json

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 store_in (a credential ref) it is written straight into that credential (old value kept in history) and NOT returned — use this for rotation so the new secret never enters the chat.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 23 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count3/5

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.

Completeness5/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues