Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. Each tool targets a specific resource (blog, post) and action (create, delete, get, list, publish, revert, update), making it easy for an agent to select the correct one. The separation between operations like publish_post and revert_post is particularly clear.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case throughout, such as create_post, delete_post, and list_blogs. There are no deviations in naming conventions, making the set predictable and readable for an agent.

    Tool Count5/5

    With 9 tools, this server is well-scoped for managing blogs and posts, covering essential operations without bloat. Each tool earns its place by addressing a specific need in the blogging workflow, from listing blogs to handling post lifecycles.

    Completeness5/5

    The tool surface provides complete CRUD/lifecycle coverage for the blogging domain. It includes create, read (get/list), update, and delete for posts, plus additional lifecycle actions like publish and revert, with no obvious gaps that would cause agent failures.

  • Average 2.9/5 across 9 of 9 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.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?

    With no annotations provided, the description carries full burden for behavioral disclosure. 'Publish a draft post' implies a mutation operation (changing post status from draft to published) but doesn't specify whether this is reversible, what permissions are required, whether it triggers notifications, or what happens on failure. For a mutation tool with zero annotation coverage, this leaves significant behavioral questions unanswered.

    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 maximally concise at just three words, front-loading the essential action and resource. Every word earns its place: 'Publish' specifies the action, 'draft post' specifies the target resource and its required state. There is zero wasted verbiage or unnecessary elaboration.

    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 2 required parameters, 0% schema description coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what happens after publishing (success/failure states), what the parameters mean, or any behavioral implications. The agent would need to guess about parameter semantics and post-publishing effects.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning neither blogId nor postId parameters have descriptions in the schema. The tool description provides absolutely no information about these parameters - not what they represent, where to find them, what format they should be in, or how they relate to each other. The description fails to compensate for the complete lack of schema documentation.

    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 'Publish a draft post' clearly states the action (publish) and the resource (draft post), making the tool's purpose immediately understandable. It distinguishes from siblings like create_post, update_post, and delete_post by focusing specifically on transitioning a draft to published state. However, it doesn't explicitly differentiate from revert_post which might also involve post status changes.

    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 prerequisites (e.g., that a draft post must exist), when not to use it (e.g., for already published posts), or how it differs from similar tools like update_post which might also affect post status. The agent must infer usage context from the tool name and sibling relationships alone.

    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. It states this is an update operation, implying mutation, but doesn't disclose behavioral traits such as required permissions, whether changes are reversible, rate limits, error handling, or what happens to unspecified fields. For a mutation tool with zero annotation coverage, 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.

    Conciseness4/5

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

    The description is a single, efficient sentence that front-loads the core action. It wastes no words but could benefit from slightly more detail given the lack of annotations and schema descriptions. Overall, it's appropriately sized for its content.

    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 (mutation tool with 5 parameters, 0% schema coverage, no annotations, no output schema), the description is incomplete. It doesn't explain return values, error cases, or provide enough context for safe and effective use. It should do more to compensate for the missing structured data.

    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 0%, so the description must compensate. It mentions parameters ('title/content/labels') but doesn't explain their semantics, formats, or constraints. It omits blogId and postId entirely, which are required parameters. The description adds minimal value beyond the schema, failing to address the coverage gap adequately.

    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 ('Update') and resource ('an existing post'), and specifies what can be updated ('title/content/labels'). It distinguishes from siblings like create_post, delete_post, and get_post by focusing on modification rather than creation, deletion, or retrieval. However, it doesn't explicitly differentiate from revert_post (which might also modify a post).

    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 prerequisites (e.g., needing blogId and postId), when not to use it (e.g., for new posts vs. existing ones), or direct alternatives like revert_post for undoing changes. Usage is implied by the action but not explicitly contextualized.

    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. 'Fetch' implies a read-only operation, but it doesn't specify whether authentication is required, if there are rate limits, what happens on invalid IDs, or the return format. For a tool with zero annotation coverage, 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 extremely concise at three words, with zero wasted language. It's front-loaded with the core action ('Fetch a single post'), making it easy to scan. Every word earns its place by conveying essential information without redundancy.

    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 (a read operation with two required parameters), lack of annotations, 0% schema coverage, and no output schema, the description is incomplete. It doesn't explain parameter meanings, behavioral traits like error handling, or what the tool returns. For a tool in this context, more detail is needed to be fully actionable.

    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 0%, meaning the two required parameters (blogId, postId) are undocumented in the schema. The description adds no information about these parameters—it doesn't explain what they represent, their format, or how to obtain them. This fails to compensate for the lack of schema documentation, leaving parameters semantically unclear.

    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 'Fetch a single post' clearly states the verb ('fetch') and resource ('post'), making the purpose immediately understandable. It distinguishes this from siblings like 'list_posts' (multiple posts) and 'create_post' (write operation). However, it doesn't specify what 'fetch' entails (e.g., retrieving by ID), which prevents 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 prerequisites (e.g., needing a blogId and postId), differentiate from 'list_posts' for multiple posts, or explain when to use 'get_blog_by_url' instead. Without such context, the agent must infer usage from the tool name alone.

    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 action without behavioral details. It lacks information on permissions required, whether the revert is reversible, side effects (e.g., notifications, version history), or error conditions (e.g., if post is already a draft). This is inadequate for a mutation tool with zero annotation coverage.

    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 wasted words. It is front-loaded with the core action and outcome, making it easy to parse quickly. Every word earns its place by conveying essential purpose.

    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 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is incomplete. It covers the basic purpose but lacks usage guidelines, parameter details, behavioral context, and output expectations, leaving significant gaps for agent invocation.

    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 0%, so the description must compensate but adds no parameter information. It does not explain what 'blogId' and 'postId' represent, their format, or how to obtain them (e.g., from 'list_posts'). This leaves both parameters undocumented, failing to bridge the coverage gap.

    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 ('revert') and target resource ('a published post'), specifying the outcome ('back to draft'). It distinguishes from siblings like 'delete_post' (removal) and 'update_post' (modification), but could be more explicit about how it differs from 'create_post' or 'publish_post' in terms of state change.

    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 implies usage on published posts only, but provides no explicit guidance on when to use this tool versus alternatives like 'update_post' for editing content or 'delete_post' for removal. No prerequisites (e.g., post must be published) or exclusions are stated, leaving gaps for agent decision-making.

    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 that 'isDraft=true saves as draft', which implies a mutation with a draft state, but fails to cover critical aspects like required permissions, whether creation is irreversible, rate limits, or what happens on success/failure. This leaves significant gaps for a mutation 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 extremely concise with two sentences that directly convey the tool's purpose and key parameter details. Every word serves a purpose, with no redundant information, making it front-loaded and efficient.

    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 a mutation tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It lacks information on behavioral traits, error handling, return values, and usage context, which are essential for safe and effective tool invocation in this scenario.

    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 40%, and the description adds some value by clarifying that 'Content is HTML' and 'labels is a list of tags', which helps interpret parameters beyond the schema. However, it doesn't fully compensate for the low coverage, as parameters like 'blogId' and 'title' remain without additional context, and no details on formats or constraints are provided.

    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 ('Create a new blog post') and specifies the resource ('blog post'), which provides a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'update_post' or 'publish_post' beyond mentioning the draft functionality, which slightly limits its distinctiveness.

    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 'update_post' or 'publish_post', nor does it mention prerequisites such as needing an existing blog or permissions. It only hints at usage by noting the draft option, but lacks explicit when/when-not instructions 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, the description carries full burden. It discloses permanence ('permanently'), which is a key behavioral trait beyond basic deletion. However, it lacks details on permissions needed, side effects (e.g., comments deletion), error handling, or confirmation steps. For a destructive tool, 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, front-loaded sentence with zero waste. It directly states the tool's purpose without unnecessary words. Every part ('Delete a post permanently') earns its place by conveying essential information efficiently.

    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 destructive nature, complexity is moderate, but with no annotations and no output schema, the description is incomplete. It doesn't cover return values, error cases, or important behavioral nuances. For a permanent deletion tool among siblings like revert_post, more context on implications and usage 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 0%, so the description must compensate. It doesn't add any meaning beyond the schema—no explanation of what blogId/postId represent, their format, or how to obtain them. The baseline is 3 because the schema defines two required parameters clearly, but the description fails to enhance understanding.

    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 ('Delete') and resource ('a post'), specifying it's permanent. It distinguishes from siblings like revert_post (which might undo) and update_post (which modifies), but doesn't explicitly name alternatives. The purpose is specific but could better differentiate from other destructive operations.

    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 is provided. The description doesn't mention prerequisites (e.g., needing postId/blogId), exclusions (e.g., not for drafts vs. published posts), or when to choose delete over revert_post. Usage is implied by the name 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool resolves a Blog ID from a URL, implying a read-only lookup operation, but doesn't describe error handling (e.g., for invalid URLs), performance characteristics, authentication needs, or what happens if the blog doesn't exist. For a tool with zero annotation coverage, this is a significant gap.

    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 ('Resolve a Blog ID from a blog URL') and includes a helpful example. There is zero waste—every word earns its place.

    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 simplicity (1 parameter, no output schema) and lack of annotations, the description is incomplete. It doesn't explain what the resolved Blog ID is used for, how it's returned, or potential errors. For a lookup tool in a blog management context, more context about the ID's purpose or integration with other tools would be helpful.

    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 schema has 1 parameter with 0% description coverage, so the description must compensate. It adds meaning by specifying that the 'url' parameter should be a blog URL (e.g., 'https://xxx.blogspot.com'), which clarifies the expected format beyond the schema's generic string type. However, it doesn't detail constraints like URL validation rules or supported domains.

    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: 'Resolve a Blog ID from a blog URL'. It specifies the verb ('resolve') and resource ('Blog ID'), and provides an example URL format. However, it doesn't explicitly differentiate from sibling tools like 'list_blogs' or 'get_post', which could also involve blog identification.

    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 prerequisites, when-not-to-use scenarios, or compare it to siblings like 'list_blogs' (which might list blogs without URL resolution) or 'get_post' (which might retrieve posts rather than blog metadata).

    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. 'List posts of a blog' implies a read operation but does not specify whether it requires authentication, has rate limits, returns paginated results, or handles errors. For a tool with three parameters and no annotation coverage, this is a significant gap in 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 single, efficient sentence with no wasted words. It is front-loaded and directly states the tool's purpose without unnecessary elaboration, making it easy to parse quickly. This meets the criteria for high conciseness.

    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 (three parameters, no annotations, no output schema), the description is incomplete. It lacks details on behavioral traits, parameter usage, and output expectations. For a list operation that likely returns multiple items, more context is needed to guide effective use, making this inadequate for the tool's requirements.

    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 description does not mention any parameters, leaving all semantic details to the input schema. With schema description coverage at 33% (only 'status' has a description), the parameters 'blogId' and 'maxResults' are undocumented. The description adds no value beyond the schema, but since the schema provides some coverage, a baseline score of 3 is appropriate.

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

    Purpose4/5

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

    The description 'List posts of a blog' clearly states the verb ('list') and resource ('posts of a blog'), making the tool's purpose understandable. However, it does not distinguish this tool from potential siblings like 'list_blogs' or 'get_post', which could cause confusion in selection. The specificity is adequate but lacks sibling differentiation.

    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. With siblings like 'list_blogs', 'get_post', and 'get_blog_by_url', there is no indication of context, prerequisites, or exclusions. This absence of usage instructions may lead to incorrect tool selection by an AI agent.

    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 lists blogs, implying a read-only operation, but doesn't cover critical aspects like pagination, sorting, error handling, or authentication requirements beyond the user context. This leaves significant gaps for a tool that likely returns multiple items.

    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 function without any wasted words. It's appropriately sized for a simple list operation and front-loads the key information, 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 tool's simplicity (0 parameters, no output schema), the description is minimal but adequate for basic understanding. However, it lacks completeness for practical use: no output format details, no error handling, and no differentiation from siblings. With no annotations to fill these gaps, the description should provide more context for reliable agent invocation.

    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 input schema has 0 parameters with 100% description coverage, so the schema fully documents the absence of parameters. The description doesn't need to add parameter details, but it implicitly clarifies that no filtering parameters are available (e.g., it lists all blogs for the user). This slight added context justifies a score above the baseline of 3.

    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 ('List') and resource ('blogs owned by the authenticated user'), making the purpose unambiguous. However, it doesn't explicitly distinguish this tool from sibling tools like 'list_posts' or 'get_blog_by_url', which prevents 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 like 'list_posts' or 'get_blog_by_url'. It mentions the scope ('owned by the authenticated user'), but lacks explicit when-to-use or when-not-to-use instructions, leaving the agent to infer context.

    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

blogger-mcp MCP server

Copy to your README.md:

Score Badge

blogger-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/mech12/blogger-mcp'

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