Skip to main content
Glama
haoan33

OmniQQ-MCP

by haoan33

get_recent_messages

Retrieve recently cached QQ messages via OmniQQ-MCP, filtering by private/group chat, target ID, or keyword.

Instructions

获取 MCP 服务后台通过 WebSocket 实时监听并缓存的近期 QQ 消息列表。 支持按私聊/群聊、目标 QQ 号或群号、关键词过滤。 :param count: 返回的最大消息条数,默认 20 :param chat_type: 消息类型过滤: 'all' (全部), 'private' (仅私聊), 'group' (仅群聊) :param target_id: 按特定群号 (group_id) 或特定用户 QQ 号 (user_id) 过滤 (可选) :param keyword: 按消息文本或发送者昵称关键词过滤 (可选) :param include_self_sent: 是否包含自己发出的消息,默认 False

Input Schema

NameRequiredDescriptionDefault
countNo返回的最大消息条数,默认 20
keywordNo按消息文本或发送者昵称关键词过滤 (可选)
chat_typeNo消息类型过滤: 'all' (全部), 'private' (仅私聊), 'group' (仅群聊)all
target_idNo按特定群号 (group_id) 或特定用户 QQ 号 (user_id) 过滤 (可选)
include_self_sentNo是否包含自己发出的消息,默认 False

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

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries full burden and does disclose a meaningful trait: the data is a cached, real-time-monitored buffer rather than a server-side history pull, which implies freshness and retention limits. It does not state that this is a read-only operation, how large/old the cache is, or how it relates to clear_recent_messages_buffer, so key behavioral context is missing.

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 opening sentences are front-loaded and describe the data source before the parameter list, which reads cleanly. However, the five ':param' lines duplicate already-complete schema descriptions, so a substantial portion of the text does not earn its place.

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 5-parameter read tool with no output schema and no annotations, the description covers the data source and all filters but omits the shape of returned messages, any cache-size or recency bound, and the relationship to clear_recent_messages_buffer. 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 coverage is 100% and the ':param' lines restate the schema descriptions verbatim, adding no syntax, format, or interaction detail beyond them. Baseline 3 applies since the schema already does all the work.

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 names a specific verb+resource ('获取...缓存的近期 QQ 消息列表') and adds real scope: messages are captured live via WebSocket and cached by the MCP backend. That scope implicitly separates it from the history siblings get_friend_msg_history/get_group_msg_history, but it never names an alternative, so it stops short of a 5.

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?

It states what can be filtered (私聊/群聊, target QQ/群, keyword) which implies retrieval scenarios, but gives no explicit when-to-use or when-not-to-use guidance and never contrasts itself with get_friend_msg_history, get_group_msg_history, or get_recent_contact. Usage must be inferred from the filter list.

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