Skip to main content
Glama
haoan33

OmniQQ-MCP

by haoan33

send_private_forward_msg

Sends a merged forward message to a specified QQ friend. Use it to deliver multiple message nodes as one private chat forward.

Instructions

向指定好友发送合并转发消息 (NapCat OneBot 11: send_private_forward_msg)。 节点格式示例: [{"type": "node", "data": {"name": "发送者昵称", "uin": "10001", "content": "消息内容"}}] :param user_id: 接收方好友 QQ 号 :param messages: 合并转发消息节点数组 (list of node dicts)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_idYes接收方好友 QQ 号
messagesYes合并转发消息节点数组 (list of node dicts)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3/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 behavioral burden. It is a mutation tool, yet nothing is said about permissions, rate limits, whether the message is reversible, or what the return value looks like. The node format example is useful but is structural, not behavioral.

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 is front-loaded and the example is valuable, but the trailing ':param' lines merely restate the schema descriptions verbatim, adding length without new meaning. The OneBot 11 action-name reference is only marginally useful.

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

Completeness3/5

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

For a tool whose only real complexity is building the nested node array, the inline example makes it callable. However, with no annotations and no output schema, the description should at least hint at success/failure behavior or the result shape, and it does not.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline would be 3. However, the description goes beyond the schema by supplying a concrete node format example ('[{type: node, data: {name, uin, content}}]'), which is genuinely needed to construct the 'messages' array that the schema leaves as an untyped items:{} list. This adds real construction 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 states a specific verb and resource ('向指定好友发送合并转发消息' – send a merged forward message to a specified friend), which inherently distinguishes it from send_group_forward_msg (group) and send_private_msg (single message). It does not explicitly name those siblings, but the scope is unambiguous.

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?

There is no when-to-use or when-not-to-use guidance, and no alternatives are named. An agent must infer that this is the tool for multi-node merged forwards to friends versus send_private_msg for single messages, but the description never states that.

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