OmniQQ-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_napcat_environmentA | 检查本地 NapCatQQ 运行时安装状态、OneBot 端口 (3000/3001) 监听情况、本地缓存账号列表,并请求 GitHub Release API 对比官方最新版本。
适用场景:首次连接、排查接口调用失败或判断是否有新版本可升级时优先调用。不适用与替代:若仅需读取当前在线 QQ 的 user_id 与昵称,请改用轻量级的 |
| deploy_or_update_napcatA | 自动下载、解压并部署或升级本地 Windows NapCatQQ 运行时环境,同时自动写入 OneBot 11 (3000/3001) 端口配置。
适用场景:当 |
| list_qq_accountsA | 读取本地沙箱中所有已缓存登录凭证的 QQ 账号列表、当前默认激活账号及当前在线账号详情。
适用场景:在切换账号前查询有哪些历史已登录 QQ 号可供免扫码切换。不适用与替代:若仅需确认当前在线账号的 user_id 和昵称,请改用 |
| switch_qq_accountA | 在本地已保存登录凭证的多个 QQ 账号之间免扫码热切换,自动更新默认账号、OneBot 端口配置及按账号隔离的消息缓存池。
适用场景:目标 QQ 号此前已在本地扫码登录过(可通过 |
| login_new_qq_by_qrcodeA | 启动全新 QQ 账号的二维码扫码登录流程,生成高清二维码图片 ( |
| get_login_qrcode_imageA | 读取本地缓存的最新 NapCat 登录二维码图片路径 ( |
| start_napcat_serviceA | 启动本地 NapCatQQ 后台服务进程并等待 OneBot (3000/3001) 端口就绪,同时挂载后台 WebSocket 事件监听。
适用场景:当本地服务处于停止状态、需要以默认或指定已缓存账号拉起后台进程时调用(启动前会自动检查并结束冲突的独立 QQ.exe 进程;若检测到需要扫码登录,会自动把登录二维码放到桌面并提示用户打开扫描)。不适用与替代:若服务已在运行且需切换其他已缓存账号,请改用 |
| stop_napcat_serviceA | 安全终止本地后台运行的 NapCatQQ 沙箱进程(严格校验进程可执行文件与入口路径,绝不误杀系统其他 Node.js 进程)。
适用场景:需要彻底下线当前 QQ 机器人、释放本地 3000/3001 端口或维护运行时目录时调用。不适用与替代:若希望重启服务或切换其他已缓存 QQ 号上线,请直接改用 |
| send_private_msgA | 向指定 QQ 好友或私聊用户发送单条即时私聊消息 (OneBot 11: send_private_msg)。
适用场景:向个人 QQ 账号发送文本、CQ 码或富媒体消息段。不适用与替代:若目标是 QQ 群聊,请改用 |
| send_group_msgA | 向指定 QQ 群发送单条群聊消息 (OneBot 11: send_group_msg)。
适用场景:在已加入的 QQ 群内发布通知、@成员或发送富媒体消息。不适用与替代:若目标是个人好友私聊,请改用 |
| delete_msgA | 从私聊或群聊会话中永久撤回指定消息 (OneBot 11: delete_msg)。
适用场景:发错消息需紧急撤回,或作为群主/群管理员撤回群成员的违规发言。不适用与替代:若仅需将群精华消息移出精华列表或删除群共享文件,请通过 |
| upload_private_fileA | 将本机磁盘上的文件作为私聊附件发送给指定 QQ 好友 (NapCat OneBot 11: upload_private_file)。
适用场景:向个人 QQ 好友交付文档、表格、PDF 或压缩包等本地文件。不适用与替代:若需将文件上传至 QQ 群共享空间,请改用 |
| upload_group_fileA | 将本机磁盘上的文件上传至指定 QQ 群的群文件共享空间 (NapCat OneBot 11: upload_group_file)。
适用场景:向 QQ 群发布共享资料、汇总表或通知附件。不适用与替代:若需将文件单独私发给某个好友,请改用 |
| get_login_infoA | 获取当前在线 QQ 账号的基础身份信息,返回 |
| get_group_listA | 获取当前登录 QQ 账号已加入的全部 QQ 群列表,包含每群的 |
| get_recent_messagesA | 读取 MCP 服务后台通过 WebSocket 实时监听并保存在本地环形内存缓存池(上限 200 条,按登录账号隔离)中的近期 QQ 消息列表。
适用场景:快速轮询或按条件检索服务运行期间实时收到的最新私聊与群聊消息。不适用与替代:若需查询 MCP 启动之前的历史聊天记录或向更早页码翻页,请通过 |
| get_recent_notices_and_requestsA | 从本地 WebSocket 环形缓存池中读取近期实时捕获的群通知事件(群文件上传、消息撤回、禁言、成员变动)及加好友/加群验证请求。
适用场景:监听群动态或获取验证请求的 |
| clear_recent_messages_bufferA | 清空当前登录账号在本地 MCP 内存环形缓冲区中暂存的所有实时消息、群通知与请求事件记录。
适用场景:在完成一批消息处理或测试重置时,主动清空本地内存缓冲以避免重复读取旧事件。不适用与替代:本工具仅清空本地内存缓存,不会撤回 QQ 聊天消息(撤回请用 |
| call_napcat_apiA | 调用 NapCatQQ 任意 OneBot 11 标准或扩展底层 Action(覆盖全部 144+ 项功能)的通用兜底透传工具。
适用场景:仅当核心专用工具未覆盖所需功能时使用(例如查询历史记录 |
| list_supported_napcat_actionsA | 查询 NapCatQQ 引擎支持的全部 144+ 个底层 OneBot 11 与扩展 Action 名称分类目录。
适用场景:在准备调用 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| omniqq_control_guide | 获取使用 OmniQQ-MCP 控制 QQ 的最佳实践指南与常用工作流 |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| 近期收到的实时 QQ 消息流 | 后台 WebSocket 实时监听并滚动缓存的最新 QQ 私聊与群聊消息 |
| NapCat 环境与运行状态诊断 | 本地 NapCat 运行时安装情况、端口状态与版本信息 |
TDQS
Scored across 20 tools
Every description carries an explicit "not applicable, use X instead" clause, so an agent can reliably choose among superficially similar tools like get_login_info vs list_qq_accounts vs check_napcat_environment, or send_private_msg vs upload_private_file. The remaining overlap sits in the runtime-lifecycle cluster (start_napcat_service, switch_qq_account, login_new_qq_by_qrcode, deploy_or_update_napcat), which all stop/restart the same process and only the prose keeps them apart. call_napcat_api also overlaps everything by design, though its description fences it off as a fallback.
All 20 names are lowercase snake_case with a verb-first shape (check_/deploy_/list_/switch_/login_/get_/start_/stop_/send_/delete_/upload_/clear_/call_), and the paired tools mirror each other cleanly (send_private_msg/send_group_msg, upload_private_file/upload_group_file). Deviations like deploy_or_update_napcat and call_napcat_api are still verb-first and immediately readable.
Twenty tools is slightly above the comfortable band, but the domain genuinely spans four areas: runtime install/lifecycle, account switching and QR login, messaging, and file upload. Each tool maps to a distinct step, and the deliberate use of call_napcat_api plus list_supported_napcat_actions keeps the dedicated surface from ballooning to 144+. A couple of lifecycle tools (start vs switch vs login) could arguably be merged.
Core workflows — install/update, start/stop, QR login, account switch, send/recall messages, upload files, read recent traffic — are fully covered end to end, and the read side has a clear 200-message cache plus history fallback. However, notable operations such as group management (kick/ban/mute), friend and group info lookups, friend/group request approval, and history paging have no dedicated tool and require knowing exact action names for call_napcat_api. This is workable but adds a discovery step.