Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.2.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: compare_groups, tabulate, and weighted_stats all handle different analyses; transition_matrix is unique; list_variables and variable_detail are complementary but not overlapping. No two tools could be confused.

    Naming Consistency4/5

    All names use snake_case with a mostly verb_noun pattern (e.g., compare_groups, describe_survey). A few names like financial_inclusion_summary break the pattern but style remains consistent.

    Tool Count5/5

    11 tools cover data exploration, filtering, statistics, specialized analyses, and visualization. The scope is well-matched to the survey domain without unnecessary excess or deficiency.

    Completeness4/5

    Core workflows (variable exploration, cross-tabulation, mobility analysis, visualizations) are covered. Missing advanced modeling or export options, but the set handles essential research tasks.

  • Average 3.9/5 across 11 of 11 tools scored. Lowest: 3.3/5.

    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.json to 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

  • Behavior2/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 the input parameters and return statistics but does not mention how missing data is handled, whether the variable must exist, any assumptions about weighting (e.g., survey weights), or performance implications. Behavioral details are minimal.

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

    Conciseness3/5

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

    The description uses a docstring format with 'Args:' and 'Returns' sections, which is structured but somewhat verbose. It frontloads the purpose, then lists parameters. Some redundancy exists as parameter details are already in the input schema. Could be more concise by removing the 'Args:' label.

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

    Completeness3/5

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

    The description covers all parameters and return values, and an output schema exists for return details. However, it lacks discussion of edge cases (e.g., missing data, invalid variable), error handling, or details on how weights are applied. For a statistical tool with 4 parameters, it is adequate but not comprehensive.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It adds examples for 'variable' and 'by' and explains the default for 'dataset'. However, it does not specify valid values for 'filter' or 'dataset', nor the syntax for filter expressions. It adds moderate meaning beyond the schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states that the tool computes weighted descriptive statistics for a variable, listing specific statistics and grouping capability. It distinguishes itself from sibling tools like 'tabulate' or 'compare_groups' by focusing on weighted statistics with numpy-style 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explains when to use this tool (to compute weighted stats with optional filtering and grouping). However, it does not specify when NOT to use it or mention alternative tools (e.g., 'tabulate' for frequencies, 'compare_groups' for comparisons). No prerequisites or exclusions are provided.

    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 provided, so description carries full burden. It explains parameters, defaults, and return type, but does not mention side effects or weighting details (e.g., weights variable). Acceptable but not thoroughly transparent.

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

    Conciseness5/5

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

    The description is concise, well-structured with Args/Returns sections, and every sentence adds value. No unnecessary words.

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

    Completeness4/5

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

    The description covers all parameters, defaults, and the return format. Given the tool's analytical nature and presence of an output schema (table), it is sufficiently complete, though limited behavior on edge cases could be added.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0% (no descriptions in schema), but the description explains each parameter with examples and defaults, adding significant meaning beyond the bare schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states 'Compute a weighted crosstab between two variables' and notes it returns a markdown table with weighted proportions, providing a clear purpose. However, it does not differentiate from siblings like compare_groups or transition_matrix.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No explicit when-to-use or when-not-to-use guidance is given. The description does not mention alternatives or context for choosing this tool over sibling tools.

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

  • Behavior2/5

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

    No annotations provided, so the description carries full burden. It states it generates a visualization but does not disclose what form the output takes (e.g., image, interactive plot), side effects, or any behavioral details beyond generation.

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

    Conciseness5/5

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

    Extremely concise: one sentence for purpose, then a focused list for parameters. No redundant information, all sentences earn their place.

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

    Completeness4/5

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

    Given the presence of an output schema (unseen) and simple parameters, the description is mostly complete. However, it could mention if a precomputed transition matrix is required or hint at output format.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, but the description compensates with clear explanations for each parameter, including allowed values for 'dimension' and 'chart_type' and optional nature of 'filter' and 'by'.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description starts with a clear verb and resource: 'Generate a visualization of mobility transition matrix.' It is specific and distinguishes from siblings like 'transition_matrix' which likely computes the matrix.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance on when to use this tool versus alternatives like 'transition_matrix' or 'tabulate'. The description does not specify prerequisites or 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.

  • Behavior3/5

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

    No annotations are provided, so the description must bear the burden of behavioral disclosure. It describes the return as a 'comparison table' but does not explicitly state that the tool is read-only or what side effects (if any) occur. The parameter explanations imply a query operation, but more explicit statements about behavior would increase 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/5

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

    The description is a well-structured docstring with Args and Returns sections. It is concise—each sentence adds value. The main purpose is stated in the first line, and parameter details follow logically. No unnecessary words.

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

    Completeness4/5

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

    Given the tool's complexity (5 parameters, 2 required) and the existence of an output schema, the description covers all parameters and the return type. It provides examples for variable names and defaults for metric and dataset. However, it lacks details on edge cases (e.g., what happens if variable is not found) and does not mention error conditions.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does 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: ‘variable’ and ‘group_var’ are variable names (with examples), ‘metric’ choices ('mean', 'median', 'distribution'), ‘filter’ as an optional expression, and ‘dataset’ with a default. This adds significant context beyond the schema's minimal titles and types.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Compare a variable across groups defined by another variable.' The verb 'compare' and the resource 'variable across groups' are specific. The description distinguishes from sibling tools by its focus on comparison across groups, which is not explicitly covered in siblings like tabulate or list_variables.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no explicit guidance on when to use this tool versus alternatives (e.g., tabulate, income_comparison). It does not mention when not to use it or what prerequisites are needed. The user must infer usage from the tool name and parameters.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the burden. It only states it 'returns a list of variables with their labels' but does not disclose read-only nature, potential side effects, or any behavioral traits. This is insufficient for a 0-annotation 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/5

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

    The description is concise with a clear first line stating purpose, followed by a structured Args section. Every sentence adds value, no fluff.

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

    Completeness4/5

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

    The tool has an output schema, so return details are not required. The description covers key aspects: purpose, parameters, and return type. However, it lacks usage context (e.g., when to choose this over 'variable_detail') making it slightly incomplete.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0% but the description compensates by detailing the 'dataset' options ('entrevistado, hogar, inclusion_financiera') and explaining that 'section' and 'search' are optional filters. This adds meaning beyond the schema's type and default information.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'List available variables in the survey' with specific verb and resource. It distinguishes from siblings like 'variable_detail' which handles individual variables, and 'describe_survey' which is broader.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explains what the tool does and lists arguments, but provides no guidance on when to use it versus alternatives or when not to use it. It does not give explicit context for selection among sibling tools.

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

  • Behavior2/5

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

    No annotations are provided, so the description must convey behavioral traits. It does not mention that the tool is read-only, safe, or any side effects. The description only lists what is returned, omitting critical transparency details.

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

    Conciseness5/5

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

    The description is extremely concise with two sentences plus a parameter doc string. The main purpose is stated upfront, with no extraneous information.

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

    Completeness4/5

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

    Given the existence of an output schema, the description adequately summarizes return fields (label, value labels, dataset, section). However, it lacks information on error handling or behavior when a variable is not found, which would enhance completeness.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does 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 variable parameter with examples and implies string input. This adds significant meaning beyond the schema, though it could specify case sensitivity or exact matching.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it provides detailed information about a specific variable, using a verb ('get') and resource ('variable'). It gives examples of variable names, distinguishing it from siblings like list_variables which only lists names.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies use when needing details on a single variable but does not explicitly state when to use this tool over alternatives like list_variables. No 'when not to use' or exclusion criteria are provided.

    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 full burden. It discloses that the tool merges 2017 income data with 2023 respondent data on folio, returns a markdown summary with weighted statistics, and explains the three metric options. This provides reasonable transparency though it omits potential side effects or permissions.

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

    Conciseness4/5

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

    The description is well-structured, starting with a clear purpose sentence followed by bulleted parameter details. It is concise yet informative, though slightly verbose in listing examples that could be shortened.

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

    Completeness4/5

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

    Given the tool's complexity and minimal schema, the description covers the core functionality, parameters, and output format. It mentions matched respondents and weighted statistics, but does not elaborate on prerequisites or exact output columns, which may be covered by the output schema.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description bears the load. It defines the three metric options (change, poverty, summary) with brief explanations and gives example filter and by expressions. This adds meaningful context beyond the schema, though the exact syntax for filter is not fully specified.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool compares income between 2017 and 2023 for matched respondents, using a specific verb and resource, and it distinguishes itself from sibling tools which focus on different analyses (e.g., compare_groups, transition_matrix).

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explains what the tool does and the parameters but lacks explicit guidance on when to use it versus alternatives, such as compare_groups or weighted_stats. No exclusion criteria or contextual comparison is provided.

    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 the full burden. It correctly implies a read-only, non-destructive operation by stating it 'returns information'. It adds context beyond the input schema (which has no parameters) by describing the output content.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the tool's purpose, and contains no extraneous information. Every sentence adds value.

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

    Completeness4/5

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

    Given no parameters and a clear output description, the tool definition is complete. However, without seeing the output schema, we assume the description adequately covers what is returned. The complexity is low.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    There are no parameters, so the baseline is 4. The description does not need to add param info; it sufficiently describes what the tool does without needing parameter details.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states it provides an overview of a specific survey (ESRU-EMOVI 2023) and lists the types of information returned (datasets, design, dimensions, variables). This distinguishes it from sibling tools like list_variables and variable_detail, which are more specific.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies when to use the tool (when an overview is needed) but does not explicitly state when not to use it or provide alternatives. It lacks explicit guidance on choosing this tool over 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, the description carries full burden. It discloses that the tool returns 'markdown summary with weighted proportions for each variable in the selected dimension,' indicating a read-only, non-destructive operation. It does not mention potential side effects or auth needs, but the output format is clearly stated.

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

    Conciseness4/5

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

    The description is mostly concise, front-loading the main purpose and adding parameter details efficiently. The list of dimensions is slightly lengthy but necessary for clarity. No superfluous content, but could be slightly more compact.

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

    Completeness5/5

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

    Given the output schema exists, the description appropriately explains the return format ('markdown summary with weighted proportions'). It covers all relevant aspects: source, parameters, and output, with no gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, but the description fully compensates by listing all dimension options with explanations and providing examples for filter and by parameters. This adds significant meaning beyond the bare schema, enabling correct invocation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: 'Analyze financial inclusion from the ESRU-EMOVI 2023 inclusion module.' It provides a specific verb ('Analyze'), resource ('financial inclusion... module'), and scope, distinguishing it from siblings like weighted_stats or describe_survey which have broader or different focuses.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies use for financial inclusion analysis but does not explicitly state when to use this tool versus alternatives like weighted_stats or tabulate. It lacks guidance on exclusions or prerequisites, relying on the user to infer from the domain-specific dimensions.

    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 carries the full burden. It mentions returning a markdown table and specifies default and maximum limit, adding transparency. However, it does not disclose potential side effects, performance, or authentication requirements, which would enhance completeness.

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

    Conciseness5/5

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

    The description is concise (under 100 words) and well-structured: a clear one-sentence purpose followed by parameter explanations. 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/5

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

    Given the tool's complexity (4 parameters, output schema as markdown table) and lack of annotations, the description is complete. It covers all parameters, return format, usage context, and includes examples for filter expressions.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description compensates fully by explaining each parameter: variables (with example), filter (with example), limit (default and max), and dataset (default). It adds meaning beyond the schema's basic type and required status.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states 'Extract a subset of raw data for specific variables,' specifying a precise verb and resource. It distinguishes itself from siblings like compare_groups or tabulate by focusing on raw data extraction.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description explicitly says 'Use this to inspect raw values or extract data for custom analysis,' providing clear context on when to use the tool. It does not list alternatives but implies its role without 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?

    With no annotations, the description must disclose behavior fully. It explains the tool computes a matrix, returns markdown with row percentages, summary statistics, and optionally standard errors. It does not mention side effects, but as a read-only computation this is acceptable. However, it could note that it does not modify data.

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

    Conciseness3/5

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

    The description is structured with bullet points and a clear args list, but it is somewhat verbose. The first sentence is redundant with the title, and the docstring format includes parameter repeated from the schema. It could be trimmed without losing clarity.

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

    Completeness5/5

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

    Given 5 parameters, 0% schema coverage, and no annotations, the description is thorough. It covers all parameters with examples, explains the output (markdown matrix with indices and standard errors), and mentions return values without relying on an output schema. This is sufficient for correct agent invocation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters5/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate, and it does excellently. For each parameter it provides detailed explanations and examples (e.g., dimensions with matrix sizes, filter strings, grouping variables). This adds immense value beyond the bare schema, which only lists names and types.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description explicitly states the tool computes an intergenerational mobility transition matrix, using specific verbs like 'compute' and 'analyze'. It also clarifies it is the 'core analysis tool for social mobility research', distinguishing it from sibling tools like 'visualize_mobility'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description positions the tool as the primary analysis tool for mobility research, providing clear examples for parameters like 'filter' and 'by'. However, it does not specify when not to use this tool versus alternatives like 'tabulate' or 'visualize_mobility', leaving some ambiguity.

    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

emovi-mcp MCP server

Copy to your README.md:

Score Badge

emovi-mcp MCP server

Copy to your README.md:

Latest Blog Posts

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/Lalitronico/emovi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server