Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose: get_identity retrieves a saved identity, get_rarity_report provides a formatted report of the latest roll, get_theme_for_platform returns platform-specific styling, roll_identity generates a new random identity, and save_last_roll persists the latest roll. There is no overlap in functionality, making tool selection straightforward for an agent.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case, such as get_identity, get_rarity_report, get_theme_for_platform, roll_identity, and save_last_roll. This uniformity enhances readability and predictability across the toolset.

    Tool Count5/5

    With 5 tools, the server is well-scoped for managing bot identities and related operations. Each tool serves a specific role in the identity lifecycle, from creation to retrieval and persistence, without being overly sparse or bloated.

    Completeness5/5

    The toolset provides complete coverage for the bot identity domain: roll_identity for creation, get_identity and get_rarity_report for retrieval, save_last_roll for persistence, and get_theme_for_platform for styling. There are no obvious gaps, supporting full agent workflows from generation to configuration.

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

    Annotations already indicate read-only, non-destructive, idempotent, and open-world behavior. The description adds valuable context beyond this by specifying what is returned for each platform (e.g., ANSI escape codes for terminal, CSS variables for web) and the fallback for unknown platforms (raw hex colours), enhancing behavioral understanding without contradicting annotations.

    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 front-loaded with the core purpose, followed by specific details in a single, efficient sentence. Every part of the text adds value, such as listing platforms and fallback behavior, with no redundant or wasted words.

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

    Completeness4/5

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

    Given the tool's low complexity (one parameter) and rich annotations, the description is mostly complete. It explains what the tool does and the platform-specific outputs. However, without an output schema, it could benefit from more detail on the return structure (e.g., format of the theme data), slightly limiting completeness.

    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% description coverage, clearly documenting the 'platform' parameter. The description adds some semantic value by listing the specific platform options and explaining the outcome for unknown platforms, but it does not provide additional syntax or format details beyond what the schema already covers, meeting the baseline for high schema coverage.

    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 action ('Get platform-specific styling for the bot') and specifies the resource ('theme'), distinguishing it from sibling tools like get_identity or roll_identity. It explicitly lists supported platforms, making the purpose specific and actionable.

    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 provides clear context on when to use this tool by listing supported platforms (terminal, web, slack, discord, ide) and handling for unknown platforms. However, it does not explicitly state when not to use it or name alternatives among sibling tools, which prevents a perfect score.

    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?

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=true, covering safety and idempotency. The description adds valuable context beyond this: it specifies the source file (bling.json), details what data is returned, and mentions error conditions (missing or invalid file), which are not captured in annotations.

    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 front-loaded with the core purpose in the first sentence, followed by error details. Every sentence earns its place by providing essential information without redundancy, making it efficient and well-structured for quick understanding.

    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 simplicity (0 parameters, no output schema) and rich annotations, the description is largely complete. It explains what data is retrieved, the source, and error cases. However, it could slightly enhance completeness by mentioning the return format or example output, though this is not critical due to the straightforward nature.

    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 0 parameters and 100% schema description coverage, the baseline is 4 as there are no parameters to document. The description does not need to compensate for any parameter gaps, and it appropriately focuses on the tool's behavior and output instead.

    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 verb 'Get' and the resource 'bot's full identity from bling.json', listing specific attributes like name, personality, quirks, appearance, and theme colours. It clearly distinguishes from siblings like get_rarity_report or get_theme_for_platform by focusing on identity retrieval rather than reports or platform-specific themes.

    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 provides clear context for when to use this tool: to retrieve the bot's configured identity, including hand-written or saved roll data. However, it does not explicitly state when not to use it or name alternatives like roll_identity for creating new identities, leaving some room for improvement in sibling differentiation.

    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?

    Annotations indicate this is a non-read-only, non-destructive, non-idempotent, closed-world operation. The description adds valuable context beyond annotations by specifying that it 'Stores the roll' (implying state change) and generates a 'random' identity with 'rarity score' and 'share card', which clarifies the mutation and output behavior. It does not contradict annotations, as 'Roll' implies creation (consistent with readOnlyHint=false) and storage aligns with non-idempotent.

    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 front-loaded with the core action ('Roll a fresh random bot identity') and efficiently adds details in a single, well-structured sentence. Every part earns its place by clarifying the character type, output features, and storage implications without unnecessary words or repetition.

    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 has 0 parameters, rich annotations, and an output schema (which handles return values), the description is complete. It covers the purpose, output characteristics (rarity, share card), and interaction with siblings (storage for save_last_roll and get_rarity_report), providing all necessary context for an agent to use it effectively without over-explaining.

    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% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing on the tool's purpose and output. A baseline of 4 is applied since it compensates by explaining the output semantics (rarity score, share card) rather than redundant parameter details.

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

    Purpose5/5

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

    The description clearly states the specific action ('Roll a fresh random bot identity') and resource ('quirky office-worker character'), distinguishing it from siblings like 'get_identity' (which likely retrieves) and 'save_last_roll' (which stores). It explicitly mentions the output includes a 'rarity score' and 'screenshot-ready share card', making the purpose highly specific and differentiated.

    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 provides clear context by stating it 'Stores the roll for save_last_roll and get_rarity_report', indicating when to use this tool (to generate a new identity) versus alternatives (e.g., use save_last_roll to store it, get_rarity_report for analysis). However, it does not explicitly state when NOT to use it or compare to all siblings like 'get_identity' or 'get_theme_for_platform', missing full alternative guidance.

    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?

    Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering safety and idempotency. The description adds valuable context beyond annotations: it specifies the output format ('formatted share card', 'plain text'), the error condition ('Errors if no roll has happened'), and the recency constraint ('most-recent'), enhancing behavioral understanding without 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?

    The description is front-loaded with the core action and resource, followed by output details and error conditions in two efficient sentences. Every sentence adds critical information (e.g., format specifics and usage limits) with zero waste, making it highly concise and well-structured.

    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 low complexity (0 parameters, annotations cover safety/idempotency, output schema exists), the description is complete. It explains what the tool does, when to use it, output format, and error conditions, leaving no gaps for an AI agent to understand and invoke it correctly without needing additional explanation.

    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 0 parameters and 100% schema description coverage, the baseline is 4 as no parameter documentation is needed. The description does not discuss parameters, which is appropriate since there are none, and it focuses on the tool's purpose and constraints instead.

    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 ('Return the formatted share card') and resource ('most-recent WOW roll'), distinguishing it from siblings like 'roll_identity' (which creates rolls) and 'save_last_roll' (which saves rolls). It precisely defines the output format ('lore header, paragraph, lore footer', 'plain text designed to be screenshotted directly'), making its 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?

    It explicitly states when to use this tool ('for the most-recent WOW roll') and when not to use it ('Errors if no roll has happened this session'), providing clear context and exclusions. This distinguishes it from alternatives like 'roll_identity' for creating rolls or 'get_identity' for retrieving identity data, offering complete 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?

    The description adds valuable behavioral context beyond annotations: it explains that existing files are backed up to '<path>.bak' for recovery, which is a critical detail not covered by annotations like destructiveHint. It also clarifies the return value behavior ('Returns the backup path or null'), enhancing transparency about outcomes. No contradictions with annotations are present.

    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 front-loaded with the core purpose in the first sentence, followed by backup behavior and return details. Each sentence adds essential information without redundancy, making it efficient and well-structured for quick understanding.

    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 (file writing with backup), rich annotations (e.g., destructiveHint), and the presence of an output schema, the description is complete. It covers the operation, backup mechanism, and return value, providing all necessary context for an agent to invoke it correctly without needing to explain return values separately.

    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 0 parameters and 100% schema description coverage, the baseline is 4 as per rules. The description compensates by explaining the implicit parameter context ('configured bling.json path'), adding meaning about where the file is saved without needing explicit input parameters.

    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 ('Persist the most-recent WOW roll by writing it to the configured bling.json path'), identifies the resource (WOW roll data), and distinguishes this from sibling tools like get_identity or roll_identity which don't involve file persistence. It uses precise verbs like 'write' and 'copied' to convey the operation.

    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 implies usage context by specifying 'most-recent WOW roll' and 'configured bling.json path', suggesting it should be used after a roll operation to save results. However, it does not explicitly state when to use this tool versus alternatives or provide exclusions, such as whether it's only for WOW rolls versus other data types.

    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

mcp-bling MCP server

Copy to your README.md:

Score Badge

mcp-bling 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/tjclaude88/mcp-bling'

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