Skip to main content
Glama
Akxan
by Akxan

List OAuth clients connected to this server

oauth_list_grants
Read-onlyIdempotent

List all OAuth grants for this MCP server, showing client name, scope, approval time, last call, and call count. Run this before revoking access to see who is connected.

Instructions

Which clients hold an OAuth token for this MCP server: client name, scope (mcp:full = every tool including writes, mcp:read = read-only), when it was approved, when it last called and how many calls it made. Run it before oauth_revoke_grant, or whenever you want to know who is connected. Needs the HTTP instance with SEO_MCP_OAUTH=1; the operator's own MCP_AUTH_TOKEN is not a grant and never appears here.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
includeRevokedNoAlso list grants that were revoked or whose refresh token expired.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.10.0

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior; the description adds substantial context beyond these: exact output fields, scope semantics (mcp:full vs mcp:read), the auth requirement, and the fact that the operator's token is never listed. No contradiction with annotations.

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 dense sentences with no filler: the first lists what the tool returns, the second gives usage timing and the prerequisite, the third clarifies an important exclusion. Each sentence earns its place and the core purpose is front-loaded.

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?

Even without an output schema, the description communicates the main return fields and scope values, the config prerequisite, and an important exclusion, which is sufficient for a tool with only one optional boolean parameter. Nothing critical is missing for an agent to call it correctly.

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?

The input schema fully documents the includeRevoked parameter with a default and clear description, so the description need not repeat it. The description adds a small nuance that the operator's token is not a grant, which helps interpret what the list includes, but this is only a minor supplement to a well-covered schema.

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 states a specific verb and resource: it lists OAuth clients holding a token, with explicit output fields (client name, scope, approval time, last call, call count). It also differentiates from the sibling oauth_revoke_grant by positioning this as the pre-revoke viewing tool, and clarifies that the operator's own token is not a grant.

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?

Provides explicit when-to-use guidance: run it before oauth_revoke_grant or whenever you need to know who is connected. Also states a prerequisite (HTTP instance with SEO_MCP_OAUTH=1) and an exclusion (the operator's own MCP_AUTH_TOKEN is not shown), which help the agent decide applicability.

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