Skip to main content
Glama
haoan33

OmniQQ-MCP

by haoan33

mark_msg_as_read

Mark a specified QQ message, private conversation, or group chat as read to clear unread status and keep inbox state current.

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

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

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.1.0
    • addedInput schema / additionalProperties
      Added value: +false
  2. First observedv1.0.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses the NapCat extension API mapping and the three operational modes, but says nothing about permissions required, whether the read state is reversible, or what happens when multiple parameters are combined.

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?

Purpose is front-loaded in a single clear sentence, followed by terse per-parameter notes. The param lines duplicate schema content, which is slightly wasteful, but overall it is compact and easy to scan.

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 3-optional-param mutation tool with no annotations and no output schema, the description explains what each parameter targets but omits behavioral essentials: parameter mutual exclusivity/precedence, permission requirements, and any indication of success/failure behavior. Adequate but with clear gaps.

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. The description's :param lines merely repeat the schema descriptions verbatim, adding no extra syntax, interaction, or defaulting information, so the baseline of 3 applies.

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 states a specific verb+resource ('将...标记为已读' = mark ... as read) and covers all three target scopes: a single message, a private chat, or a group chat. It also names the underlying NapCat API variants, making it unambiguous which sibling tool performs this action.

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 param annotations imply which mode to select (message_id vs user_id vs group_id), giving implied usage guidance, but there is no explicit when-to-use/when-not-to-use statement and no reference to alternatives such as delete_msg or get_msg. Guidance is inferable rather than stated.

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