Skip to main content
Glama

excalibur_begin_oauth

Start the OAuth2 authorization flow.

Returns an authorization URL. Open it in a browser to log in and authorize. Then call check_oauth_status with the same npub to complete. Free. Proof of npub ownership is required so an observer cannot DOS your account by initiating OAuth flows in your name.

Do NOT call this pre-emptively. If a session may still be valid, attempt the live tool call first and only begin OAuth when it fails with upstream_auth_refresh_needed. A 'pending' check_oauth_status is not evidence that an existing session has lapsed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
npubYesYour DPYC patron npub (npub1...).
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.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It reveals that the tool is free, requires proof of npub ownership, and explains the anti-DOS rationale. It also clarifies that a 'pending' check_oauth_status does not indicate a lapsed session. These details go well beyond a basic function statement and provide security-conscious transparency.

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 well-structured and front-loaded with the purpose. It contains several sentences of necessary guidance (flow, security, usage conditions). While slightly verbose, each sentence earns its place and avoids redundancy. It is not excessively long for the complexity of the OAuth flow.

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 complexity of an OAuth flow and the presence of an output schema, the description is remarkably complete. It covers the authorization URL, the follow-up step, cost, security/privacy considerations, and when to invoke the tool. The mention of 'upstream_auth_refresh_needed' and the pending-status caveat addresses edge cases, making this fully sufficient for an agent to use 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?

Schema description coverage is 100%, so the baseline is 3. The description adds no new details about parameter syntax or semantics beyond what the schema already documents. It mentions using the 'same npub' but the schema already defines both parameters comprehensively. The description does not need to compensate, thus a 3 is appropriate.

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 opens with a clear action verb and resource: 'Start the OAuth2 authorization flow.' It unambiguously states the tool's primary function and distinguishes it from the related 'check_oauth_status' by explaining the sequential relationship. This exceeds a vague purpose statement and clearly differentiates from sibling tools.

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 explicit when-to-use and when-not-to-use instructions: 'Do NOT call this pre-emptively... attempt the live tool call first and only begin OAuth when it fails with upstream_auth_refresh_needed.' It also names the alternative (check_oauth_status) and explains the completion flow, offering strong 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.