Skip to main content
Glama

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.1.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: configure_user_preferences and get_user_preferences handle user settings, create_slideshow and export_slideshow manage slideshow creation and export, export_document and render_markdown handle document processing, and open_file is a standalone file opener. The descriptions clearly differentiate their functions, eliminating any ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., configure_user_preferences, create_slideshow, export_document), using snake_case uniformly throughout. This predictability makes it easy for agents to understand and select the appropriate tool without confusion.

    Tool Count5/5

    With 7 tools, this server is well-scoped for its purpose of document and slideshow management, covering key operations like creation, export, rendering, and user preferences. Each tool earns its place, providing a balanced set without being too sparse or overwhelming.

    Completeness4/5

    The tool set covers core workflows for document and slideshow handling, including creation, export, rendering, and user preferences. However, there is a minor gap in update or delete operations for slideshows or documents, which agents might need to work around, though the existing tools support most common tasks effectively.

  • Average 2.9/5 across 7 of 7 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.

  • This server has been verified by its author.

  • 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?

    With no annotations provided, the description carries full burden for behavioral disclosure. While 'Set' implies a write/mutation operation, the description doesn't disclose whether this requires authentication, what permissions are needed, whether changes are permanent or reversible, or what happens if invalid values are provided. It mentions 'novice users' but doesn't explain how this differs from configuring preferences for other user types.

    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 at just 7 words, front-loaded with the core purpose, and contains zero wasted words or redundant information. Every word serves a distinct purpose in communicating the tool's function.

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

    Completeness2/5

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

    For a mutation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after configuration (success/failure indicators), doesn't mention authentication requirements, and provides minimal context about the relationship between the two parameters. The mention of 'novice users' creates ambiguity without clarification about how this affects the configuration.

    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 100%, so the schema already documents both parameters with basic descriptions. The description adds marginal value by implying these parameters relate to 'default open behavior' and 'novice users,' but doesn't provide additional semantic context about how these parameters interact or what 'default open mode' specifically controls beyond what's in the 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 clearly states the action ('Set default open behavior') and target audience ('for novice users'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from its sibling 'get_user_preferences' beyond the obvious set vs get difference, nor does it explain what 'open behavior' specifically refers to in context of the available parameters.

    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 guidance on when to use this tool versus alternatives. It doesn't mention the sibling 'get_user_preferences' tool for retrieving preferences, nor does it specify prerequisites, permissions needed, or appropriate contexts for setting user preferences versus other configuration 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates HTML but lacks details on permissions, side effects (e.g., file generation), error handling, or output format. This is insufficient for a tool with potential file system interactions and no output schema.

    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 single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and wastes no space, making it easy for an agent to parse quickly.

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

    Completeness2/5

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

    Given the complexity of creating HTML from images and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., file path, HTML string), error conditions, or dependencies, leaving significant gaps for agent usage.

    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 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond implying the tool processes images from a directory, which is covered by the 'image_dir' parameter. This meets the baseline for high schema coverage.

    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 clearly states the tool's purpose with a specific verb ('Create') and resource ('slideshow HTML from an image directory'), making it immediately understandable. However, it doesn't differentiate from sibling tools like 'export_slideshow' or 'render_markdown', which might have overlapping functionality, preventing a perfect score.

    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 guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'export_slideshow' or 'render_markdown', nor does it specify prerequisites or contexts for usage, leaving the agent without clear selection criteria.

    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 carries the full burden of behavioral disclosure. It states the tool exports markdown to PDF/DOCX but doesn't describe what 'export' entails (e.g., file creation, byte return, permissions needed, rate limits, or side effects). For a tool with 4 parameters and no annotations, this leaves significant gaps in understanding its 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/5

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

    The description is a single, efficient sentence with zero waste. It's front-loaded with the core purpose and appropriately sized for the tool's complexity.

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

    Completeness2/5

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

    Given no annotations, no output schema, and 4 parameters, the description is incomplete. It doesn't explain what the tool returns (e.g., file path, bytes, success status), behavioral details like error handling, or how parameters interact (e.g., 'source_path' for images). For a tool with this complexity, more context is needed.

    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 100%, so the schema already documents all parameters. The description adds no additional meaning beyond implying that 'content' is markdown and 'format' is PDF/DOCX, which the schema's enum and descriptions already cover. Baseline 3 is appropriate when the schema does the heavy lifting.

    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 clearly states the action ('Export') and target resource ('markdown text'), specifying the output formats ('PDF or DOCX'). It distinguishes from siblings like 'render_markdown' (which renders but doesn't export) and 'export_slideshow' (which exports slideshows, not markdown documents). However, it doesn't explicitly mention what 'export' entails (e.g., file generation vs. content transformation).

    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 is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing markdown content), exclusions (e.g., not for HTML export), or comparisons to siblings like 'render_markdown' (for preview) or 'export_slideshow' (for slides). Usage is implied from the description 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.

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the export action but fails to describe key traits like file output handling, permissions needed, error conditions, or performance aspects. This leaves significant gaps for a tool that likely generates files.

    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 single, efficient sentence with zero waste—it directly states the tool's purpose without redundancy. It's appropriately sized and front-loaded, making it easy to parse quickly.

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

    Completeness2/5

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

    Given no annotations and no output schema, the description is incomplete for a tool with 4 parameters that performs an export operation. It lacks details on return values, error handling, side effects, and usage context, which are crucial for effective tool invocation.

    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 100%, so the schema fully documents all 4 parameters. The description adds no additional parameter semantics beyond implying 'image_dir' is for input and 'format' for output type, which is already clear from the schema. Baseline 3 is appropriate as the schema does the heavy lifting.

    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 clearly states the action ('Export slideshow') and the target resource ('from an image directory'), with specific output formats ('HTML or PDF'). It distinguishes from siblings like 'create_slideshow' (creation vs. export) and 'export_document' (slideshow vs. document), but doesn't explicitly contrast them, keeping it at 4 rather than 5.

    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 is provided on when to use this tool versus alternatives like 'export_document' or 'create_slideshow'. The description implies usage for exporting slideshows from images, but lacks explicit context, prerequisites, or exclusions, resulting in minimal guidance.

    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 carries full burden. It mentions modes (web/word/pdf/ppt) but does not disclose critical behavioral traits such as permissions needed, whether it modifies files, error handling, or rate limits. For a tool that interacts with local files, this is a significant gap in safety and operational 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/5

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

    The description is a single, efficient sentence that front-loads the core purpose ('Open a local file/path') and adds necessary detail about modes. Every word earns its place with no redundancy or fluff.

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

    Completeness2/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, no annotations, no output schema), the description is insufficient. It does not explain return values, error conditions, or how modes affect behavior (e.g., what 'web' rendering entails). For a file operation tool, more context is needed to ensure safe and correct usage.

    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 100%, so the schema already documents all parameters well. The description adds minimal value by hinting at 'user preference or explicit mode' for 'open_as', but does not provide additional meaning beyond what the schema specifies for parameters like 'theme' or 'auto_play'.

    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 clearly states the action ('Open') and target ('a local file/path'), specifying it uses user preference or explicit modes. However, it does not explicitly differentiate from siblings like 'render_markdown' or 'create_slideshow', which might handle similar file types but with 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/5

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

    The description mentions using 'user preference or explicit mode' but provides no guidance on when to choose this tool over alternatives like 'render_markdown' for markdown files or 'export_document' for exporting. It lacks explicit when/when-not scenarios or named alternatives.

    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?

    With no annotations provided, the description carries full burden but only states the basic transformation function. It doesn't disclose important behavioral aspects like whether this is a read-only operation, what happens with invalid markdown, if there are rate limits, or how errors are handled. The description is minimal and lacks operational 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/5

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

    The description is a single, efficient sentence that states the core function without any wasted words. It's appropriately sized for a straightforward transformation tool and gets directly to the point.

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

    Completeness2/5

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

    For a tool with 5 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns (HTML string? file path?), doesn't mention the 'auto_open' parameter's limitation ('ignored in MCP'), and provides no context about error handling or performance characteristics.

    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 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema, such as explaining parameter interactions or providing usage examples. This meets the baseline for high schema coverage.

    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 clearly states the verb ('render') and resource ('markdown text') with the output format ('styled HTML'), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential siblings like 'export_document' or 'create_slideshow' that might also involve document processing.

    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 guidance on when to use this tool versus alternatives like 'export_document' or 'create_slideshow' from the sibling list. It doesn't mention prerequisites, constraints, or typical use cases beyond the basic function.

    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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a read operation, which is helpful, but lacks details about what 'open behavior' entails, whether it requires authentication, potential rate limits, or the format of returned data. The description is minimal and doesn't provide 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/5

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

    The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, 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.

    Completeness2/5

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

    Given the lack of annotations and output schema, the description is incomplete for a tool that presumably returns user preference data. It doesn't explain what 'open behavior' preferences include, the structure of the returned data, or any error conditions. For a read operation with no structured output documentation, this leaves significant gaps.

    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?

    The tool has 0 parameters, and the schema description coverage is 100% (though trivial since there are no parameters). The description doesn't need to explain parameters, and it appropriately focuses on the tool's purpose without redundant parameter information. A baseline of 4 is suitable for a zero-parameter tool.

    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 clearly states the action ('Read') and target resource ('current user preferences for open behavior'), making the purpose understandable. However, it doesn't explicitly differentiate from its sibling 'configure_user_preferences' beyond the read vs. configure distinction, which is implied but not stated.

    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 guidance is provided on when to use this tool versus alternatives. The description implies it's for reading preferences, but there's no mention of prerequisites, when not to use it, or how it relates to the sibling 'configure_user_preferences' beyond the basic read/write distinction.

    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

agent-reader MCP server

Copy to your README.md:

Score Badge

agent-reader 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/ebbfijsf/agent-reader'

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