ine-chile-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a distinct purpose with clear boundaries: codif_* tools handle classification and training data, datos_* tools manage dataset metadata and queries, inestat_* tools access statistical dataflows and structures, and simel_* tools focus on labor market indicators. There is no overlap in functionality, making tool selection unambiguous.
Naming Consistency5/5Tool names follow a consistent verb_noun pattern with a clear prefix system: codif_, datos_, inestat_, and simel_ indicate the domain, followed by descriptive actions like classify, get, query, search, and list. This structured naming makes the tool set predictable and easy to navigate.
Tool Count5/5With 11 tools, the server is well-scoped for its purpose of accessing INE Chile data across classification, datasets, statistics, and labor market indicators. Each tool serves a specific function, and the count is neither too sparse nor overwhelming for the domain coverage.
Completeness5/5The tool set provides comprehensive coverage for interacting with INE Chile's data systems: classification (CAENES/CIUO), dataset metadata and queries (CKAN), statistical dataflows (INE.Stat), and labor market indicators (SIMEL). It supports full workflows from discovery to data retrieval, with no obvious gaps in the surface.
Average 3.6/5 across 11 of 11 tools scored.
See the Tool Scores section below for per-tool breakdowns.
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
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?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, covering safety and scope. The description adds that it returns 'datos en formato tabular', which is useful context about output format not in annotations. However, it doesn't disclose other behavioral traits like rate limits, authentication needs, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two short sentences) and front-loaded with the core purpose. Every sentence adds value: the first defines the action and resource, the second specifies the return format. No wasted words, though it could be slightly more structured with usage hints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations cover safety (read-only, non-destructive) and scope (open world), and schema coverage is high, the description is minimally adequate. However, with no output schema and a data query tool, it should ideally explain more about the tabular format (e.g., columns, pagination) or error conditions to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters well-documented in the schema (e.g., flowRef as 'Dataflow ID', key as 'Dimension key filter'). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Consulta observaciones' - Query observations) and resource ('de un dataflow de INE.Stat'), and specifies the return format ('Retorna datos en formato tabular'). It distinguishes from siblings like 'inestat_get_structure' (structure vs. data) and 'inestat_list_dataflows' (list vs. query), though not explicitly. However, it doesn't fully differentiate from 'simel_get_data' (similar function for different source).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention siblings like 'inestat_list_dataflows' (to find available dataflows first) or 'inestat_get_structure' (to understand dimensions), nor does it specify prerequisites or contextual constraints for usage.
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?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, indicating a safe, read-only operation with open-world data. The description adds context by specifying it downloads a 'muestra' (sample), suggesting limited data retrieval rather than full datasets, which is useful beyond annotations. However, it doesn't detail aspects like rate limits, authentication needs, or exact output format.
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, efficient sentence in Spanish that directly states the tool's function without unnecessary details. It's front-loaded with the core action ('Descarga una muestra') and specifies the resource and classifiers concisely, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters, no output schema) and rich annotations (read-only, non-destructive, open-world), the description is adequate but has gaps. It explains what the tool does but lacks details on output format, sample size, or error handling. With annotations covering safety, it's minimally viable but could benefit from more context for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for both parameters: 'classification' (enum with 'caenes' or 'ciuo') and 'modelVersion' (optional integer for version). The description adds minimal value beyond the schema by mentioning the classifiers, but doesn't explain parameter interactions or provide additional semantics like what 'latest' means for modelVersion. Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Descarga una muestra de los sets train/test usados por el clasificador CAENES o CIUO' (Downloads a sample of the train/test sets used by the CAENES or CIUO classifier). It specifies the verb (download), resource (train/test sets), and target classifiers, but doesn't explicitly differentiate from sibling tools like 'codif_classify_activity' or 'datos_get_dataset' which might serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or contexts where this tool is preferred, such as for obtaining training data versus performing classifications with 'codif_classify_activity' or querying datasets with 'datos_query_resource'. Usage is implied but not explicitly stated.
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?
Annotations already declare this as read-only, non-destructive, and open-world, covering the safety profile. The description adds that it searches for 'publicados' (published) datasets, which provides useful context about scope. However, it doesn't mention behavioral aspects like rate limits, authentication requirements, or pagination behavior that would be valuable 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise - a single Spanish sentence that efficiently communicates the core functionality. Every word earns its place with no redundancy or unnecessary elaboration. It's appropriately sized for a straightforward search tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with good annotations (read-only, non-destructive, open-world) and full parameter documentation, the description provides adequate but minimal context. It doesn't explain the return format beyond listing fields, and with no output schema, the agent must infer the structure. The description covers the basics but lacks depth about result format, quality, or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the input schema already fully documents both parameters (query and limit) with descriptions, examples, and constraints. The description adds no additional parameter information beyond what's in the schema, so it meets the baseline for high schema coverage without adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/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 datasets published by INE on datos.gob.cl and returning specific fields (title, name, number of resources). It uses a specific verb ('Busca') and identifies the resource ('datasets'), but doesn't explicitly differentiate from sibling tools like 'datos_get_dataset' or 'datos_query_resource' which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'datos_get_dataset' and 'datos_query_resource' that likely interact with the same data source, the agent receives no help in choosing between them. There's no mention of prerequisites, constraints, or typical use cases.
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?
Annotations already provide readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the agent knows this is a safe, read-only operation with potentially incomplete results. The description adds value by specifying the domain (labor market indicators) and source system (SIMEL/INE.Stat), but doesn't disclose additional behavioral traits like rate limits, authentication requirements, or pagination behavior that would be 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the essential information without waste. It's appropriately sized for a simple listing tool and front-loads the core purpose. Every word earns its place by specifying what's listed, the domain, examples, and source system.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with good annotations (readOnlyHint, destructiveHint, openWorldHint) and 100% schema coverage, the description provides adequate context about what's being listed. However, without an output schema, the description doesn't explain what format the results will be in or what information each listed indicator includes. The complexity is low, so the description is mostly complete but could benefit from output format information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage for the single parameter, the schema already fully documents the 'keyword' parameter with an example. The description doesn't add any additional parameter semantics beyond what's in the schema. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Lista') and resource ('indicadores de mercado laboral') with specific examples (ENE, ESI) and source (SIMEL/INE.Stat). It distinguishes from siblings like 'simel_get_data' by focusing on listing available indicators rather than retrieving data. However, it doesn't explicitly differentiate from 'inestat_list_dataflows' which appears to be a similar listing function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of when this listing function should be used instead of 'inestat_list_dataflows' or 'datos_search_datasets', nor does it specify prerequisites or appropriate contexts for usage. The agent receives no comparative information about sibling tools.
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?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, indicating a safe, read-only operation with potentially open-ended data. The description adds context about the data source (INE.Stat) and dataset filters, which is useful but doesn't disclose additional behavioral traits like rate limits, authentication needs, or response format details. No contradiction with annotations exists.
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 and front-loaded, consisting of two sentences that directly state the tool's purpose and data source. Every sentence adds value without redundancy. It could be slightly more structured by explicitly mentioning the tool's role relative to siblings, but it's efficiently written with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, no output schema) and rich annotations (readOnlyHint, destructiveHint, openWorldHint), the description is adequate but has gaps. It covers the purpose and data source but doesn't explain return values (e.g., data format), error conditions, or how it differs from similar tools like 'inestat_get_data'. For a data retrieval tool without an output schema, more context on expected results would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters well-documented in the input schema (e.g., flowRef as 'Dataflow ID' with example 'ENE_TD'). The description doesn't add any parameter-specific semantics beyond what's in the schema, such as explaining key filtering logic or period format nuances. Baseline 3 is appropriate given the comprehensive schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Consulta una serie laboral de SIMEL' (queries a labor series from SIMEL) with examples like 'tasa de desocupación, ingreso medio'. It specifies the data source (INE.Stat) and dataset filters (ENE_*/ESI_*), making the verb+resource explicit. However, it doesn't explicitly differentiate from sibling tools like 'inestat_get_data' or 'datos_query_resource', which appear to serve similar data retrieval functions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning the data source (INE.Stat) and dataset types (ENE_*/ESI_*), suggesting it's for labor-related statistical series. However, it provides no explicit guidance on when to use this tool versus alternatives like 'inestat_get_data' or 'datos_query_resource', nor does it mention any exclusions or prerequisites for usage.
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?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the agent knows this is a safe, read-only operation with open-world semantics. The description adds useful context about the tool's purpose (returning structure for filtering), but doesn't disclose additional behavioral traits like rate limits, authentication needs, or response format. No contradiction with annotations exists.
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 and front-loaded: two sentences that directly state the tool's purpose and its utility. Every sentence earns its place by providing essential information without redundancy or fluff.
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's low complexity (1 parameter, no output schema), rich annotations (readOnlyHint, destructiveHint, openWorldHint), and high schema coverage, the description is reasonably complete. It explains the tool's purpose and utility, though it could benefit from more explicit differentiation from sibling tools or details on output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the 'flowRef' parameter is fully documented in the schema as 'Dataflow ID' with examples). The description doesn't add any parameter-specific information beyond what's in the schema, so it meets the baseline of 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Devuelve la estructura (dimensiones, codelists) de un dataflow específico' (Returns the structure of a specific dataflow). It specifies the verb ('devuelve') and resource ('estructura de un dataflow'), but doesn't explicitly differentiate from sibling tools like 'inestat_list_dataflows' or 'inestat_get_data' beyond mentioning it's useful for knowing what filters to apply before querying data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance: 'Útil para saber qué filtros aplicar antes de consultar datos' (Useful for knowing what filters to apply before querying data). This suggests it should be used before data queries, but doesn't explicitly state when to use it versus alternatives like 'inestat_get_data' or 'inestat_list_dataflows', nor does it mention exclusions or prerequisites.
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?
Annotations already indicate this is a read-only, non-destructive, open-world operation. The description adds context about the return format ('con id y nombre') and the keyword filtering feature, which is useful beyond annotations. However, it doesn't disclose behavioral details like rate limits, authentication needs, or pagination, which could be relevant for a listing tool.
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, efficient sentence in Spanish that front-loads the core purpose and includes key details (listing dataflows with id and name, keyword filter). Every part contributes value without redundancy, making it appropriately concise and well-structured.
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's low complexity (1 optional parameter), rich annotations (readOnlyHint, destructiveHint, openWorldHint), and 100% schema coverage, the description is mostly complete. It covers the purpose and basic usage. However, without an output schema, it could benefit from more detail on return values or behavior, but the annotations help mitigate this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'keyword' well-documented in the schema. The description mentions the keyword filter ('Soporta filtro por keyword') but doesn't add significant semantic meaning beyond what the schema provides, such as examples or usage nuances. With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Lista todos') and resource ('dataflows (datasets) disponibles en INE.Stat'), specifying what identifiers are returned ('con id y nombre'). However, it doesn't explicitly differentiate from sibling tools like 'datos_search_datasets' or 'simel_list_dataflows', which appear to serve similar listing functions in different contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the keyword filter capability ('Soporta filtro por keyword'), suggesting this tool is for listing with optional filtering. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'datos_search_datasets' or 'inestat_get_data', nor does it mention any prerequisites or exclusions.
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?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, covering the safety profile. The description adds value by specifying this queries 'filas de un recurso tabular' (rows of a tabular resource) and mentions the CKAN datastore context, but doesn't provide additional behavioral details like rate limits, authentication needs, or what happens with large result sets beyond the schema's limit parameter.
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 extremely concise (two sentences) and front-loaded with the core purpose. Every word earns its place - the first sentence states what the tool does, the second provides crucial prerequisite information. No wasted words or redundant information.
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?
For a read-only query tool with comprehensive annotations and 100% schema coverage, the description provides adequate context. It explains the tool's purpose, establishes the prerequisite relationship with datos_get_dataset, and mentions the CKAN datastore context. However, without an output schema, the description doesn't explain what the query returns (e.g., data format, structure), which would be helpful for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all 4 parameters. The description mentions resource_id is required and obtainable via datos_get_dataset, which adds some context beyond the schema, but doesn't provide additional semantic meaning for filters, limit, or offset parameters beyond what's in their schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Consulta filas' - query rows) and target resource ('recurso tabular del INE vía CKAN datastore'), providing specific verb+resource. However, it doesn't explicitly distinguish this from sibling tools like 'datos_search_datasets' or 'datos_get_dataset', which appear related but serve different purposes.
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 by mentioning that resource_id is 'obtenible via datos_get_dataset', establishing a prerequisite relationship with a sibling tool. This helps guide when to use this tool (after obtaining a resource ID). However, it doesn't explicitly state when NOT to use it or mention alternatives like 'datos_search_datasets' for broader searches.
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?
The description adds valuable context beyond annotations: it specifies the output format ('códigos + probabilidades'), mentions the classification system (CAENES), and indicates batch processing capability ('una o varias glosas'). Annotations already cover read-only, non-destructive, and open-world characteristics, so the description appropriately supplements rather than contradicts them.
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 extremely concise (two sentences) and front-loaded with the core purpose. Every word earns its place: first sentence states what it does, second sentence specifies input/output formats. No redundant information or unnecessary elaboration.
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?
For a read-only classification tool with good annotations and complete schema coverage, the description provides adequate context. It explains the classification system, granularity options, and output format. The main gap is lack of output schema, but the description compensates by specifying the return format. Slightly more guidance on usage scenarios would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all three parameters thoroughly. The description mentions the input format ('array de strings') and output format, but doesn't add significant semantic meaning beyond what's in the schema. This meets the baseline expectation when schema coverage is complete.
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 specific action ('Clasifica' - classifies), the resource ('glosas de actividad económica' - economic activity descriptions), and the classification system ('CAENES') with granularity options (1 or 2 digits). It distinguishes from siblings like 'codif_classify_occupation' by specifying economic activity classification rather than occupation classification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through the input/output specification (array of strings to codes+probabilities), but doesn't explicitly state when to use this tool versus alternatives. It doesn't provide guidance on when to choose 1-digit vs 2-digit granularity or mention any prerequisites or exclusions.
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?
The description adds valuable behavioral context beyond annotations: it specifies the output format ('códigos + probabilidades'), mentions the classification granularity options (1 or 2 digits), and indicates batch processing capability ('una o varias glosas'). Annotations already cover read-only, non-destructive, and open-world characteristics, so the description appropriately supplements rather than contradicts them.
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 extremely efficient - two sentences that cover purpose, input, output, and key behavioral aspects. Every word serves a purpose with zero redundancy, and it's front-loaded with the core functionality.
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?
For a classification tool with comprehensive annotations and schema coverage, the description provides good context about the classification system, granularity options, and output format. The main gap is the lack of output schema, but the description compensates by specifying the return format. It could benefit from more guidance on when to choose 1 vs 2 digit granularity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the description doesn't need to explain parameters. It mentions the array input and output format, but adds minimal semantic value beyond what's already documented in the schema. The baseline score of 3 reflects adequate but not enhanced parameter understanding.
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 specific action ('Clasifica' - classifies), the resource ('glosas de ocupación' - occupation descriptions), and the classification system ('CIUO-08.CL'). It distinguishes from siblings by focusing specifically on occupation classification rather than activities, datasets, or statistical data operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying the input format and classification granularity options, but doesn't explicitly state when to use this tool versus alternatives like 'codif_classify_activity' or other classification tools. It provides technical parameters but no comparative guidance.
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?
Annotations already declare this as read-only, non-destructive, and open-world. The description adds useful context about what metadata is returned (resources, format, URL), but doesn't provide additional behavioral details like rate limits, authentication requirements, or error conditions. With annotations covering the safety profile, this adds some value but not rich behavioral context.
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 extremely concise with just two sentences, both of which earn their place. The first sentence states the purpose and return value, while the second provides crucial usage guidance. There's zero wasted verbiage.
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?
For a simple read-only metadata retrieval tool with good annotations and a single parameter, the description is quite complete. It explains what the tool does, what it returns, and how to use it in relation to sibling tools. The main gap is the lack of output schema, but the description does specify what information will be returned ('recursos, formato, URL').
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the single 'id' parameter with examples. The description doesn't add any parameter-specific information beyond what's in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting for parameter documentation.
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 specific action ('Metadata completa de un dataset') and resource ('del INE'), with explicit mention of what information is returned ('recursos, formato, URL'). It distinguishes from sibling 'datos_search_datasets' by specifying this tool is for getting metadata of a specific dataset rather than searching for datasets.
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 guidance on when to use this tool ('Usa datos_search_datasets primero para encontrar el ID'), naming the specific alternative tool and explaining the prerequisite workflow. This gives clear context about the relationship between these two sibling tools.
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/fgreve/ine-chile-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server