Skip to main content
Glama

excalibur_check_oauth_status

Check whether the OAuth2 authorization flow has completed.

Call after opening the authorization URL from begin_oauth and completing the login in your browser. Free. Proof of npub ownership is required: OAuth status exposes which upstream services a patron has connected.

A 'pending' result here does NOT prove an existing session has lapsed — it only reports this authorization attempt. To find out whether a session still works, attempt the live call; fall back to begin_oauth only on an explicit upstream_auth_refresh_needed error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
npubYesThe same Nostr public key (npub1...) used in begin_oauth.
dpop_tokenYesRaw JSON of a kind-27235 Nostr event signed by npub — not base64, not NIP-98 'Authorization: Nostr <b64>' framing. Its `u` tag must hold THIS tool's exact name (from tools/list), not the endpoint URL; content:"", created_at within 60s of now, and a random `nonce` tag recommended. Or a cached dpop_token phrase.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries full responsibility. It discloses that the tool exposes which upstream services a patron has connected, requires proof of npub ownership, and clarifies the meaning of 'pending.' While it doesn't mention error conditions or rate limits, the provided behavioral nuances are valuable and go beyond a basic read-operation description.

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

Conciseness4/5

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

The description is front-loaded with the primary purpose and then provides focused usage guidance. The second paragraph is somewhat dense but every sentence contributes critical nuance about result interpretation and fallback behavior. It is appropriately sized for the complexity of an OAuth status check.

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?

Given the OAuth flow complexity and the presence of an output schema, the description is complete. It covers the prerequisite (begin_oauth), the required proof of npub ownership, the meaning of 'pending,' and explicit fallback logic. This gives an agent all necessary context to use the tool correctly without redundant return-type details.

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%, with both npub and dpop_token already well-documented. The description adds a brief security context ('Proof of npub ownership is required') but doesn't further explain the parameters since the schema handles them. This matches the baseline of 3 for high schema coverage.

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 first sentence clearly states the tool's function: 'Check whether the OAuth2 authorization flow has completed.' It uses a specific verb and resource, and explicitly references the begin_oauth tool to establish a clear sequence, distinguishing it from sibling tools like excalibur_begin_oauth and excalibur_session_status.

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?

The description provides precise when-to-use instructions: call after opening the authorization URL from begin_oauth and completing browser login. It also gives explicit exclusions and fallback logic, noting that a 'pending' result does not imply session lapsed and directing the agent to attempt the live call, falling back to begin_oauth only on an explicit upstream_auth_refresh_needed error. This is exemplary usage guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation5/5

Each tool targets a distinct operation and domain (account, posts, coupons, credentials, scheduling, oracle, etc.), with clear differentiation even for similar-sounding tools like check_balance vs check_authority_balance or list_coupons vs list_my_coupons. There is no ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., create_post, delete_coupon, list_posts), with no mixing of styles. The excalibur_ prefix is uniform.

Tool Count1/5

With 72 tools, the server far exceeds the typical well-scoped range (3–15). While the functionality is broad, the sheer number feels excessive for a single MCP server, leading to an extreme mismatch.

Completeness5/5

The tool surface covers the full lifecycle for core domains: CRUD for posts, snippets, coupons, credentials; complete flows for OAuth, npub proof, scheduling, notarization, and payments. No obvious gaps are present.