Skip to main content
Glama
jleeblack

Pion - MCP server for Pi Network

Verify a Pi user access token

verify_user
Read-only

Verify a Pi user's access token against the Pi Platform API to confirm their genuine identity and prevent spoofed usernames or uids.

Instructions

Check whether a Pi user access token is genuine and, if so, who it belongs to. Call this to authenticate someone who claims a Pi identity — never trust a client-supplied uid or username on its own; this is the only thing that proves it. An invalid, expired, or wrong-app token returns valid: false with a reason rather than failing; only a transport or server fault is reported as an error. Sends the token to the Pi Platform API (https://api.minepi.com/v2/me) and nothing else; it is not stored or logged. Note the uid is app-specific — the same person has a different uid under a different Pi app. Unlike this server's ledger reads, this is an identity check against the Platform API rather than a chain query, so the result carries no network field and does not depend on which Pi chain is being read.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
access_tokenYesThe user's Pi access token: an opaque bearer credential with no fixed length or prefix, obtained from Pi Browser authentication (`Pi.authenticate`) or Pi Sign-in OAuth. Pass the token string itself — not a uid, not a username, and not the app's server API key, which is a different credential this tool never accepts.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
uidNo
validYes
app_idNo
reasonNo
scopesNo
usernameNo
valid_untilNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changedv0.4.0
    • changedInput schema / properties / access_token / description
      Previous value: -"The user's Pi access token, obtained from Pi Browser authentication or Pi Sign-in OAuth. This is a credential — pass the token itself, not a uid."New value: +"The user's Pi access token: an opaque bearer credential with no fixed length or prefix, obtained from Pi Browser authentication (`Pi.authenticate`) or Pi Sign-in OAuth. Pass the token string itself — not a uid, not a username, and not the app's server API key, which is a different credential this tool never accepts."
  2. First observedv0.2.0

TDQS

A4.8/5.0
Behavior5/5

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

The description goes well beyond annotations (readOnlyHint, openWorldHint) by disclosing the exact API endpoint called (https://api.minepi.com/v2/me), stating that data is not stored or logged, explaining error handling (invalid/expired returns valid:false with reason, only transport/server faults cause errors), and clarifying that uid is app-specific and the result lacks a network field. This fully informs the agent about the tool's behavior.

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 a single paragraph that efficiently covers purpose, usage, behavior, error handling, and caveats. Every sentence contributes value, but it could be slightly more structured (e.g., bullet points) for quicker scanning. Nonetheless, it is concise for the amount of information conveyed.

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 tool's low complexity (single parameter, output schema present), the description is fully complete. It explains return behavior for invalid/expired tokens and errors, notes the absence of a network field, and covers data handling. With an output schema, the agent does not need more detail about return values.

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% with a detailed parameter description. The description reinforces the parameter's significance by emphasizing not to pass uid, username, or server API key. While the schema already defines the parameter well, the description adds critical context about why the token is the sole proof of identity, justifying a score above the baseline of 3.

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 clearly states the tool's purpose: 'Check whether a Pi user access token is genuine and, if so, who it belongs to.' It uses a specific verb (verify) and resource (user access token), and the tool is easily distinguished from siblings like get_wallet_balance or query_transaction, which serve entirely different functions.

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 gives explicit guidance: 'Call this to authenticate someone who claims a Pi identity' and warns 'never trust a client-supplied uid or username on its own; this is the only thing that proves it.' It also contrasts this tool with ledger reads, telling the agent when to use this identity check versus other queries.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jleeblack/pion-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server