Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a distinct, non-overlapping purpose: create_carousel handles the full pipeline, create_template manages brand design, list_templates enumerates available designs, preview_slides structures content without rendering, and render_slides finalizes output. The descriptions clearly differentiate their roles, eliminating ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., create_carousel, list_templates, preview_slides, render_slides), with clear and predictable naming. There are no deviations in style or convention, making the set highly readable and uniform.

    Tool Count5/5

    With 5 tools, the server is well-scoped for carousel creation and management. Each tool serves a specific function in the workflow (from content processing to rendering and branding), and none feel redundant or missing, fitting the domain appropriately.

    Completeness4/5

    The toolset covers the core carousel lifecycle comprehensively: creation, templating, listing, previewing, and rendering. Minor gaps exist, such as no explicit update or delete operations for templates or carousels, but agents can work around this by reusing existing tools (e.g., create_template for updates).

  • Average 4.5/5 across 5 of 5 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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

  • Behavior4/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 effectively describes key behaviors: it supports Gemini-generated visuals (customSvg, customImageUrl), mentions platform-specific output formats, and advises checking for brand kits. However, it doesn't cover potential side effects like file system changes or error conditions.

    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 with clear sections (purpose, usage, features, tip, returns) and uses bullet points efficiently. Every sentence adds value, though the 'Tip' section could be integrated more seamlessly. It's 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.

    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, nested objects) and lack of annotations/output schema, the description does a good job covering key aspects: purpose, usage, visual support, and returns. However, it could better address error handling or performance considerations for a rendering tool.

    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 minimal value beyond the schema, mentioning slide plan sources and platform outputs but not elaborating on parameter interactions or constraints. 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.

    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 with specific verbs ('render') and resources ('slide plan into SVG + PDF or PNG'), distinguishing it from siblings like preview_slides (which previews) and create_carousel (which may involve different workflows). It explicitly mentions output formats for different platforms.

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

    Usage Guidelines5/5

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

    The description provides explicit guidance on when to call ('After preview_slides when you've reviewed or enhanced the slide plan') and includes alternatives ('Also accepts manually crafted slide plans'). It references sibling tools like list_templates and preview_slides, offering clear context 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the return format ('Array of template objects with name, description, and builtin flag'), which is helpful, but lacks details on potential errors, pagination, or performance characteristics (e.g., rate limits). It adequately describes core behavior but misses advanced 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 efficiently structured with clear sections (purpose, usage guidelines, returns), using bold headings for readability. Each sentence adds value without redundancy, and the information is front-loaded with the core purpose first.

    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 low complexity (0 parameters, no output schema, no annotations), the description is largely complete. It covers purpose, usage, and return format. However, without an output schema, it could benefit from more detail on the template object structure (e.g., field types), though the current level is sufficient for basic use.

    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 schema description coverage is 100% (empty schema). The description adds no parameter information, which is appropriate here. A baseline of 4 is applied for zero-parameter tools, as there is no need to compensate for schema gaps.

    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 specific action ('List') and resource ('available carousel design templates'), explicitly distinguishing scope ('built-in + user brand kits'). It differentiates from siblings like create_carousel (creation) and create_template (template management), making the purpose unambiguous.

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

    Usage Guidelines5/5

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

    The description provides explicit guidance with a dedicated 'When to call' section, specifying timing ('Before creating a carousel') and rationale ('to check if the user has custom brand templates'). It includes an alternative suggestion ('suggest using their branded design instead of the default'), clearly guiding usage relative to other tools.

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

  • Behavior4/5

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

    With no annotations provided, the description carries full burden. It discloses that the tool returns 'editable JSON' and outlines a multi-step workflow, including that slides may have 'aiSuggestion' fields and how to enhance them. However, it doesn't mention error handling, rate limits, or authentication needs, leaving some behavioral gaps.

    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 with clear sections (purpose, when to call, workflow, returns). It's appropriately sized but includes a detailed workflow that, while helpful, could be slightly verbose. Every sentence adds value, but it's not maximally concise.

    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 no annotations and no output schema, the description compensates well by explaining the return format ('SlidePlan JSON with slides array, sourceTitle, summary') and the workflow context. It addresses complexity by detailing how to use the output with other tools, making it complete for agent understanding.

    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 baseline is 3. The description does not add any parameter-specific information beyond what the schema provides (e.g., it doesn't explain 'content' formats or 'slideCount' implications in detail), but it doesn't need to since the schema is well-documented.

    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: 'Convert content into a structured slide plan WITHOUT rendering. Returns editable JSON.' It specifies the verb (convert), resource (content into slide plan), and distinguishes from sibling 'render_slides' by emphasizing 'without rendering.'

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

    Usage Guidelines5/5

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

    Explicitly provides when to call: 'When the user wants to review or edit slide content before rendering' and positions it as 'the first step in the enhanced workflow.' It distinguishes from 'render_slides' and mentions integration with Gemini MCP tools, offering clear alternatives and context.

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

  • Behavior4/5

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

    With no annotations provided, the description carries full burden and does an excellent job disclosing behavioral traits. It explains the three distinct processing modes, fallback behaviors when extraction fails, orchestration workflows for topic-only inputs, platform-specific outputs, and post-rendering suggestions. The only minor gap is not explicitly mentioning rate limits or authentication requirements.

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

    Conciseness4/5

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

    The description is well-structured with clear sections (modes, workflows, platforms, post-rendering) and uses bullet points effectively. While comprehensive, it's appropriately sized for a complex 8-parameter tool with multiple operational modes. Every sentence serves a purpose in clarifying usage.

    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 (8 parameters, 3 distinct modes, multiple workflows) and no annotations or output schema, the description provides exceptional completeness. It covers all operational scenarios, explains behavioral outcomes, provides usage examples, mentions platform specifics, and even suggests follow-up actions. This fully compensates for the lack of structured metadata.

    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?

    With 100% schema description coverage, the baseline is 3, but the description adds significant value by explaining how parameters interact in the three modes. It clarifies that content and sourceUrl are mutually exclusive alternatives, topic triggers research workflows, and platform affects output format. This contextual understanding goes beyond the schema's individual parameter descriptions.

    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's purpose as a 'full pipeline' that transforms content into slides and PDF/PNG outputs. It clearly distinguishes from sibling tools like create_template, list_templates, preview_slides, and render_slides by being the comprehensive end-to-end solution rather than individual components.

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

    Usage Guidelines5/5

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

    The description provides extensive guidance on when to use each input mode (content, sourceUrl, topic) and includes specific workflow examples. It explicitly mentions alternatives like firecrawl_scrape, web_fetch, gemini_deep_research, and supadata_transcript for different scenarios, giving clear context for tool selection.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes that the tool creates and saves a template for future use, includes design recommendations, and specifies the return value (saved template path and confirmation). However, it doesn't mention potential limitations like file size constraints, authentication requirements, or error conditions.

    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 well-structured with clear sections (purpose, when to call, tips, returns). Every sentence adds value: the first sentence explains the core functionality, the 'When to call' provides context, the 'Tips' offer practical guidance, and the 'Returns' clarifies outcomes. 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/5

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

    For a creation tool with 7 parameters, no annotations, and no output schema, the description does an excellent job covering purpose, usage context, and practical guidance. The main gap is the lack of explicit error handling or constraints documentation, but given the rich guidance provided and 100% schema coverage, it's mostly complete for agent usage.

    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?

    With 100% schema description coverage, the baseline is 3. The description adds significant value by explaining the purpose of parameters through design tips (e.g., 'Pick a dominant accent hue and build a monochromatic gradient' relates to colors.accent, 'Avoid Inter, Roboto, Arial' relates to typography fields). It provides practical guidance that goes beyond the schema's technical documentation.

    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 creates a custom brand template by overriding colors, typography, and layout from a base template. It specifies the resource (brand template) and action (create by overriding), distinguishing it from siblings like list_templates (list operation) and create_carousel (different resource).

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

    Usage Guidelines5/5

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

    The description includes an explicit 'When to call' section stating to use when the user wants carousels to match brand identity and saves the template for future use. It also provides 'Tips' with specific recommendations (e.g., start from 'professional' base, avoid certain fonts), offering clear guidance on when and how to use this tool effectively.

    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

carousels-mcp MCP server

Copy to your README.md:

Score Badge

carousels-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/houtini-ai/carousels-mcp'

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