Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct function: flushing, metadata retrieval, listing, publishing, scheduling, status checking, and deletion. No two tools have overlapping purposes, ensuring clear selection.

    Naming Consistency4/5

    Most tools follow a verb pattern (drain, publish, schedule, unpublish) or list_ prefix (list_profiles, list_subreddits), but hints and status are nouns. The inconsistency is minor and does not hinder understanding.

    Tool Count5/5

    Eight tools is well-scoped for a content distribution server, covering core operations without being overwhelming. Each tool has a clear role.

    Completeness5/5

    The tool set covers the full lifecycle: discovery (list_profiles, list_subreddits, hints), publishing (publish, schedule, drain), status checking (status), and deletion (unpublish). No obvious gaps.

  • Average 4.7/5 across 8 of 8 tools scored.

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

    • 0 of 1 community issues answered or closed 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.

  • This repository includes a glama.json configuration file.

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

    Despite no annotations, the description discloses side effects (external HTTP requests, writes to YAML backend, requires valid credentials) and idempotency on (content.id, channel). Lacks detail on rate limits or error handling but is otherwise 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?

    Three sentences, front-loaded with main action and side effects. No wasted words, covers purpose, side effects, idempotency, and sibling differentiation efficiently.

    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 output schema, the description covers key aspects: what it does, side effects, idempotency, and usage guidance. Lacks detail on return values or error scenarios, but overall sufficient for the tool's complexity.

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

    Parameters2/5

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

    Schema description coverage is low (33%), but the description adds minimal parameter-specific meaning beyond 'requires valid credentials in the named profile.' It does not explain the complex content and variants nested objects, which the schema does document partially.

    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 'Publish one or more channel variants immediately,' specifying the verb (publish) and resource (channel variants). It distinguishes from siblings like schedule (for future delivery) and drain (to flush queue).

    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 use this tool versus alternatives: 'Use publish for immediate-only delivery; use schedule when any variant needs a future schedule_at; use drain to flush a previously built queue.' Also notes idempotency and credential requirements.

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

  • Behavior5/5

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

    Discloses side effects: writes to YAML store, makes HTTP requests for immediate variants, requires credentials. States idempotent on (content.id, channel). No annotations provided, so description fully covers 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?

    Description is concise (5 sentences), front-loaded with purpose and usage, no redundant 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?

    Covers purpose, usage, side effects, idempotency, and alternatives. Missing explanation of return value/output (no output schema), though complexity and sibling differentiation are well-handled.

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

    Parameters2/5

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

    Schema description coverage is 33% (low), requiring description to compensate. However, description only mentions schedule_at in context, not other parameters like content, variants, profile_name. Insufficient addition beyond 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 the tool enqueues channel variants with schedule_at for future publishing and immediately publishes those without. It distinguishes from siblings: schedule for mixed timing, publish for all-immediate, drain for processing queue.

    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 tells when to use this tool versus alternatives: schedule when any variant needs future time, publish for immediate, drain for processing. Also mentions prerequisites (credentials) and idempotency.

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

  • Behavior5/5

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

    The description discloses side effects (read-only, no external HTTP calls) and determinism, which is critical for an agent. No annotations are provided, so the description fully compensates with clear behavioral traits.

    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 three sentences, front-loaded with the primary purpose, followed by filtering and behavioral notes, then usage context. Every sentence adds value with no redundancy or fluff.

    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 output schema, the description adequately explains return values (cooldown windows, flair vocabulary, last-posted metadata). It covers side effects, determinism, and parameter usage, making the tool's behavior fully understandable.

    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?

    The input schema has 100% coverage with a clear description for the profile_name parameter. The description adds only a paraphrased version ('allowed by that profile') but no additional constraints, formatting, or examples 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 the tool returns all subreddits with metadata, using a specific verb 'Return'. It distinguishes from sibling tools (e.g., list_profiles returns profiles, not subreddits) and provides concrete use case context for composing reddit variants.

    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 gives explicit guidance: use list_subreddits to select a subreddit and obtain flair IDs before composing a reddit channel variant. However, it does not explicitly mention when not to use this tool or suggest alternatives, missing some depth.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses non-idempotency, side effects (HTTP DELETE, soft delete on DEV.to), and error scenarios (platform 404, success=false). This provides comprehensive behavioral understanding.

    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 concise and front-loaded with purpose. It could be more structured (e.g., bullet points) but every sentence is valuable and avoids 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 (2 required params, no output schema, no annotations), the description covers purpose, behavior, side effects, idempotency, and workflow integration with siblings. It leaves no critical gaps for an AI agent.

    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 100% with good parameter descriptions. The description adds practical context, such as that live_url is obtained from status and channel includes platforms like devto, hashnode, etc. This adds value 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 the tool's action ('best-effort delete of a published post') and distinguishes it from siblings like publish, status, and drain. It uses specific verbs and resources.

    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?

    Explicit guidance is given on when to use this tool ('Use unpublish to retract a live post') and how to combine with siblings ('use status first to obtain the live_url; use publish to re-publish'). However, it does not explicitly state 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.

  • Behavior5/5

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

    Without annotations, the description fully covers behavioral traits: read-only, no external calls, no auth needed, fully deterministic, returning compile-time constants. No contradictions.

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

    Conciseness5/5

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

    Three succinct sentences: purpose, behavior, usage. No redundancy, efficiently structured.

    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?

    Adequately covers return values (character limits, flags, vocabulary, CTA rules) and deterministic behavior. Lacks explicit return format but sufficient for a simple tool.

    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 100% with a clear description of 'channel'. The description adds extra context (use platform prefix only), enhancing parameter understanding 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 the tool returns static per-channel metadata like character limits and Markdown support flags. It distinguishes itself from sibling tools by emphasizing read-only, deterministic behavior.

    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 advises using hints before composing variant bodies and then using publish or schedule for a valid variant, providing clear when-to-use and when-not-to-use guidance.

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

  • Behavior5/5

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

    Discloses side effects: 'makes external HTTP requests for each due entry; writes results to the YAML backend'. Also states idempotence and no-op behavior. No annotations provided, so description fully handles 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?

    Five concise sentences, each adding unique information: purpose, side effects, idempotence, usage guidance, and alternative tools. No redundancy or fluff.

    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 only one parameter, no output schema, and no annotations, the description covers all needed aspects: what it does, side effects, idempotence, usage pattern, and related tools. Fully complete.

    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 covers the parameter 'now' with a description. The description adds value by specifying default behavior: 'defaults to current UTC time when omitted'. Schema coverage is 100% so baseline is 3, but addition of default earns a 4.

    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 verb 'fire' and the resource 'scheduled posts due at or before a time boundary'. It differentiates from siblings by explicitly naming alternative tools: 'use publish or schedule to add new content; use status to inspect results after drain runs'.

    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?

    Provides explicit when-to-use ('on a recurring schedule to flush the queue'), when-not-to-use (use other tools for adding or inspecting), and additional context ('Safe to call from cron').

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

  • Behavior5/5

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

    Discloses side effects: read-only, no external HTTP calls, deterministic given backend state. Since no annotations exist, the description fully covers behavioral expectations, matching the ideal for 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?

    Two sentences: first explains output, second covers side effects and usage. Front-loaded, every sentence adds value, no 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?

    Despite lack of output schema and annotations, the description is fully complete: it specifies return type, side effects, and integration with sibling tools. No 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?

    Tool has zero parameters, so schema coverage is 100% trivially. Baseline for 0 parameters is 4. Description adds no param info, which is fine since there are none.

    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?

    Description clearly states it returns all distribution profile names from the YAML backend. It uses specific verb 'return' and resource, and distinguishes from siblings by positioning it as a prerequisite for publish, schedule, and list_subreddits.

    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 instructs to use list_profiles before calling publish, schedule, or list_subreddits, and to pass the chosen profile_name. Provides clear context of when and why to use this tool relative to siblings.

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

  • Behavior5/5

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

    With no annotations provided, the description fully discloses behavioral traits: it is read-only, makes no external HTTP calls, requires no authentication, and is deterministic given unchanged backend state. This is comprehensive and adds significant context beyond what annotations would provide.

    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 three sentences, each earning its place: purpose and filters, side effects, usage guidance. It is front-loaded and contains no verbose or redundant information.

    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 simplicity (2 optional params, no output schema), the description is fully sufficient. It covers what the tool returns (publish state), how to filter, its side effects, and how it relates to sibling tools. There are no 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?

    Schema coverage is 100%, so baseline is 3. The description adds value by explaining the combination behavior of the two filters and the default behavior when neither is given ('returns all entries when neither is given'). This 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 starts with 'Return publish state for content pieces', which is a specific verb+resource. It distinguishes itself from sibling tools by explicitly mentioning that state-changing operations should use other tools (publish, schedule, drain).

    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 use the tool ('inspect what has been published, what is queued, or what errored') and when not to ('use publish, schedule, or drain to change state'). This makes the decision boundary very clear.

    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

content-distribution-mcp MCP server

Copy to your README.md:

Score Badge

content-distribution-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/AutomateLab-tech/content-distribution-mcp'

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