Skip to main content
Glama
oines

astral-bridge

by oines

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct operation: download media, retrieve various message types, send messages/files to group/private, and check conversation state. No ambiguity between tools.

    Naming Consistency5/5

    All tools follow a consistent `qq_verb_noun` snake_case pattern, using clear verbs like download, get, send, search and specific objects like media, message, group_file, private_message.

    Tool Count5/5

    10 tools is well-scoped for a messaging bridge, covering message retrieval, sending, file uploads, and state queries without superfluous or missing functionality.

    Completeness4/5

    Core message lifecycle is covered: read, search, send (text/files) for both group and private. Minor gaps like deleting messages or listing conversations exist but are acceptable for a bridge focused on message relay.

  • Average 2.9/5 across 10 of 10 tools scored.

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

    • 4 of 6 community issues answered or closed in the last 6 months
    • 23 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 Apache 2.0.

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

    No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states 'Get recent stored QQ messages' without explaining pagination (using before_message_id), ordering, default limit, or whether media is included. The minimal description leaves critical behavioral traits unspecified.

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

    Conciseness3/5

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

    The description is a single sentence with no wasted words, but its brevity comes at the cost of completeness. It does not earn its place because it omits essential information for tool invocation.

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

    Completeness1/5

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

    With no output schema, no annotations, and 0% parameter description coverage, the description is severely incomplete. It fails to explain pagination, error handling, rate limits, or response format, leaving an AI agent underinformed.

    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%, and the description adds no parameter details. Properties like target_type, target_id, limit, and before_message_id are not explained. The description does not help an agent understand parameter roles beyond their names and types.

    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?

    Description clearly states verb ('get'), resource ('recent stored QQ messages'), and context ('group or private conversation'). It matches the target_type enum. However, it does not explicitly differentiate from sibling tools like qq_get_message or qq_get_unread_messages, so clarity is slightly reduced.

    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. For example, it does not mention that this tool fetches stored history while qq_get_unread_messages filters unread, or that qq_search_messages is for searching. The description lacks usage context.

    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 but only says 'get'. It fails to disclose read-only nature, return structure, error handling, or whether the message must be previously stored by the bot. Minimal transparency.

    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 concise sentence with no wasted words. It is front-loaded with the verb and object. However, brevity comes at the cost of missing critical details.

    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 three parameters and no output schema, the description is severely incomplete. It omits return format, optional parameter roles, and any preconditions, leaving the agent underinformed for correct invocation.

    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 coverage is 0%; the description adds no meaning to parameters. It ignores target_type and target_id, leaving their purpose ambiguous given only message_id is required. The agent has no clue how to use optional params.

    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 it retrieves a stored QQ message by OneBot message_id, which distinguishes it from sibling tools that list or search messages. However, it could be more specific about the scope (e.g., 'single message').

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like qq_search_messages or qq_get_recent_messages. The agent receives no context about prerequisites or preferred scenarios.

    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?

    Without annotations, the description should fully disclose behavioral traits. It mentions downloading to local cache and returning a path, but does not specify side effects (e.g., overwrites), permission needs, or what happens if the attachment does not exist.

    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 no redundant words. Every part contributes to stating the tool's core action and result, which is ideal for 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 absence of annotations, output schema, and parameter descriptions, the description is too sparse. It does not cover prerequisites, return value format, or parameter semantics, making it incomplete for secure or correct use.

    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?

    With 0% schema description coverage, the description was expected to explain the three parameters (attachment_id, message_id, attachment_index). It fails to do so, leaving their roles and constraints entirely undocumented.

    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 'download' and the resource 'stored QQ image/file attachment', indicating its function. However, it does not explicitly differentiate from sibling tools like qq_send_group_file or qq_get_message, which might also involve attachments.

    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 lacks context about prerequisites, such as needing a message_id, or situations where other tools would be more appropriate.

    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?

    Description lacks details on behavioral traits such as authorization requirements, side effects, error handling, or limitations on file size/types. With no annotations, the description should fully disclose these, but it does not.

    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?

    Single sentence, no redundancy, efficiently states the action. Could be improved by front-loading key constraints, but acceptable.

    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?

    Tool has 3 parameters, no output schema, and no annotations. Description does not explain return values, error conditions, parameter formats, or operational limitations. Incomplete for effective agent use.

    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 has 0% coverage, so description must compensate. It implies file can be a local path or URL, but does not specify format for group_id or the name parameter. The optional name is mentioned but not explained. Adds minimal semantic value.

    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 it uploads a local file or URL to a QQ group, using a specific compatible action. It distinguishes the target (QQ group) from siblings like qq_send_private_file, but does not explicitly contrast with qq_send_group_message.

    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 like qq_send_group_message or qq_send_private_file. Missing context for when uploading a file is appropriate.

    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 should disclose behavioral traits like whether the tool is read-only, requires authentication, or has side effects. It simply states the operation, leaving the agent unaware of implications.

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

    Conciseness3/5

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

    The description is a single sentence, which is concise but lacks essential details. It earns a middling score because while brevity is valued, the content is too sparse.

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

    Completeness2/5

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

    Given the lack of output schema and annotations, the description should provide more context about what 'bridge state' entails and how the output can be used. It fails to make the tool self-contained.

    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?

    The input schema has 0% description coverage, and the description does not explain what 'target_type' or 'target_id' represent beyond their names. The agent gets no additional context to properly populate 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 verb 'Get' and the resource 'bridge state for a QQ conversation', making the tool's purpose unambiguous. It distinguishes from sibling tools like qq_get_message by specifying 'bridge state', which is unique.

    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, such as when to retrieve conversation state instead of messages. No prerequisites or context hints are given.

    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 for disclosing behavioral traits. It only states the basic purpose and fails to describe important behaviors such as search algorithm (e.g., exact match, partial match), case sensitivity, handling of no results, authentication requirements, or pagination. This leaves significant uncertainty for an agent.

    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 sentence of 10 words, extremely concise and front-loaded with the key action and scope. Every word is necessary; there is no superfluous information. It is the model of 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 has 4 parameters (3 required), no output schema, and no annotations, the description is too terse. It omits critical context such as the format of search results (list of message IDs? full message objects?), error behavior, rate limits, and how the search interacts with QQ's storage (e.g., date range? all history?). Sibling tools like 'qq_get_message' suggest there might be message IDs, but without output schema or further detail, an agent cannot reliably interpret results.

    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 does not explain the semantics of individual parameters: target_id format (e.g., numeric ID or string?), query syntax (free text, exact match?), or limit behavior. It only implies via the description that target_type and target_id specify the conversation, which is already clear from the schema. This adds minimal 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 searches stored QQ text messages and specifies the scope (group or private conversation). The name 'qq_search_messages' aligns with the action, and it is distinguishable from sibling tools like 'get_message' or 'get_recent_messages' which retrieve specific messages or lists rather than performing a search.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool vs alternatives. There is no mention of prerequisites, limitations, or when not to use it. The description lacks contextual cues that help an agent decide to invoke this over other message retrieval tools.

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

  • Behavior2/5

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

    With no annotations, the description must fully disclose behavior. It mentions it returns 'messages counted by the latest conversation_unread prompt', which is vague and jargon-heavy. It does not clarify whether the tool is read-only, if it marks messages as read, or any side effects like 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 only two sentences, focusing on the core function. However, the second sentence is somewhat redundant and uses unclear phrasing ('conversation_unread prompt'), slightly reducing clarity. Overall, it is concise but could be more 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 unread message retrieval, no output schema, and sibling tools, the description is incomplete. It does not describe the return format (e.g., list of messages, IDs, or full objects), pagination, or prerequisites. This leaves agents uncertain about how to use the response or how the tool fits with related functionality.

    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 coverage is 0%, so the description must compensate. It relates target_type to group/private conversation and implies target_id identifies the conversation, but it does not explain the limit parameter (its default, meaning, or effect). The description adds minimal value beyond the schema itself, leaving parameter semantics largely unexplained.

    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 it gets the current unread batch for a group or private conversation, specifying the verb 'get' and resource 'unread messages'. This distinguishes it from siblings like qq_get_recent_messages, which retrieves all recent messages, and qq_get_message, which gets a specific message.

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

    Usage Guidelines3/5

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

    The description implicitly indicates it is for unread messages, but it does not explicitly state when to use this tool versus alternatives like qq_get_recent_messages or qq_search_messages. No when-not-to-use guidance is provided, leaving the agent to infer usage context.

    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 bears full responsibility. It mentions accepting both local files and URLs, which is useful, but lacks details on behavioral traits such as file size limits, whether URL downloads are performed server-side, or whether the operation is idempotent. As an upload action, it likely creates a resource, but this is implicit.

    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, front-loaded sentence that immediately conveys the primary action and target. It is concise and avoids fluff, though it sacrifices important parameter details. The structure is efficient for the purpose it serves.

    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 low parameter coverage (0%), no output schema, and no annotations, the description is incomplete for an agent to safely and correctly invoke this tool. Key missing items include return value, error scenarios, prerequisites (e.g., logged-in user), and file path requirements. The description only covers the basic action.

    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%. The description does not elaborate on any of the three parameters (user_id, file, name). While 'file' is hinted at via 'local file or URL', there is no explanation of user_id format, the purpose of optional name, or constraints like supported file types. The agent must infer from parameter names alone.

    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 action ('Upload a local file or URL') and the target resource ('QQ private chat'). It distinguishes from siblings by specifying 'private' as opposed to group file sending, and also mentions the underlying protocol ('NapCat's OneBot-compatible file action'), providing clear purpose.

    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 clearly indicates use in private chats via the phrase 'to a QQ private chat', which helps differentiate from group file sending (sibling qq_send_group_file). However, it does not provide explicit when-not-to-use guidance or compare with sending private messages (qq_send_private_message), which may cause ambiguity for agents unaware of file vs message distinction.

    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 mentions support for ordered parts and replies but omits critical behavioral details like side effects, rate limits, authentication requirements, or what happens if the user is offline. The transparency is minimal beyond basic functionality.

    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 at two sentences, with the first sentence stating the core purpose. It is front-loaded and contains no redundant information, though a slightly more structured layout could improve readability.

    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 5 parameters (one required), 0% schema coverage, and no output schema, the description is insufficient. The tool supports complex features like ordered parts and replies, but the description does not explain how to use the 'parts' array, image formats, or reply functionality in enough detail for an agent to use correctly.

    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%, but the description only references 'parts' and 'reply_to_message_id' indirectly. Required parameter 'user_id' and optional 'message', 'images', and nested 'parts' structure are not explained. The description adds little meaning beyond parameter names.

    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 'send' and the resource 'QQ private message', and highlights specific features (ordered text/image parts, replying). It effectively distinguishes from sibling tools like qq_send_group_message and qq_send_private_file.

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

    Usage Guidelines3/5

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

    The description implies usage for sending private messages with ordered parts or replies, but lacks explicit guidance on when to use this over alternatives, such as qq_send_private_file for file-only messages. No exclusion criteria or prerequisites are mentioned.

    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 only discloses that it sends a message and supports ordered parts, but lacks details on mutation behavior, failure handling, auth requirements, or rate limits, leaving significant gaps.

    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 short sentences with no wasted words; the purpose is front-loaded and the feature support is concisely stated.

    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?

    Despite 5 parameters, no annotations, and no output schema, the description is minimal; it does not explain return values, usage of individual params beyond parts, or prerequisites for sending group messages, making it incomplete for an agent.

    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?

    The schema has 0% description coverage; the description adds some meaning to the 'parts' parameter (ordered types) but fails to explain other parameters like group_id, message, images, or reply_to_message_id, so it only partially compensates.

    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 'Send' and the resource 'QQ group message', and mentions support for mixed text, @mentions, and images, distinguishing it from sibling tools like qq_send_private_message.

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

    Usage Guidelines3/5

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

    The description implies usage for sending group messages but does not explicitly state when not to use it or provide alternatives; usage guidance is implied but not thorough.

    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

astral-im-bridge MCP server

Copy to your README.md:

Score Badge

astral-im-bridge 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/oines/astral-im-bridge'

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