Skip to main content
Glama

List every Funko Me unlock and what earns it (public)

ic_funko_catalog
Read-only

The full catalog of things a Funko Me figure can earn — animation clips, props, skins, stages — with the condition that unlocks each one. No auth required; this is the rules table, not anybody's progress. Use it to explain to a human WHY something is locked, or to show what is worth doing on the floor. An item with no requires is granted to every signed-in member. Conditions read as either { signal, gte } (a measurable: commits this week, GLM tokens burned, events attended, days of tenure) or { minTier } (a membership ring). For one member's actual progress against these, call ic_funko_progress. Args: { kind?: 'clip'|'prop'|'skin'|'stage'|'capability' }. Returns: { ok, count, items[{ id, kind, label, blurb?, rarity, requires?, asset? }] }. No auth required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoOptional filter — return only unlocks of this kind.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations declare readOnlyHint=true, and the description reinforces this with 'No auth required; this is the rules table, not anybody's progress.' It adds valuable behavioral context beyond the annotation, including the structure of conditions ('Conditions read as either { signal, gte } ... or { minTier }') and the default for items without `requires`. This enriches agent understanding without contradicting the annotation.

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

Conciseness5/5

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

Although the description is multi-sentence, every clause serves a purpose: scope, auth, use cases, condition semantics, sibling pointer, args, and return shape. The main action is front-loaded in the title and first sentence. There is no fluff or repetition, making it appropriately sized for the tool's complexity.

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?

Since there is no output schema, the description compensates by specifying the return structure `{ ok, count, items[{ id, kind, label, blurb?, rarity, requires?, asset? }] }` and explaining the `requires` condition shapes. It also covers auth, use cases, and default granting, making the tool fully understandable in context, even without structured output definitions.

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?

The single parameter `kind` is fully described by the schema with an enum and description: 'Optional filter — return only unlocks of this kind.' The description merely repeats the enum values in the Args line ('kind?: 'clip'|'prop'|'skin'|'stage'|'capability''), adding no new semantic detail. With 100% schema coverage, the baseline of 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 clearly states the tool's purpose: 'The full catalog of things a Funko Me figure can earn — animation clips, props, skins, stages — with the condition that unlocks each one.' It uses a specific verb (list) and resource (catalog), and distinguishes itself from the sibling tool ic_funko_progress by explicitly directing progress queries there.

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?

It explicitly states when to use the tool: 'Use it to explain to a human WHY something is locked, or to show what is worth doing on the floor.' It also names the alternative: 'For one member's actual progress against these, call ic_funko_progress.' This is clear, actionable guidance with explicit exclusions.

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

A4.3/5.0
Disambiguation5/5

Each tool maps to a clearly distinct resource and action: donations, funko catalog, news feed, presentations, and SIGNAL content are cleanly separated. Within the signal cluster, list/get/search/latest all have non-overlapping roles, and ic_news_get explicitly disambiguates itself from the signal tools.

Naming Consistency4/5

All names use snake_case and the ic_ prefix, and most follow a domain + action pattern (ic_news_get, ic_presentations_list, ic_signal_get_issue). Minor deviations exist — ic_donate is a bare verb and ic_funko_catalog/ic_donations_total are noun phrases — but the overall pattern remains predictable and readable.

Tool Count5/5

Eleven tools is well within the ideal range and each one earns its place across the server's multi-area scope: donations, funko rules, news, presentations, and the SIGNAL dispatch. The count feels appropriately scoped without unnecessary bloat.

Completeness2/5

The tool descriptions explicitly reference ic_funko_progress and ic_resources_list, but neither is present in this toolset, creating dead ends for agents. The domain is otherwise reasonably covered for read-only public access plus donation, but these referenced-but-missing tools will cause agent failures.