Skip to main content
Glama

List a project’s API keys

list_api_keys
Read-only

Retrieve the read-only API keys for a CMSKite project, showing names, creation dates, and last four characters. Requires the apikey.read grant.

Instructions

The read-only keys a website uses to read this project. Names, creation dates and the last four characters only — a whole key is shown once, when it is created, and never again. Requires the apikey.read grant.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdYesThe project id, as `prj_...`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.6

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the (consistent) readOnlyHint/destructiveHint annotations, the description discloses the real behavioral constraint: only names, creation dates and the last four characters come back, and a full key is shown once at creation and never again. It also states the required apikey.read grant, which the annotations do not cover.

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 tight sentences with no filler, front-loading what the tool returns and then the key-exposure rule and the grant requirement. Every sentence carries information the agent needs.

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

Completeness5/5

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

For a single-parameter list tool with no output schema, the description covers the salient risks (full keys never returned), the authorization requirement, and the shape of the returned fields, so nothing essential is missing.

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?

There is a single parameter and schema description coverage is 100%, so the schema already documents projectId as `prj_...`. The description adds nothing further about the parameter, making the baseline 3 appropriate.

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

Purpose4/5

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

The description states a specific resource (the read-only/website keys for this project) and what is returned (names, creation dates, last four characters). The listing verb comes from the title rather than the body text, and it does not explicitly name the contrasting sibling create_api_key, so it lands just below the top mark.

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

Usage Guidelines3/5

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

Usage is only implied: the tool returns existing keys, so an agent infers it is the read counterpart to create_api_key. There is no explicit statement of when to call this versus create_api_key, get_project, or any other sibling, and no prerequisites beyond the grant mention.

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