Xadeus-QQ-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QQ_OVERRIDE | Yes | Your QQ number to override the --qq argument. Required for proper operation. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_statusA | Check QQ login status and NapCat connection status. |
| get_group_listA | Get the list of QQ groups the bot has joined. |
| get_friend_listA | Get the list of QQ friends. |
| get_recent_contextA | Get recent message context for a monitored group or whitelisted friend. Returns all buffered messages (backfill + real-time) without compression. Use compress_context to manually compress when needed. Images are returned as URL strings in each message's image_urls field. Args: target: Group ID or friend QQ ID. target_type: "group" (default) or "private". limit: Number of recent messages to return (default 200). |
| batch_get_recent_contextA | Batch query recent message context for multiple targets. More efficient than calling get_recent_context multiple times: uses at most 2 OneBot API calls (group list + friend list) regardless of how many targets are queried. Args: targets: List of dicts, each with "target" (ID) and optional "target_type" ("group" or "private", default "group"). Example: [{"target": "123", "target_type": "group"}, {"target": "456", "target_type": "private"}] limit: Number of recent messages per target (default 50). |
| send_messageA | Send a message to a monitored group or whitelisted friend. By default automatically waits for a reply after sending. Preferred way to send multiple messages: insert Args:
target: Group ID or friend QQ ID.
content: Text message content. May contain Split-point priority: num_chunks=1 → num_chunks≥2 → |
| wait_for_replyA | Wait for a new reply/message from a target. Blocks until a new message arrives from the specified target or the timeout expires. Returns any new messages received. Only returns non-self messages (others' replies, not the bot's own). Use this after send_message to wait for the other person's reply and continue the conversation in one agent turn. Args: target: Group ID or friend QQ ID. target_type: "group" (default) or "private". timeout: Maximum seconds to wait (default 120, max 300). |
| send_imageA | Send an image to a monitored group or whitelisted friend. Args: target: Group ID or friend QQ ID. image: Base64-encoded image data (without the base64:// prefix). target_type: "group" (default) or "private". reply_to: Optional message ID to reply to. |
| send_voiceA | Send a voice message to a monitored group or whitelisted friend. NapCat auto-converts common formats (MP3/WAV/AMR/OGG/FLAC) to SILK. Args: target: Group ID or friend QQ ID. audio: Base64-encoded audio data (without the base64:// prefix). target_type: "group" (default) or "private". |
| send_fileA | 下载 URL 文件并发送到群或私聊。 从 URL 下载文件然后上传到 QQ。支持任意文件类型。 Args: target: 群号或 QQ 号。 file_url: 文件的直接下载 URL。 file_name: 文件名(可选,默认从 URL 提取)。 target_type: "group"(默认)或 "private"。 |
| compress_contextA | Compress all buffered messages for a target into a summary. This replaces raw messages with a compressed summary, freeing up the buffer. Use this after reading context when you want to archive old messages. Args: target: Group ID or friend QQ ID. target_type: "group" (default) or "private". |
| screenshot_chatA | Take a QQ-style screenshot of chat messages starting from a specific message. Renders messages as a dark-mode QQ chat screenshot (iPhone style) and returns a base64-encoded PNG image. The screenshot starts from the given message_id and renders downward. If the messages fit on one screen, earlier messages are prepended to fill the screen (bottom-aligned). If they overflow, later messages are cut off at the bottom. Args: target: Group ID or friend QQ ID. message_id: The message ID to start rendering from. target_type: "group" (default) or "private". |
| test_wake_activationA | Manually trigger the wake activation sequence (for testing). |
| debug_wake_pipelineC | Debug the wake pipeline by simulating what happens when a message arrives. |
| diagnose_wakeC | Debug wake monitor state. |
| add_wake_ruleA | Add a wake rule: when a matching message arrives, opencode wakes up. Args: target_type: "group" or "private". target_id: Specific group or friend QQ ID (None = any). keywords: Keywords to match (empty list = any message). ignore_if_focused: Skip wake if opencode window already focused (default True). |
| list_wake_rulesA | List all wake rules for auto-wake. |
| remove_wake_ruleA | Remove a wake rule by index. Args: index: Index of the rule to remove (from list_wake_rules). |
| set_wake_enabledA | Enable or disable wake rules. Args: enabled: True to enable, False to disable. index: Rule index (None = all rules). |
| set_wake_pendingA | Manually set wake pending state. When pending=True, new messages will NOT trigger wake. When pending=False, new messages will trigger wake normally. Use this to prevent duplicate wakes while the agent is working. Args: pending: True to block wakes, False to allow. |
| get_wake_configA | Get current wake config (window title patterns, shortcuts). |
| set_wake_configA | Configure wake target window. Args: window_title_patterns: List of window title substrings to match (e.g. ["opencode", "cursor"]). focus_shortcut: Shortcut to focus input box, e.g. "ctrl+l". |
| mute_memberA | 禁言群成员。 Args: group_id: 群号。 user_id: 被禁言的 QQ 号。 duration: 禁言时长(秒),默认 600 秒(10分钟)。 |
| unmute_memberB | 解除群成员禁言。 Args: group_id: 群号。 user_id: 被解禁的 QQ 号。 |
| kick_memberB | 踢出群成员。 Args: group_id: 群号。 user_id: 被踢的 QQ 号。 reject_add_request: 是否拒绝再次加群请求。 |
| set_member_cardA | 设置群成员名片(群昵称)。空字符串清除名片。 Args: group_id: 群号。 user_id: 目标 QQ 号。 card: 新名片文字,空字符串表示清除。 |
| send_group_noticeB | 发送群公告。 Args: group_id: 群号。 content: 公告内容。 |
| recall_messageC | 撤回消息。发错了能撤回来,仅限机器人发送的消息或管理员。 Args: message_id: 要撤回的消息 ID。 |
| get_group_member_listC | 获取群成员列表。 Args: group_id: 群号。 |
| get_group_member_infoC | 获取指定群成员详细信息。 Args: group_id: 群号。 user_id: 目标 QQ 号。 |
| add_timerA | 添加定时任务。到时间通过 wake 唤醒 agent。 支持 cron 和间隔两种模式:
Args: message: 触发时发送给 agent 的内容。 cron_expr: cron 表达式 "minute hour * * *"。 interval_seconds: 间隔秒数。 once: 是否单次触发(触发后自动删除)。 |
| remove_timerA | 删除定时任务。 Args: index: 任务索引(从 list_timers 获取)。 |
| list_timersA | 列出所有定时任务。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mouse114514/Xadeus-QQ-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server