Skip to main content
Glama

list_secrets

[secrets] List secret keys and quantum metadata in the requested scope, never the values. Use to discover what secrets exist before reading or writing; pair with inspect_secret for full metadata on one key, analyze_secrets for usage…

Instructions

[secrets] List secret keys and quantum metadata in the requested scope, never the values. Use to discover what secrets exist before reading or writing; pair with inspect_secret for full metadata on one key, analyze_secrets for usage trends, or health_check for decay/anomaly summaries. Read-only; safe to call repeatedly. Returns JSON { ok, data: { entries: [...] } } where each entry has scope, key, stateKeys (env names if superposed), expired, stale, lifetimePercent, timeRemaining, entangledCount, accessCount.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagNoReturn only secrets that include this exact tag (case-sensitive). Example: 'production'.
orgIdNoOrganization identifier for org-scoped secrets. Required only when scope='org'. Example: 'acme-corp'.
scopeNoWhere the secret lives. 'global' = user keyring (default if omitted on reads), 'project' = scoped to projectPath, 'team' = team-shared (needs teamId), 'org' = org-shared (needs orgId).
staleNoIf true, return only secrets in the stale window (lifetimePercent >= 75 and not yet expired).
filterNoGlob pattern matched against the key name. Supports `*` and `?`. Examples: 'API_*', 'STRIPE_?_KEY'.
teamIdNoTeam identifier for team-scoped secrets. Required only when scope='team'. Example: 'acme-platform'.
expiredNoIf true, return only secrets whose decay TTL has elapsed (lifetimePercent >= 100).
projectPathNoAbsolute path to the project root for project-scoped secrets and policy resolution. Defaults to the MCP server's current working directory when omitted.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed8 schema fields changedv0.11.7
    • changedInput schema / properties / expired / description
      Previous value: -"Show only expired secrets"New value: +"If true, return only secrets whose decay TTL has elapsed (lifetimePercent >= 100)."
    • changedInput schema / properties / filter / description
      Previous value: -"Glob pattern on key name (e.g., 'API_*')"New value: +"Glob pattern matched against the key name. Supports `*` and `?`. Examples: 'API_*', 'STRIPE_?_KEY'."
    • changedInput schema / properties / orgId / description
      Previous value: -"Org identifier for org-scoped secrets"New value: +"Organization identifier for org-scoped secrets. Required only when scope='org'. Example: 'acme-corp'."
    • changedInput schema / properties / projectPath / description
      Previous value: -"Project root path for project-scoped secrets"New value: +"Absolute path to the project root for project-scoped secrets and policy resolution. Defaults to the MCP server's current working directory when omitted."
    • changedInput schema / properties / scope / description
      Previous value: -"Scope: global, project, team, or org"New value: +"Where the secret lives. 'global' = user keyring (default if omitted on reads), 'project' = scoped to projectPath, 'team' = team-shared (needs teamId), 'org' = org-shared (needs orgId)."
    • changedInput schema / properties / stale / description
      Previous value: -"Show only stale secrets (75%+ decay)"New value: +"If true, return only secrets in the stale window (lifetimePercent >= 75 and not yet expired)."
    • changedInput schema / properties / tag / description
      Previous value: -"Filter by tag"New value: +"Return only secrets that include this exact tag (case-sensitive). Example: 'production'."
    • changedInput schema / properties / teamId / description
      Previous value: -"Team identifier for team-scoped secrets"New value: +"Team identifier for team-scoped secrets. Required only when scope='team'. Example: 'acme-platform'."
  2. Changed4 schema fields changedv0.11.5
    • addedInput schema / properties / orgId
      Added value: +{
      +  "description": "Org identifier for org-scoped secrets",
      +  "type": "string"
      +}
    • changedInput schema / properties / scope / description
      Previous value: -"Scope: global or project"New value: +"Scope: global, project, team, or org"
    • changedInput schema / properties / scope / enum
      Previous value: -[
      -  "global",
      -  "project"
      -]New value: +[
      +  "global",
      +  "project",
      +  "team",
      +  "org"
      +]
    • addedInput schema / properties / teamId
      Added value: +{
      +  "description": "Team identifier for team-scoped secrets",
      +  "type": "string"
      +}
  3. Changed4 schema fields changedv0.1.1
    • addedInput schema / properties / expired
      Added value: +{
      +  "description": "Show only expired secrets",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / filter
      Added value: +{
      +  "description": "Glob pattern on key name (e.g., 'API_*')",
      +  "type": "string"
      +}
    • addedInput schema / properties / stale
      Added value: +{
      +  "description": "Show only stale secrets (75%+ decay)",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / tag
      Added value: +{
      +  "description": "Filter by tag",
      +  "type": "string"
      +}
  4. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but the description fully discloses behavior: it returns metadata only ('never the values'), is read-only, and is safe to call repeatedly. Return format and fields are detailed, leaving no ambiguity about side effects or data exposure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences front-load the purpose, then provide usage guidance and return format. No unnecessary words, well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters and no output schema, the description covers purpose, usage, return structure, and field meanings. It lacks only minor details like pagination or error conditions, which are often handled by the schema or assumed for list operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add extra parameter-level meaning beyond what's in the schema. It effectively explains the overall behavior but does not deepen parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List secret keys and quantum metadata in the requested scope, never the values.' It distinguishes from sibling tools like inspect_secret, analyze_secrets, and health_check, making its unique purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance: 'Use to discover what secrets exist before reading or writing' and pairs with alternative tools for different needs. States 'Read-only; safe to call repeatedly,' providing clear context for when to invoke.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/I4cTime/q-ring'

If you have feedback or need assistance with the MCP directory API, please join our Discord server