Skip to main content
Glama
haoan33

OmniQQ-MCP

by haoan33

mark_msg_as_read

Marks a specified message, private chat, or group chat as read to remove unread status in QQ.

Instructions

将指定消息、私聊会话或群聊会话标记为已读 (NapCat 扩展接口: mark_msg_as_read / mark_private_msg_as_read / mark_group_msg_as_read)。 :param message_id: 消息 ID (可选) :param user_id: 好友 QQ 号,标记该私聊已读 (可选) :param group_id: 群号,标记该群聊已读 (可选)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_idNo好友 QQ 号,标记该私聊已读 (可选)
group_idNo群号,标记该群聊已读 (可选)
message_idNo消息 ID (可选)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations at all, the description carries the full behavioral burden, yet it only states the mutation and the wrapped interface names. It does not disclose side effects (e.g., whether clearing one message also clears the session's unread badge), permission requirements, idempotency, or failure behavior for an all-optional-parameter mutation.

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 core action is front-loaded in a single clear sentence, and the trailing :param lines are compact. They are, however, pure duplication of the schema descriptions, which slightly dilutes the value of the text.

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 three-parameter mutation with no annotations and no output schema, the definition covers the action and targeting options but omits what the tool actually does when multiple or zero of the optional parameters are provided, and what effect/return the caller should expect.

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 three parameters, and the description's parameter lines are verbatim duplicates of those descriptions. Baseline 3 is appropriate since no additional semantics (mutual exclusivity, precedence, defaults) are added.

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?

States a specific verb+resource: mark a message, private chat, or group chat as read, and names the three underlying NapCat interfaces it wraps. No sibling in the list performs a read-state mutation, so the agent can place it easily, though it does not explicitly say how it differs from read-only siblings like get_msg.

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?

Usage is only implied through the parameter descriptions (message_id for a single message, user_id for a private chat, group_id for a group chat). There is no explicit statement of when to prefer one targeting mode, what happens if multiple or no parameters are supplied, or any prerequisite context.

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