Skip to main content
Glama
haoan33

OmniQQ-MCP

by haoan33

send_msg

Send private or group QQ messages by specifying message_type, target_id, and message content. Supports CQ codes or plain text for OneBot 11 integrations.

Instructions

通用消息发送接口 (OneBot 11: send_msg),可根据 message_type 发送私聊或群聊消息。 :param message_type: 消息类型,'private' (私聊) 或 'group' (群聊) :param target_id: 当 message_type='private' 时为对方 QQ 号;为 'group' 时为目标群号 :param message: 要发送的消息文本或 CQ 码 :param auto_escape: 是否不解析 CQ 码,默认 False

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
messageYes要发送的消息文本或 CQ 码
target_idYes当 message_type='private' 时为对方 QQ 号;为 'group' 时为目标群号
auto_escapeNo是否不解析 CQ 码,默认 False
message_typeYes消息类型,'private' (私聊) 或 'group' (群聊)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

C2.5/5.0
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 the operation is a message send but discloses nothing about rate limits, permissions, return values, or side effects for a mutation tool. The only behavioral hint (message_type drives routing) is already implied by the parameter set.

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 purpose sentence is reasonably front-loaded, but the four :param lines duplicate the input schema one-for-one and inflate the definition without adding information. This redundancy costs structure quality.

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?

A mutation tool with no annotations and no output schema should describe behavioral traits (permissions, return shape, failure modes) in the description. It instead only restates parameters, leaving the behavioral burden unmet for an agent deciding how to call it safely.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters. The description's :param blocks merely repeat the schema text verbatim, adding no syntax, format, or edge-case detail beyond it. Baseline 3 is appropriate.

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

Purpose3/5

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

The description states a verb and resource ('通用消息发送接口' / send_msg) and explains it sends private or group messages based on message_type. However, it is a generic framing that fails to differentiate from siblings send_private_msg and send_group_msg, which do the same thing with a fixed type.

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 when-to-use guidance and no mention of the specialized siblings (send_private_msg, send_group_msg). The agent must infer when the general send_msg is preferable to the dedicated tools, which is exactly the ambiguity this field should resolve.

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