napcat-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WOPAN_TOKENS | No | Path to the Wopan token file (equivalent to `bot.wopan.tokenFile` in config.json). |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| send_group_msgA | 向指定群发送一条消息。message 可以是纯文本字符串,或 OneBot 消息段数组。要发图片用 [{type:'image',data:{file:'<本地路径或http(s)链接>'}}];QQ表情用 {type:'face',data:{id:'<表情id>'}};@人用 {type:'at',data:{qq:'<qq或all>'}}。 |
| send_private_msgA | 向指定QQ好友发送一条私聊消息。message 可为纯文本字符串或 OneBot 消息段数组(详见 send_group_msg)。 |
| send_msgA | 通用发送消息。需通过 message_type 指定 private/group,再提供对应的 user_id 或 group_id。message 可为纯文本或消息段数组。 |
| send_group_forward_msgA | 以合并转发(聊天记录)形式向群发送若干条由 send_forward_node 构建的节点消息。nodes 为 node 消息段数组,每节点 {type:'node',data:{uin,nickname,content}}。 |
| delete_msgA | 按 message_id 撤回一条自己发送的或具有管理权限的消息。 |
| set_group_nameA | 修改指定群的群名称。需要机器人在该群且有相应权限(通常群主/管理);只影响目标群。 |
| set_group_remarkA | 为指定群设置「我」在本群的备注名(只改机器人自己看到的群名,不改真实群名)。 |
| set_group_cardB | 设置指定群成员在本群的群名片(昵称)。 |
| set_group_adminB | 设置或取消指定群成员的管理员权限。 |
| set_group_banA | 禁言群内指定成员,duration 单位为秒。 |
| set_group_whole_banA | 开启或关闭指定群的全员禁言(enable=true 开、false 关)。需要群管理权限。 |
| set_group_kickA | 将指定成员移出群聊(踢人)。需要机器人在该群且有群管理权限。 |
| set_group_leaveA | 让机器人主动退出指定群。不可逆,确认后再调用。 |
| send_pokeA | 在群聊或私聊中发送戳一戳。群聊需同时给 group_id 和 user_id。 |
| set_essence_msgA | 将群内一条消息设为精华消息。需要群管理权限。 |
| send_group_noticeA | 在群内发布公告。需要机器人具有发公告权限(NapCat 专用动作 _send_group_notice)。 |
| send_group_signB | 机器人以签到卡片形式在群内打卡。 |
| send_likeA | 给指定QQ点赞(次数建议1-10)。 |
| get_msgA | 根据 message_id 获取单条消息的详细信息。 |
| get_group_msg_historyA | 获取指定群的聊天记录(从 message_seq 起始,最多 count 条)。 |
| get_friend_msg_historyA | 获取与指定好友/临时会话的历史消息。 |
| get_forward_msgB | 获取合并转发(聊天记录)的具体内容。 |
| fetch_custom_faceB | 获取机器人QQ收藏(自定义)的表情包图片URL列表,可用于再发送。 |
| get_group_listA | 获取机器人加入的全部群聊列表(群号、群名等)。 |
| get_group_infoB | 获取指定群的详细信息(群名、人数、群主、公告等)。 |
| get_group_member_listA | 获取指定群的全部成员列表(成员较多时返回会较大)。 |
| get_group_member_infoA | 获取指定群内某成员的详细信息(昵称、群名片、角色、等级等)。 |
| get_group_honor_infoB | 获取群荣誉(龙王、群聊之火等)信息。 |
| get_essence_msg_listA | 获取指定群的全部精华消息列表。 |
| get_group_notice_listB | 获取指定群的公告列表(NapCat 专用动作 _get_group_notice)。 |
| get_group_mute_listA | 获取群内被禁言成员的列表(NapCat 专用动作 get_group_shut_list)。 |
| get_group_system_msgB | 获取入群申请/邀请等群系统通知。 |
| get_friend_listA | 获取机器人好友列表(好友QQ号、昵称等)。 |
| get_stranger_infoA | 获取指定QQ用户的信息(无需为好友)。 |
| get_group_file_system_infoA | 获取群文件空间大小与使用情况。 |
| get_group_root_filesB | 获取群文件根目录下的文件和文件夹列表。 |
| get_group_files_by_folderB | 获取群指定文件夹下的文件与子文件夹列表。 |
| get_group_file_urlB | 根据 file_id 获取群文件的下载URL。 |
| get_imageA | 根据图片 file 标识获取图片详细信息(含下载URL/路径)。 |
| get_recordA | 根据语音 file 标识获取语音文件信息,可转换格式。 |
| get_fileB | 获取一般文件消息的详细信息及本地/下载路径。 |
| get_login_infoA | 获取机器人(当前登录QQ)的信息。 |
| get_version_infoA | 获取NapCat/OneBot版本信息。 |
| get_statusA | 查机器人运行状态(是否在线/正常)。若要查 NapCat 版本用 get_version_info;查自身登录QQ用 get_login_info。 |
| get_online_clientsA | 获取当前登录QQ的在线客户端列表。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 45 tools
Most tools map to a distinct resource and action, with clear descriptions separating group management, messaging, and file operations. The main overlap is send_msg versus send_group_msg/send_private_msg, but the descriptions explicitly clarify the difference.
Tool names follow a consistent verb_noun pattern: set_group_*, get_group_*, send_*, get_*. Minor deviations like fetch_custom_face do not break the overall predictability.
45 tools is a very large surface for an MCP server. While the domain is broad, the number will create significant selection overhead for agents, and many related operations could be consolidated or grouped.
Core messaging, group management, member info, and file retrieval are well covered. Notable gaps include no way to approve/reject group requests fetched via get_group_system_msg and no file upload capability, but these are not fatal for typical bot workflows.