QuizBase
Server Details
MCP server for trivia: 1.4M+ questions (EN+PL), 24 categories, 12 tools + 4 prompts, OAuth 2.1.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.6/5 across 12 of 12 tools scored.
Each tool has a clearly distinct purpose: categories, languages, list, question_by_id, random, regions, report, stats, subcategories, tags, topic_by_slug, and topics. Descriptions explicitly guide when to use which, avoiding ambiguity even between similar tools like quizbase_list and quizbase_random.
All tools follow a consistent 'quizbase_' prefix followed by a noun or noun phrase, with underscores for compound names like question_by_id and topic_by_slug. This pattern makes it easy to predict tool names based on function.
With 12 tools, the set is well-scoped for a trivia question database. It covers metadata discovery, question browsing, random sampling, reporting, and statistics without unnecessary bloat or missing essentials.
The tool set provides comprehensive read access and reporting for the catalog: metadata (categories, languages, regions, stats, taxonomy), question retrieval (list, random, by ID), and issue submission. No obvious gaps for typical consumption workflows.
Available Tools
12 toolsquizbase_categoriesList all top-level categoriesARead-onlyIdempotentInspect
List of 24 top-level categories with i18n labels. USE WHEN: building a category picker, validating ?category= input. Stable enum (rarely changes). For higher-resolution browsing → quizbase_subcategories or quizbase_topics.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language for category `name` field (ISO 639-1). Default "en". Supported: en, pl. Slugs are language-agnostic. | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | Response metadata: how many categories returned and which language. |
| categories | Yes | All 24 top-level categories with localized names. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds that it's a stable enum (rarely changes), providing extra context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states purpose, second gives usage and alternatives. No wasted words; front-loaded key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema present, description needn't explain return values. It covers purpose, usage, stability, and sibling tools, making it complete for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds minimal parameter info beyond the schema; it mentions i18n labels, which aligns with lang parameter but doesn't enhance meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List of 24 top-level categories with i18n labels,' specifying the resource and action. It distinguishes from siblings by directing to quizbase_subcategories or quizbase_topics for higher resolution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'USE WHEN: building a category picker, validating ?category= input,' and notes the stable enum nature, guiding appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_languagesList supported languages with countsARead-onlyIdempotentInspect
Returns supported language whitelist (ISO 639-1) with question counts per language. USE WHEN: showing language picker, validating ?lang= input, deciding fallback. Day 1: en + pl.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language for `displayName` of each supported language entry (ISO 639-1). Default "en". E.g. with `lang=pl` Polish returns as "polski", English as "angielski". Codes themselves are language-agnostic. | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | Response metadata. |
| languages | Yes | Supported languages with localized display name and question count per language. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and not destructive. Description adds 'Day 1: en + pl' indicating limited initial language support, and mentions ISO 639-1 standard.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: two sentences plus usage hint and day note. Front-loaded with primary purpose, no extraneous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity, one optional parameter, and presence of output schema (from context), description is complete. Covers purpose, usage, and behavioral notes like initial language set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameter details with enum and default. Description adds extra context: 'Codes themselves are language-agnostic.' Adds value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description starts with 'Returns supported language whitelist (ISO 639-1) with question counts per language.' This is specific and differentiates from siblings like quizbase_categories or quizbase_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'USE WHEN: showing language picker, validating ?lang= input, deciding fallback.' Provides clear context but does not mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_listBrowse questions catalog with cursor paginationARead-onlyIdempotentInspect
Cursor-paginated browse over the catalog. Quality-first: by default excludes questions flagged for review (use quality='all' for full pool).
USE WHEN: full catalog sync, delta sync (updated_since), exhaustive enumeration by filter. NOT WHEN: you only need N random samples (use quizbase_random) or a single record (use quizbase_question_by_id).
PAGINATION: stable cursor over id UUIDv7 DESC. First call: omit cursor. Next: pass meta.nextCursor. Stop when nextCursor is null.
KEY FILTERS (full parity with REST):
lang: ISO 639-1, default "en". Supported: en, pl.
category (slug), difficulty (trivial|easy|medium|hard|expert — LLM-calibrated), type (multiple|boolean), subcategory (raw slug).
tags (AND), tags_any (OR, max 10): raw tag slugs.
topic (curated, alias resolver), topics_any (OR over curated): higher precision than tags.
regions (cultural affinity, AND): empty = no cultural advantage assumed. Lowercase ISO 3166-1 alpha-2 ('us', 'pl', 'gb') + cultural codes ('jewish', 'christian-catholic', 'islam'). Filter for content statistically more likely known by residents/members. Discover via quizbase_regions.
source: one of 12 (opentdb, opentriviaqa, kqa-pro, entityq, mintaka, mkqa, nq-open, creak, qasc, arc, webq, quizbase).
license (SPDX): e.g. CC-BY-SA-4.0, MIT.
quality: 'high' (default) excludes questions flagged for review; 'all' for full approved pool. When 'all', each question gains a "quality" field with value 'high' or 'needs_review'.
updated_since (ISO 8601): only questions updated after this — for delta sync caches.
PAGINATION + COUNTING:
cursor (string): from previous meta.nextCursor. Omit for page 1.
limit (1-100, default 20).
count: none (default, skip — page via nextCursor) | exact (precise COUNT(*), index-only ~25-90ms).
OUTPUT: { questions: [...], meta: { count, countMode, language, nextCursor, total? } }. Each question carries full per-record attribution (source, author, license, licenseVersion, licenseUrl, sourceId, url, modifications, lastModified) — identical shape to REST /api/v1/questions.
ATTRIBUTION REQUIRED if you redistribute. Credit each question using its own attribution object — see license + licenseUrl + modifications fields per record.
COMMON MISTAKES: not passing the cursor on subsequent calls (you'll re-read page 1); polling without updated_since when doing delta sync.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Question language as ISO 639-1 code. Default "en". Supported: en, pl. Translated rows share the same `id` across languages. | en |
| tags | No | AND-logic: question must have ALL these tag slugs (kebab-case) | |
| type | No | "multiple" = 1 correct + 3 distractors. "boolean" = True/False. | |
| count | No | Total count strategy. `none` (default, fastest — page via nextCursor, no total). `exact` (precise COUNT(*), index-only ~25-90ms — when you need the exact number of matches). | none |
| limit | No | Page size (1-100, default 20). Larger pages reduce round-trips but increase latency. | |
| topic | No | Curated topic slug — alias resolver matches subcategories and tags | |
| cursor | No | Opaque pagination cursor from previous `meta.nextCursor`. Omit for page 1; pass last response's `meta.nextCursor` for subsequent pages. Stop when `nextCursor` is null. | |
| source | No | One of 12 source databases (matches `attribution.source`): opentdb, opentriviaqa, mkqa, mintaka, kqa-pro, entityq, nq-open, creak, qasc, arc, webq, quizbase. Use to exclude noisy auto-generated sources. | |
| license | No | SPDX license string (e.g. CC-BY-SA-4.0, MIT). Filter for redistribution-friendly content. | |
| quality | No | Quality preset. "high" (default) excludes questions flagged for review (low-quality distractors, trivial patterns). "all" includes the full approved pool — for audit, research, or BY-SA dump. | high |
| regions | No | Cultural affinity codes. A question is tagged with a region if residents of that country, or members of that cultural/religious group, are **statistically more likely to know** the answer (NOT geography of the subject). Lowercase ISO 3166-1 alpha-2 (`us`, `pl`, `gb`) plus cultural codes (`jewish`, `christian-catholic`, `islam`). AND-logic. Empty array in DB = universally accessible. Use `quizbase_regions` for the full catalog with counts. | |
| category | No | Top-level category slug (kebab-case) — e.g. `geography`, `history`, `science-and-nature`. 24 total. Use `quizbase_categories` for canonical list with localized names. | |
| tags_any | No | OR-logic: question must have AT LEAST ONE of these tag slugs | |
| difficulty | No | LLM-calibrated 5-level difficulty. trivial=common-knowledge, easy=approachable, medium=requires-thought, hard=needs-domain-context, expert=specialist. Records not yet LLM-rated hold the importer placeholder (mostly "medium" for factoid sources). | |
| topics_any | No | OR-logic over curated topic slugs (resolves aliases) | |
| subcategory | No | Raw subcategory slug (kebab-case). Prefer `topic` for OR + alias resolver. | |
| updated_since | No | ISO 8601 timestamp — return only questions updated after this (delta sync) |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | Pagination metadata: count of returned rows, total (exact match count, only when count=exact), nextCursor (null = end), language echoed. |
| questions | Yes | Array of trivia questions for the current page, each with full attribution. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description adds context beyond that: quality-first default, pagination stability, attribution requirements, and behavior of the 'quality' filter. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear sections (USE WHEN, PAGINATION, KEY FILTERS). It is relatively long but necessary given the complexity. Front-loaded with the main purpose. Could trim some redundant details, but overall well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (17 parameters, many filters, pagination, counting), the description covers virtually all aspects: filtering options, pagination mechanics, counting strategies, output structure, and attribution requirements. Very thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds extra context for many parameters (e.g., regions interpretation, quality field behavior, AND vs OR logic for tags), which justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it is a cursor-paginated browse over the catalog. Explicitly distinguishes from sibling tools like quizbase_random and quizbase_question_by_id, making it easy for an agent to select the correct tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit 'USE WHEN' and 'NOT WHEN' sections that list use cases (full catalog sync, delta sync) and alternatives (quizbase_random, quizbase_question_by_id). Also highlights common mistakes, such as not passing the cursor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_question_by_idGet a single question by UUIDARead-onlyIdempotentInspect
Fetch one question with FULL per-record attribution (source, author, license, modifications, lastModified, sourceId, url) and quality: "high" | "needs_review" (always present — deep-link semantic means full row). USE WHEN: deep link to a question, full provenance lookup for redistribution, cache refresh, moderation inspection. INPUTS: id (UUID), lang (affects category.name and label translations only). 404 returned via {question: null, error: "not_found"} — id may be invalid, pending/rejected, canonical-duplicate, or tombstoned.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Question UUID (v7 format). Stable across language translations — the same UUID may exist in multiple languages with different text but same canonical answer. | |
| lang | No | Language for the response (ISO 639-1). Default "en". Supported: en, pl. Affects `text`, `correct`, `incorrect`, plus localized labels in `category.name`, `subcategories[].label`, `tags[].label`. | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Error code when question is null (e.g. `not_found`). |
| question | Yes | Question object with full attribution and quality flag. Null when not found. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive. Description adds details on quality field always present and 404 response format, adding value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two well-structured sentences plus concise USE WHEN and INPUTS notes. No filler; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values are covered. Description also explains error response and conditions, making it complete for a single-entity retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description enriches by explaining lang affects only category.name and label translations, and id is UUID v7 stable across languages.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches a single question by UUID with full attribution, and the 'deep link' context distinguishes it from sibling tools like quizbase_list or quizbase_random.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit USE WHEN scenarios are given (deep link, provenance, cache refresh, moderation inspection), though it does not specify when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_randomGet random trivia questionsARead-onlyInspect
Fetch N random trivia questions matching filters. Quality-first: by default excludes questions flagged for review (use quality='all' to include for audit/research).
USE WHEN: building a quiz, sampling content for warmup, generating practice sets. NOT WHEN: you need a specific question ID (use quizbase_question_by_id) or want to explore a topic deeply with facets (use quizbase_topic_by_slug).
KEY FILTERS:
amount: 1-50, default 10.
lang: ISO 639-1. Default "en". Supported: en, pl. Strict — unknown language returns 400.
category (slug): e.g. geography, history, science-and-nature. Full list via quizbase_categories.
difficulty: trivial | easy | medium | hard | expert. LLM-calibrated. Records not yet LLM-rated hold the importer placeholder (mostly "medium" for factoid sources).
type: multiple | boolean (default both; no text_input in random).
regions (cultural affinity, AND): empty in data = no cultural advantage assumed. Lowercase ISO 3166-1 alpha-2 ('us', 'pl', 'gb') + cultural codes ('jewish', 'christian-catholic', 'islam'). Filter for content statistically more likely known by residents/members. Discover via quizbase_regions.
source: filter by source database (one of 12: opentdb, opentriviaqa, kqa-pro, entityq, mintaka, mkqa, nq-open, creak, qasc, arc, webq, quizbase). Use to exclude noisy auto-generated sources.
license (SPDX): CC-BY-SA-4.0 | CC-BY-SA-3.0 | MIT | etc. Restrict to redistribution-friendly content.
topic (curated slug): higher precision than tags. Alias resolver matches subcategories+tags. List via quizbase_topics.
topics_any: OR over curated topics, max 10.
tags (AND), tags_any (OR), subcategory: raw taxonomy. Use topic if available.
quality: 'high' (default, recommended) excludes questions flagged for review. Use 'all' only for audit/research — when 'all', each question gains a "quality" field with value 'high' or 'needs_review' so you can tell which records were flagged.
exclude (UUIDs, max 250): de-dupe within a quiz session.
OUTPUT: { questions: [...], meta: { count, language } }. Each question carries full per-record attribution (source, author, license, licenseVersion, licenseUrl, sourceId, url, modifications, lastModified) — identical shape to REST /api/v1/questions/random.
ATTRIBUTION REQUIRED if you redistribute. CC-BY-SA modifications must be credited per § 3(a)(1)(B) using each question's own attribution object.
COMMON MISTAKES: forcing lang='pl' for a global audience (use 'en' default); skipping quality (default already excludes flagged content — only pass quality='all' for audit); using tags when a curated topic exists (worse precision).
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Question language as ISO 639-1 code. Default "en". Supported: en, pl. Strict — unknown language returns 400. The same `id` may exist in multiple languages (translated rows share `id`). | en |
| tags | No | AND-logic: question must have ALL these tag slugs (kebab-case) | |
| type | No | "multiple" = 1 correct + 3 distractors. "boolean" = True/False (Prawda/Fałsz in pl). | |
| topic | No | Curated topic slug — alias resolver matches subcategories and tags | |
| amount | No | Number of random questions to return. Range 1-50, default 10. Each call samples independently — pass `exclude` with previously-seen UUIDs to avoid duplicates across calls within one session. | |
| source | No | One of 12 source databases (matches `attribution.source` per question): opentdb, opentriviaqa, mkqa, mintaka, kqa-pro, entityq, nq-open, creak, qasc, arc, webq, quizbase. Use to exclude noisy auto-generated sources (e.g. drop `entityq` for human-curated only). | |
| exclude | No | List of question UUIDs to exclude from random sampling. Use to de-dupe within a quiz session — pass IDs you already showed the user so they are not repeated. Max 250 IDs per call. | |
| license | No | SPDX license string (e.g. CC-BY-SA-4.0, CC-BY-SA-3.0, MIT). Filter for redistribution-friendly content. Each question carries its own `attribution.license`. | |
| quality | No | Quality preset. "high" (default) excludes questions flagged for review (low-quality distractors, trivial answer-in-question patterns, manual moderation). "all" includes the full approved pool — for audit, research, or BY-SA dump consumption. | high |
| regions | No | Cultural affinity codes. A question is tagged with a region if residents of that country, or members of that cultural/religious group, are **statistically more likely to know** the answer (NOT geography of the subject). Lowercase ISO 3166-1 alpha-2 (`us`, `pl`, `gb`) plus cultural codes (`jewish`, `christian-catholic`, `islam`). AND-logic. Empty array in DB = universally accessible (no cultural advantage assumed). Use `quizbase_regions` for the full catalog with counts. | |
| category | No | Top-level category slug (kebab-case) — e.g. `geography`, `history`, `science-and-nature`. 24 categories total. Use `quizbase_categories` for the full canonical list with localized names. | |
| tags_any | No | OR-logic: question must have AT LEAST ONE of these tag slugs | |
| difficulty | No | LLM-calibrated 5-level difficulty. trivial=common-knowledge, easy=approachable, medium=requires-thought, hard=needs-domain-context, expert=specialist. Records not yet LLM-rated hold the importer placeholder (mostly "medium" for factoid sources). | |
| topics_any | No | OR-logic over curated topic slugs (resolves aliases) | |
| subcategory | No | Raw subcategory slug (kebab-case). Prefer `topic` for OR semantics + alias resolver. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | Response metadata: how many questions returned and which language. |
| questions | Yes | Array of trivia questions, each carries full per-record attribution. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true and destructiveHint=false. The description adds context on quality filtering, strict language enforcement, difficulty calibration, attribution requirements, and common mistakes, going well beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with headings and front-loaded purpose. Slightly verbose due to comprehensive coverage, but every section adds value. Minor deduction for length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 15 parameters, full schema coverage, and output schema existence, the description covers edge cases (strict language, placeholder difficulty, empty regions), attribution rules, and common mistakes, making it highly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, baseline is 3. The description adds rich meaning for many parameters, such as explaining quality values, regions cultural affinity, difficulty levels, and source types, far exceeding schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches N random trivia questions with filters, and distinguishes itself from siblings like quizbase_question_by_id (for specific ID) and quizbase_topic_by_slug (for deep topic exploration).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions when to use (building a quiz, sampling, practice sets) and when not to use (need specific ID, deep topic exploration), and names alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_regionsList region codes (cultural affinity) with countsARead-onlyIdempotentInspect
Discover region codes used by the catalog. Cultural affinity — a question is tagged with a region if residents of that country, or members of that cultural/religious group, are statistically more likely to know the answer (NOT geography of the subject). USE WHEN: planning a quiz targeting users from a specific country or cultural background, exploring "what regions are represented". OUTPUT: array of {code, kind, label, count} sorted by count DESC. INPUTS: lang (en|pl), q (substring on code/label), kind (country|cultural), cursor, limit (max 500). Pair with quizbase_random or quizbase_list using regions:[...] to fetch matching questions.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Substring search on region code + label (case-insensitive). E.g. `q=jew` returns `jewish` cultural code. | |
| kind | No | Filter by region type. `country` returns ISO 3166-1 alpha-2 codes (`us`, `pl`, `gb`...). `cultural` returns cultural/religious affinity codes (`jewish`, `christian-catholic`, `islam`...). Omit for both. | |
| lang | No | Language for region `label` (ISO 639-1). Default "en". Supported: en, pl. Codes themselves language-agnostic. | en |
| limit | No | Page size (1-500, default 100). Catalog has ~150 distinct codes per language. | |
| cursor | No | Opaque pagination cursor from previous `meta.nextCursor`. Omit for page 1. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | Pagination metadata: count returned, total available, cursor for next page. |
| regions | Yes | Region codes (cultural affinity) with localized labels, kind (country|cultural), and per-region counts. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. The description adds useful context: explains the output format (array sorted by count DESC) and how it relates to queries. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (3 sentences) and front-loaded with purpose. Uses bold for emphasis. Could be slightly more structured but is clear and not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, full schema coverage, output schema exists), the description covers the output format, typical usage, and pairing hints. It is complete enough 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter has a description. The description recaps inputs briefly but does not add significant meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists region codes with cultural affinity counts, with a specific verb ('list') and resource ('region codes'). It distinguishes from siblings by explaining the cultural affinity concept (not geography) and mentions pairing with quizbase_random or quizbase_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit usage scenarios: 'USE WHEN: planning a quiz targeting users from a specific country or cultural background, exploring what regions are represented.' It also suggests pairing with other tools. However, it does not explicitly state when NOT to use or provide alternatives to this specific tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_reportSubmit a content correction or copyright reportAInspect
Submit a content correction, copyright concern, or factual error report. USE WHEN: user (via your interface) flags a wrong answer, broken translation, attribution issue, or DMCA concern. INPUTS: at least one of (questionId UUID, questionText, questionUrl), type (translation|factual|inappropriate|attribution|other), comment (optional, max 2000), reporterEmail (optional). OUTPUT on success: {ok:true, reportId}. On failure the result is marked isError:true with structuredContent {error, message} — error codes: invalid_input, not_found, rate_limit_exceeded (per-IP 5/min), internal_error.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Report category. `translation` = bad EN→PL or other lang translation. `factual` = incorrect answer / outdated fact. `inappropriate` = offensive content. `attribution` = missing/wrong source credit (CC-BY-SA § 3 violation). `other` = anything else (use `comment` to explain). | |
| comment | No | Free-text explanation of the issue (max 2000 chars). Strongly recommended — bare flag without context is hard to triage. Examples: "Currency in answer was correct in 2018 but Argentina changed it in 2023", "Polish translation reads as gibberish". | |
| questionId | No | Question UUID (v7) being reported. Highest-fidelity identifier — use when you have it. At least one of `questionId`, `questionText`, `questionUrl` is required. | |
| questionUrl | No | URL referencing the question (e.g. your app deep-link, screenshot host). Useful when question came from a downstream surface and the user clicks "Report" without raw text/ID access. | |
| questionText | No | Full or partial question text (10-2000 chars) when UUID is not available. Used by moderators to locate the record. Lower fidelity than `questionId`. | |
| reporterEmail | No | Reporter email for follow-up (optional). Use when you have user consent — we may contact for clarification if the report is unclear. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Always true on success; failures use isError, not this field. |
| reportId | No | UUID of the recorded report. Use for follow-up references. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate non-read, non-idempotent, non-destructive mutation. Description adds outputs, error codes, and rate limit (5/min per IP), which are not in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single dense paragraph front-loads purpose, then usage, inputs, output, errors. Every sentence adds value, no repetition of schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 params, 1 required, and existing output schema, the description covers all aspects: when to use, what to provide, what to expect on success/failure, and error codes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage but description adds multi-parameter constraint ("at least one of"), clarifies combinations, and reiterates max lengths. Output schema is also described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states "submit a content correction, copyright concern, or factual error report," a specific verb and resource. Distinct from all sibling tools which are retrieval/list-oriented.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Begins with "USE WHEN: user flags a wrong answer..." providing explicit usage scenarios and conditions. No sibling tools perform reporting, so no alternative guidance needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_statsGet public catalog statisticsARead-onlyIdempotentInspect
Public catalog counters with live breakdowns by language, source, category, difficulty, topic, tag.
USE WHEN: showing catalog overview, picking a category programmatically, building landing copy, deciding "do we have enough X-content for this quiz".
OUTPUT FIELDS:
total: approved questions in 'en' + 'pl'.
byLanguage: { en: N, pl: N }.
bySource: { entityq: N, mintaka: N, 'kqa-pro': N, ... } — 12 keys, one per source database.
byDifficulty: { trivial: N, easy: N, medium: N, hard: N, expert: N, unrated: N } — null difficulty mapped to 'unrated'. trivial/expert populated by LLM calibration.
byCategory: top 24 with localized names.
byTopic / byTag: top 30 curated topics + top 30 tags with localized labels.
meta: { generatedAt: ISO 8601, language }.
INPUTS: lang (default "en") affects byCategory[].name and byTopic[].label / byTag[].label.
DATA FRESHNESS: snapshot regenerated daily (~03:00 UTC) + on demand after batch imports. generatedAt shows when. Counts stable ±0.01% between snapshots.
COMMON MISTAKES: polling stats every request (cache it on your side; 5-min Redis TTL on ours); treating bySource keys as stable enum (use quizbase_languages / quizbase_categories for canonical input enums).
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language for localized labels in `byCategory[].name`, `byTopic[].label`, `byTag[].label`. Default "en". Supported: en, pl. Numeric counts (total, byLanguage, bySource, byDifficulty) are language-agnostic. | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | Snapshot metadata: generation timestamp and echoed language. |
| byTag | Yes | Top 30 raw tags with localized labels. |
| total | Yes | Approved questions count across all supported languages. |
| byTopic | Yes | Top 30 curated topics with localized labels. |
| bySource | Yes | Count per source database (12 keys). |
| byCategory | Yes | Top 24 categories with localized names and counts. |
| byLanguage | Yes | Count per language code. |
| byDifficulty | Yes | Count per difficulty bucket (trivial / easy / medium / hard / expert / unrated). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable behavioral traits: data freshness (snapshot regenerated daily + on demand, generatedAt timestamp), stability between snapshots (±0.01%), and caching advice (5-min Redis TTL). This exceeds the information provided by annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (USE WHEN, OUTPUT FIELDS, INPUTS, DATA FRESHNESS, COMMON MISTAKES) and is front-loaded with the core purpose. However, it is somewhat verbose in listing all output fields, which might be redundant given the output schema exists. Still, it earns its place by being informative and organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a statistics tool returning complex breakdowns, the description covers purpose, usage, data freshness, caching, parameter behavior, and common mistakes. It fully compensates for any lack of explanation in the output schema by listing all fields. The context of siblings and annotations further completes the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema for 'lang' has 100% description coverage and includes an enum. The description further specifies which output fields are affected by the parameter (byCategory[].name, byTopic[].label, byTag[].label) and the default value, adding meaningful context beyond the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides 'Public catalog counters with live breakdowns by language, source, category, difficulty, topic, tag.' It distinctively lists the specific breakdowns and contrasts with sibling tools that return entity lists rather than aggregated statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly includes 'USE WHEN: showing catalog overview, picking a category programmatically, building landing copy, deciding 'do we have enough X-content for this quiz'.' It also notes common mistakes (polling every request) and directs to sibling tools (quizbase_languages, quizbase_categories) for canonical enums, providing complete usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_subcategoriesList raw subcategories with countsARead-onlyIdempotentInspect
Raw subcategory dump (LLM-organic kebab-case, middle taxonomy layer between category and tags) with display label and count. USE WHEN: navigating between top-level category and individual tags, exploring topic structure. Filter questions via quizbase_random?subcategory=. INPUTS: q, cursor, limit (max 500).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Substring search across subcategory slug + label (case-insensitive). Useful for partial discovery. | |
| lang | No | Language for subcategory `label` (ISO 639-1). Default "en". Supported: en, pl. Slugs language-agnostic. | en |
| limit | No | Page size (1-500, default 100). | |
| cursor | No | Opaque pagination cursor from previous `meta.nextCursor`. Omit for page 1. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | Pagination metadata: count returned, total available, cursor for next page. |
| subcategories | Yes | Subcategories on this page with localized labels and per-subcategory counts. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description complements annotations by explaining what is returned (display label, count) and pagination behavior. No contradiction with readOnlyHint/idempotentHint/destructiveHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences plus a 'USE WHEN' clause. Front-loaded with core purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists, description covers all needed context: taxonomy placement, input parameters, pagination, and downstream usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions. Description only lists parameter names without adding new meaning, meeting baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists raw subcategories with counts and positions as middle taxonomy layer between category and tags, distinguishing from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit 'USE WHEN' section specifies when to use (navigating between category and tags) and how to use results (filter via quizbase_random?subcategory=<slug>).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_tagsList raw tags with countsARead-onlyIdempotentInspect
Raw tag dump (10k+ entries) with display label and question count. USE WHEN: building a tag picker, searching "is X a tag", running analytics. Curated higher-level groupings → quizbase_topics. INPUTS: q (substring), cursor, limit (max 500).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Substring search across tag slug + label (case-insensitive). Use to find specific tags by partial name. | |
| lang | No | Language for tag `label` (ISO 639-1). Default "en". Supported: en, pl. Slugs are language-agnostic canonical identifiers. | en |
| limit | No | Page size (1-500, default 100). | |
| cursor | No | Opaque pagination cursor from previous `meta.nextCursor`. Omit for page 1. Stop when null. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | Pagination metadata: count returned, total available, cursor for next page. |
| tags | Yes | Tags on this page with display labels and per-tag question counts. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds context about scale (10k+ entries) and input parameters, which is useful beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus input list. Front-loaded with purpose and usage. Every sentence adds value. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with pagination and simple filters, the description covers purpose, usage, and inputs. Output schema exists, and description hints at output fields (label, count). Could mention pagination behavior more explicitly but still complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description briefly lists inputs but doesn't add significant meaning beyond what schema descriptions already provide. It confirms q is substring and limit max is 500, which is already in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a raw tag dump with count and label. It differentiates from sibling 'quizbase_topics' by noting that tool provides curated groupings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states use cases: building tag picker, searching for tags, analytics. Directs to 'quizbase_topics' for curated groupings, providing clear alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_topic_by_slugGet curated topic detail with facetsARead-onlyIdempotentInspect
Fetch one curated topic with facets (byCategory, byDifficulty, byLanguage, coOccurringTags, coOccurringSubcategories) and 3 sample questions. USE WHEN: zooming into a topic, deciding multi-round quiz structure. Returns {topic: null, error: "not_found"} when slug is unknown.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language for `topic.label` and sample question text (ISO 639-1). Default "en". Supported: en, pl. Numeric facet counts language-agnostic. | en |
| slug | Yes | Curated topic slug (kebab-case) — e.g. `star-wars`, `world-war-ii`, `programming-languages`. List all via `quizbase_topics`. Aliases resolve automatically (e.g. `sw` → `star-wars`). |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | Response metadata. |
| error | No | Error code when topic is null (e.g. `not_found`). |
| topic | Yes | Topic detail with metadata. Null if slug not found. |
| facets | No | Facet breakdowns: byCategory, byDifficulty, byLanguage, coOccurringTags, coOccurringSubcategories. |
| samples | No | Up to 3 sample questions matching this topic. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context: it returns {topic: null, error: 'not_found'} for unknown slugs, and mentions facets and sample questions. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two main sentences plus a usage hint. Every word adds value, and it is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema (not shown but indicated), the description covers all key aspects: purpose, facets, sample questions, error handling, and language support. The tool is well-contextualized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds value by noting alias resolution for slug ('e.g. `sw` → `star-wars`') and language support for lang, which goes beyond schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it fetches one curated topic with facets and 3 sample questions, specifying the verb 'Fetch' and the resource. This distinguishes it from sibling tools like quizbase_topics (list all) and others.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'USE WHEN: zooming into a topic, deciding multi-round quiz structure', providing clear context. However, it does not mention when not to use or list alternatives, though the sibling tools context implies that.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quizbase_topicsList curated topics with aliasesARead-onlyIdempotentInspect
Discover curated topics (2,184 entries with aliases). USE WHEN: planning a multi-round quiz, exploring "what is available about X", showing topic browser. Sorted by count DESC, slug ASC. Cursor-paginated. INPUTS: q (substring on label/alias), kind (tag|subcategory), cursor, limit (max 500).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Substring search across topic label, slug, and aliases (case-insensitive). Use to find a curated topic by partial name — e.g. `q=star` returns `star-wars`, `star-trek`, `stars-and-astronomy`. | |
| kind | No | Filter by underlying taxonomy origin. `tag` returns topics resolving to tag-level slugs (proper nouns, specific entities). `subcategory` returns topics resolving to broader subcategory groupings. Omit for all. | |
| lang | No | Language for `label` field in each topic (ISO 639-1). Default "en". Supported: en, pl. Slugs themselves are language-agnostic (canonical). | en |
| limit | No | Page size (1-500, default 100). Higher = fewer round-trips. | |
| cursor | No | Opaque pagination cursor from previous `meta.nextCursor`. Omit for page 1; pass last response's `meta.nextCursor` for next pages. Stop when `nextCursor` is null. |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | Yes | Pagination metadata: count returned, total available, cursor for next page. |
| topics | Yes | Topics on this page with localized labels, counts, and underlying kind. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and the description consistently implies a read-only operation. The description adds behavioral detail beyond annotations: 'Sorted by count DESC, slug ASC. Cursor-paginated.' This discloses pagination and ordering, enhancing transparency. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, each adding value: purpose and scale, use cases, then behavior and input summary. It is front-loaded with the core function. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (pagination, filtering, sorting, language parameter), the description covers scale (2,184 entries), sorting, pagination method (cursor), and lists inputs. An output schema exists, so return values are documented elsewhere. It lacks mention of rate limits or potential empty results, but is largely complete for a listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already provides thorough meaning for all 5 parameters. The description's summary ('INPUTS: q (substring on label/alias), kind (tag|subcategory), cursor, limit (max 500)') restates without adding new semantics. Baseline with high coverage is 3, and the description does not elevate beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Discover curated topics (2,184 entries with aliases)' with a specific verb ('Discover') and resource ('curated topics'). It distinguishes this tool from siblings like quizbase_categories or quizbase_tags by focusing on topics with aliases, and mentions key behaviors like sorting and pagination.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'USE WHEN: planning a multi-round quiz, exploring "what is available about X", showing topic browser.' This provides clear context on when to use the tool. It also notes sorting and pagination. However, it does not explicitly mention when not to use or contrast with sibling tools like quizbase_categories, which would improve guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!