Skip to main content
Glama
Alpha4-Labs

Loyalteez MCP Server

by Alpha4-Labs

loyalteez_get_user_stats

Retrieve a user's balance, lifetime earnings, streak, activity, and rank by providing their platform and user identifier.

Instructions

Get comprehensive stats for a single user including balance, lifetime earnings, streak, activity, and rank.

Implementation Note: User stats aggregate data from multiple services. If the aggregation endpoint is unavailable, stats can be obtained by calling:

  • loyalteez_get_streak_status for streak data

  • loyalteez_get_leaderboard for rank and lifetime earnings

  • loyalteez_get_user_balance for balance

  • Platform-specific APIs for activity (messages, voice, reactions)

See also: loyalteez://docs/shared-services/leaderboard-service

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
brandIdNoYour brand wallet address. If not provided, uses LOYALTEEZ_BRAND_ID environment variable.
platformYesPlatform: "discord" | "telegram" | "web" | etc.
userIdentifierYesUser identifier (platform_userId@loyalteez.app or email)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the disclosure burden. It usefully reveals that stats are aggregated across multiple services and describes a degraded-mode fallback path, which is real behavioral context. It doesn't state auth requirements, rate limits, or whether the aggregation is cached/stale, so it falls short of full 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?

Front-loaded with the purpose in the first sentence, then a well-structured implementation note and a docs reference. The enumerated fallback list is genuinely load-bearing, though the 'Platform-specific APIs for activity' line is vague and slightly dilutes the precision of the rest.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only aggregation tool with no annotations and no output schema, the description is nearly complete: it names the returned dimensions, the fallback tools, and a doc pointer. It leaves out auth/scope requirements and does not describe response shape, which matters somewhat in the absence of an output schema.

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 schema already documents brandId, platform, and userIdentifier including the env-var default and the identifier format. The description adds no parameter-level meaning beyond that. Baseline 3 is appropriate when the schema does all the heavy lifting.

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 ('Get') and resource ('comprehensive stats for a single user') and enumerates the exact dimensions returned: balance, lifetime earnings, streak, activity, and rank. This distinguishes it from narrower siblings like loyalteez_get_user_balance and loyalteez_get_streak_status, which are explicitly named as fallbacks.

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?

The implementation note tells the agent exactly when to fall back to other tools (when the aggregation endpoint is unavailable) and which tools to call. It does not, however, state the inverse case: that the agent should prefer this tool over assembling the same data manually in normal operation. Clear context, but exclusions aren't spelled out symmetrically.

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