unesco-mcp
Server Quality Checklist
Latest release: v0.1.1
- Disambiguation5/5
Each tool has a clearly distinct purpose: compare geographies, count indicators, get rankings, retrieve metadata/summary, get single value or time series, list themes/disaggregation types, and search geo units or indicators. No two tools overlap in functionality.
Naming Consistency4/5Most tools follow the verb_noun pattern (e.g., compare_geographies, get_latest_value, list_themes). The only exception is server_status, which uses noun_noun. Overall, the naming is clear and predictable.
Tool Count5/5With 13 tools, the set is well-scoped for covering UNESCO UIS data exploration and retrieval without being overwhelming. Each tool serves a specific, necessary function.
Completeness5/5The tool surface covers the full lifecycle of data discovery (search, list, metadata) and retrieval (single value, time series, comparison, ranking). No obvious gaps for a read-only statistical API.
Average 4.6/5 across 13 of 13 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It explains what the tool does and the return structure, but lacks explicit disclosure of side effects (e.g., mutations), safety, rate limits, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a summary sentence, usage guidance, argument docs, and returns breakdown. It is concise enough for the detail needed, with no superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete: it defines the tool's purpose, usage, parameter, and return structure in detail. With an output schema present, the description still adds value by explaining nested fields, making the tool fully understandable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name with no description (0% coverage). The description adds meaningful context: the indicator code format and examples ('e.g. 'CR.1', 'ROFST.1.cp'). This significantly aids the AI agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get'), resource ('detailed metadata for a specific UNESCO UIS indicator'), and scope. It differentiates this tool from its sibling 'search_indicators' by instructing to use it after finding indicator codes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool: 'Use this after finding indicator codes via search_indicators.' It provides clear context but does not mention when not to use or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states it returns metadata but does not specify what runtime metadata includes or any side effects. The existence of an output schema compensates somewhat, but more details on behavior (e.g., read-only, latency) would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It efficiently conveys purpose and usage context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema exists, the description is sufficiently complete for a simple status endpoint. The context of sibling tools reinforces its distinct role. Slightly more detail about the metadata could be added, but it's adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema description coverage is 100% (empty). According to guidelines, 0 parameters gives a baseline of 4. No additional parameter semantics needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns 'basic runtime metadata' for specific use cases 'smoke tests and client wiring'. The verb 'Return' is specific, and the resource ('runtime metadata') is distinct from sibling tools that deal with data queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions when to use: for smoke tests and client wiring. While it does not list when not to use or alternatives, the context of sibling tools makes its usage obvious. A clearer exclusion statement would improve, but it is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosure. It fully describes the return structure (a dictionary with three keys and their contents), giving the agent a clear expectation of the output. It does not mention side effects, auth needs, or performance, but for a simple read-only list tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at 4 sentences, front-loading the main action and then explaining the return structure. It avoids unnecessary details but could be slightly tighter by combining the first two lines.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, output schema exists), the description is thorough. It explains the hierarchical role of themes, lists all output fields, and provides guidance on using the results. No additional information is needed for an agent to invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema coverage is 100% and there is nothing for the description to add beyond the schema. Following the baseline rule for 0-parameter tools, a score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Find all available UNESCO data themes' with a specific verb and resource. It distinguishes this from sibling tools focused on indicators, geographies, and other operations, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context that themes are 'the highest-level topical groups used to organize indicators' and includes a hint for using theme codes to search indicators. This implies when to use the tool (to get an overview of themes and their codes), but it does not explicitly state when not to use it or name alternative tools for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description sufficiently discloses behavior: it returns top and bottom lists, uses dense ranking, and explains year handling. It does not mention read-only nature, but the lack of destructive hints is acceptable for a ranking operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a summary, year handling, Args, and Returns sections. It is front-loaded but slightly verbose; the Args section repeats parameter types already in schema, but adds necessary behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no annotations, and an output schema, the description is complete: it covers return fields (indicator info, year, top/bottom with rank, code, name, value) and edge cases (year selection, strict_year).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description fully explains each parameter (e.g., indicator_code example, strict_year interaction, max for top_n/bottom_n), adding significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool ranks countries by indicator value, specifying the resource (countries vs regions) and the action (ranking). It distinguishes from siblings like 'compare_geographies' or 'get_latest_value' by focusing on ranking for UNESCO UIS indicators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes detailed usage guidance (e.g., dense ranking, strict_year behavior, parameter defaults) but does not explicitly compare to sibling tools or state when not to use it. However, the clarity of the parameter explanations compensates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that the tool is a read operation (no side effects) and provides the exact return structure. This sufficiently informs the agent of behavior beyond a simple name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise, with three functional paragraphs. It could be slightly tighter (e.g., merging the return explanation into fewer sentences), but it is well-structured with a clear purpose and return section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and presence of an output schema, this description is fully complete. It explains the purpose, the meaning of disaggregation types, and the exact return dictionary. No information is missing for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty (no parameters), so there is no need for additional parameter explanation. The description adds no redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find all available disaggregation types for UNESCO UIS indicators.' It specifies the resource (disaggregation types) and the action (list/find). The return format is detailed, distinguishing it from sibling tools like get_disaggregation_values which retrieve values for a specific type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by explaining that disaggregation types describe how data can be broken down, and the return includes a hint on using type codes. This guides the agent to use this tool before querying specific values. However, it does not explicitly state when to use this versus siblings, though the differentiation is clear from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While the tool is likely read-only, the description does not explicitly state safety, authentication needs, or side effects. It does explain filtering logic and return format, but with no annotations, the description should disclose behavioral traits beyond the obvious. A score of 3 reflects adequate but incomplete transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, well-structured with a summary line, usage guidelines, logic note, Args block, and Returns block. Every sentence adds value, no redundancy, and the layout aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (count with filters), the description covers all necessary context: purpose, usage, parameters with detailed semantics, AND logic, behavior with no filters, and return format (output schema). No obvious gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description provides detailed Args section with exact meaning, examples, and logic (e.g., 'timeLine_min <= year'). This fully compensates for the lack of schema descriptions, adding significant value beyond the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Count' and resource 'UNESCO UIS indicators', clearly distinguishing from sibling tool 'search_indicators' which returns list. It explicitly states this tool returns an exact count and accepts year range filters, making purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Use this tool when the user wants to know how many indicators exist for a given combination of filters...' and contrasts with 'search_indicators', providing clear when-to-use and alternative. Also explains AND logic and behavior with no filters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the interactive behavior when multiple grouping systems match, which is a key trait. It also implies a read-only nature. No contradictions; the description is honest 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a one-sentence summary, followed by context and detailed parameter explanations. Every sentence adds value with no redundancy. It is concise yet comprehensive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no annotations, but an output schema, the description covers all necessary aspects: purpose, parameter usage, interactive behavior, and return format (dictionary with geo_units, count, hint). It is complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so thoroughly: for 'query' it explains accepted inputs (name or ISO3 code with examples), for 'type_filter' it clarifies the two valid values (NATIONAL/REGIONAL), and for 'region_group' it explains restriction to a grouping system with examples. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: searching for UNESCO UIS geographic units by name or code. It specifies the verb 'search', the resource 'geo units', and the scope (countries and regions). It also mentions its role in supporting get_latest_value, making it distinct from sibling tools like search_indicators or get_country_ranking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this to find the geo unit code needed for get_latest_value' and explains how it handles multiple grouping systems by eliciting a user choice. It provides examples of acceptable inputs. While it doesn't list when not to use it, the context is clear and practical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It fully discloses the input-output behavior, including the structure of the return value. It describes each field in the response, ensuring transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with only 6 sentences, clearly separated into args and returns sections. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no nested objects) and the presence of an output schema (though described), the description covers all necessary information. It is complete for the agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains the single parameter 'type_code' as a disaggregation type code from list_disaggregation_types, with an example. This adds crucial context beyond the schema's minimal type declaration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'available values for a specific disaggregation type.' It distinguishes from sibling tools like list_disaggregation_types by specifying that this tool returns values for a given type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: use after list_disaggregation_types to get values for a specific code. It doesn't explicitly mention when not to use, but the context is sufficient for correct selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses that the tool is fast because it uses a local database without API calls, and it details the return structure including not_found list. It does not mention any destructive behavior or auth requirements, but for a read-only summary tool, this is sufficient. A score of 4 reflects that it adds valuable behavioral context beyond just the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief overview, usage comparison, args section, and returns section. Every sentence adds value, and it is concise without being overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a single parameter and an output schema (described in detail), the description provides complete context. It explains the return structure, what data is included, and behavior for missing codes. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, indicator_codes, is described with additional meaning: 'List of indicator codes (1–10). Use codes from search_indicators results.' This adds constraints and source information beyond the schema which only specifies array of strings. Since schema description coverage is 0%, the description compensates fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get a lightweight summary for one or more UNESCO UIS indicators.' It specifies the verb, resource, and distinguishes it from sibling get_indicator_metadata by mentioning it returns key fields from the local database without API calls.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage guidance: 'Much faster than get_indicator_metadata — use this when you need a quick overview... Use get_indicator_metadata when you need glossary definitions...' It also mentions constraints (1–10 indicator codes) and source of codes (search_indicators results).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description fully covers behavior: strict_year fallback logic, missing codes reporting, year handling, and limits (max 20 geo_unit_codes). 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections and bullet points for return values. The initial summary is clear. However, the description is somewhat lengthy; some details (e.g., exact year handling in two cases) could be streamlined slightly, but still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 params, no annotations, but output schema exists (described in detail in text), the description explains the output dictionary structure, covers year options, missing codes, and limits. It is complete for a comparison tool with no obvious gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It explains each parameter: indicator_code with example, geo_unit_codes with type and limit, year optional behavior, strict_year default. Adds context beyond schema (e.g., max list size, code source).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares a UNESCO UIS indicator across a specific list of countries/regions, using the verb 'compare' and specifying the resource. It distinguishes from siblings like get_country_ranking (which likely ranks all countries) and search_geo_units (for finding codes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use: 'directly compare a set of countries or regions you already know the codes for'. It provides prerequisites (codes known, use search_geo_units), and explains year/strict_year options to guide selection. Clear context without needing to state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behaviors: returns a single data point, interactively asks for geography if geo_unit_code is omitted, handles missing years by returning the nearest available year with a note, and includes data quality flags. This provides full transparency about what the tool does beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but well-structured with clear sections (GEOGRAPHY RULES, Args, Returns). Every sentence adds value, though the example questions and some prose could be slightly trimmed without losing clarity. Overall, it is efficient and front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters (one required) and a detailed output schema, the description is extremely complete. It explains return values in a human-readable way (e.g., note about year substitution), covers all behaviors, and provides contextual rules. The output schema already defines the return structure, so the description enhances rather than repeats it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does so excellently: it explains indicator_code (e.g., 'CR.1'), geo_unit_code with geography rules (ISO3 for countries, confirmed code for regions, or omit for interactive lookup), and year with default behavior (most recent if omitted, nearest year if no data). This adds critical meaning not in the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get the value of a UNESCO UIS indicator for a specific country or region.' It uses a specific verb (Get) and resource (value of indicator for geography), and distinguishes from siblings like get_time_series (multiple data points) and search_indicators (finding codes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance with example questions ('What is the literacy rate in Kenya?'). It also gives when-not-to-use by specifying geography rules (for regions, use search_geo_units first) and references sibling tools like search_indicators for finding codes. It even tells the agent to always show the year alongside the value.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses behavior: returns all data points, optional year range, geography rules including risks, and return structure. Comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections and front-loaded purpose. Slightly verbose but all content is valuable. Could be trimmed slightly, but still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 params, 1 required, no annotations, but has output schema), the description is very complete. Covers geography rules, parameter usage, and return format thoroughly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, but description explains each parameter in detail: indicator_code, geo_unit_code with rules, start_year, end_year. Adds significant meaning beyond schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the full time series for a UNESCO UIS indicator for one country or region. It distinguishes from siblings by mentioning geography rules and referencing search_geo_units for regions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (trend analysis, time-series visualization) and provides geography rules with a clear directive to use search_geo_units for regions to avoid silent errors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description fully covers behavior. Discloses result capping (default 20, max 50), interactive exploration intent, and that query_matches is not total count. Warns that some indicators may be missing if query is too narrow. Describes return structure, ensuring agent knows what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Description is lengthy but well-structured with purpose, usage, suggested workflow, filter logic, and parameter details. Every sentence adds value. Slight redundancy in parameter descriptions could be trimmed, but overall efficient given complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all aspects: tool purpose, when to use, complex workflow, parameter semantics, output schema explanation (though output schema provided externally), and edge cases (truncation, query_matches vs total count). Adequate for the complexity of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, so description compensates fully. Each parameter gets detailed guidance: query (stemming, secondary refinement), theme (exact code from list_themes), disaggregation types/values (reference to other tools, must work for ALL), limit (default 20, max 50, prefer narrowing filters).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it searches UNESCO UIS indicators using text and structured filters. It distinguishes from sibling tool count_indicators by noting the latter is for counting with precise year/date filters, making the scope specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (discover indicators) and when not (use count_indicators for precise counting). Provides a detailed suggested workflow for complex queries, guiding agents to find theme and disaggregation codes from other tools and to use structured filters before query parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/lpicci96/unesco-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server