Skip to main content
Glama

Dry-run a login token

verify_login_token
Read-only

Check a real provider token against the game's login config exactly as player.loginExternal would, WITHOUT creating or linking a player. Returns { ok, uid, username, claims } or { ok: false, error }. Use it to confirm a provider works end to end, and to read what a token carries (e.g. Wavedash's gcid). Ask the user to paste a token from their running build (Wavedash: (await Wavedash.getUserJwt()).data in the browser console).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "provider": "<provider>",
      "token": "<token>"
    },
    "name": "verify_login_token"
  }
}

Input Schema

NameRequiredDescriptionDefault
gameNoWhich game to act on: its publishable key (pk_…) or its exact name. Defaults to the x-mp-game header, then your primary game.
tokenYesA real token from the provider's client SDK.
providerYesThe provider name, e.g. 'wavedash'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds real behavioral context beyond that — no player is created or linked, the exact response shapes for success and failure are given, and it implies a live provider round-trip. Missing token-expiry or rate-limit caveats keeps it from a 5.

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?

Three sentences, front-loaded with the core action and the key non-obvious constraint before the return shape and usage hint. The Wavedash console snippet parenthetical is long but earns its place as a practical instruction.

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?

No output schema exists, but the description enumerates both return shapes rather than deferring to one. With all three parameters documented and side-effect behavior stated, an agent has everything needed to call this correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description genuinely adds meaning about the token parameter (a real token from the provider's client SDK, with a concrete acquisition recipe) and clarifies that the check is end-to-end against login config. It does not elaborate on the 'game' defaulting logic, which the schema already covers.

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 uses a specific verb+resource ('Check a real provider token against the game's login config exactly as player.loginExternal would') and states the crucial scope constraint (WITHOUT creating or linking a player). This clearly separates it from siblings like connect_account or enable_login_provider.

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

Usage Guidelines4/5

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

It states when to use it ('confirm a provider works end to end', 'read what a token carries') and even tells the agent how to source a token from the running build. It stops short of explicitly naming alternatives it should not be used in place of (e.g. connect_account for actually linking), so it lands at 4 rather than 5.

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.