yan
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WXLENS_AUTO_START | No | Set to false to disable automatic startup of WxLens. Default is true. | true |
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
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_sessionsB | 列出微信会话列表(私聊/群聊),按最近活跃时间排序 |
| search_messagesA | 按关键词搜索微信聊天记录,可限定会话和时间范围 |
| get_recent_messagesB | 获取指定会话的最近 N 条聊天记录 |
| get_message_by_idB | 按单个会话和稳定localId有界回查眼提供的content字段;不做字符截断,可用nextOffset续读。 |
| list_contactsC | 查询微信联系人信息 |
| check_new_messagesC | 检查最近有新消息的会话,或检查指定会话是否有新消息 |
| read_merged_forwardB | 读取一条微信合并转发聊天记录。先按session_id + local_id精确回查,再用有限关键词查询补充索引变体;返回当前数据库可见的嵌套文本,并明确是否为完整原始记录。 |
| read_wechat_postA | 读取微信聊天中的帖子、文章、链接卡片或长文本。先按session_id + local_id精确回查,再用有限关键词查询补充索引变体;外部网页不会自动联网抓取。 |
| list_wechat_attachmentsC | 列出微信已在本机下载的文件和附件;仅扫描本地白名单目录,不触发微信下载。 |
| extract_wechat_attachment_textB | 提取已下载微信文件正文或媒体证据。支持常见文档、表格、演示、电子书、文本、ZIP文本项、图片OCR,以及音视频本地ASR、关键帧OCR和时间戳证据。 |
| search_wechat_attachment_textC | 在微信已下载的本地文件正文中搜索关键词;只读扫描,不修改微信文件或数据库。 |
| analyze_wechat_chatA | 分页读取最多5000条指定会话消息,执行多标签分类、风险/资产提取和证据索引;可将原始JSON、分析JSON和Markdown写入本地工作区。 |
| export_wechat_packageB | 在本机导出会话证据 ZIP。附件只提取 attachment_paths 明确选定的文件;auto_link_attachments 仅列候选。包含私人正文,外发前必须检查。 |
| wechat_reader_capabilitiesB | 返回当前微信读取扩展的能力、解析器可用性和安全边界。 |
| yan_diagnoseA | 检查眼的配置、本机服务连接与可选解析器;即使没有打开微信也可运行。 |
| get_messages_by_senderA | 在一个会话的有界消息窗口中按发送者ID精确筛选;返回扫描数、游标和覆盖边界。不会把昵称相似当同一人。 |
| get_message_contextB | 按会话和localId读取消息前后语境;找不到时明确报告未覆盖,不猜测上下文。 |
| list_session_sendersA | 列出一个会话已扫描消息中的发言人及计数,供按人精确筛选;不是完整群成员名单。 |
| scan_sessionsA | 批量读取指定会话并按时间、关键词any/all、发送者ID筛选,适合多群议题、信息和资源汇总。逐群返回失败、覆盖范围和续读offset;不扫描未指定的群。 |
| extract_person_messagesB | 按准确发送者ID提取某人或指定几人在多个会话中的发言,可补前后语境。先通过联系人或发言人列表确认身份,不以昵称模糊匹配代替。 |
| prepare_chat_summaryB | 为聊天日报、周报、人物发言、项目进展、决策待办、争议风险、资源或自定义总结准备可引用证据包。提供按人/日统计和逐群规则候选;由调用AI完成有依据的自然语言总结。 |
| configure_watchlistA | 在本机保存多群关注列表。指定会话、关键词和人物;replace=true修改现有列表并重建基线,paused=true暂停。仅配置,不自动运行或发通知。 |
| list_watchlistsA | 列出眼本机保存的关注列表、暂停状态和待确认批次;不读取聊天。 |
| poll_watchlistA | 检查指定关注列表各群的新消息;首次默认建基线。待确认批次会重复返回,读完整后需ack。积压/上游故障不推进检查点。调用一次检查一轮,不在后台常驻。 |
| read_watchlist_batchC | 继续读取多群关注批次,按nextOffset连续翻页;不重新扫描微信。 |
| ack_watchlist_batchA | 读取所有分页并完成所需整理后,显式确认关注批次,提交成功群的检查点。若输出尚未保存或处理,请勿提前确认。 |
| yan_usage_guideA | 返回眼的工具选择、人物提取、多群监控、总结流程与来源引用指南,供不支持MCP resources/prompts的AI客户端使用。 |
| search_wechat_articlesA | 通过搜狗公开微信索引发现文章候选,可按账号名称与搜索索引时间过滤;结果写入可恢复账本。不保证完整历史。 |
| search_wechat_articles_batchB | 高强度多轮发现公众号文章:请求间隔1.2秒、最多12次/45秒;验证码或429/403终止整个批次;候选写入可恢复账本。不保证完整历史。 |
| search_wechat_articles_tencentB | 可选腾讯云WSA官方搜索:限定微信公众号域名和最近N天。需本人预先启用与安全配置凭据,可能收费;结果写入候选账本,不保证全量历史。 |
| fetch_wechat_articleA | 联网读取公众号文章正文、配图清单与发布时间。遇验证/登录停止。可提供candidate_id:按账号名核验候选,不一致标为conflicting。 |
| import_wechat_articleA | 导入本人或AI浏览器已正常打开的文章HTML;不执行脚本、不索取Cookie。可提供candidate_id完成候选核验。 |
| get_saved_articleB | 读取本机文章库中的一篇正文和配图清单。 |
| list_article_candidatesB | 读取公众号候选账本。candidate不是原文核验;verified只表示本地核验通过,不是完整历史。 |
| update_article_candidateB | 人工更新候选状态。只有已经通过正常浏览器或文章工具核对后才应标记verified。 |
| read_article_imageA | 读取已存档公众号文章的一张配图,返回原生MCP image块。每次一张,最多4MiB。序号上限覆盖单篇4MiB页面可保存的配图,不因旧的100张上限拒绝。 |
| download_article_imagesA | 下载已存档公众号文章配图到本机output/articles独占目录;返回逐图结果、SHA256和缺失范围,默认前12张,每次最多20张。 |
| read_wechat_imageA | 读取明确选定的本机微信标准图片,返回原生MCP image。加密DAT不解密,路径不证明会话归属。 |
| list_shared_articlesA | 在指定会话有界分页扫描公众号文章链接,按URL去重并保留每条聊天引用;筛选时间是分享时间,不能当成文章发布时间。 |
| query_article_historyA | 按公众号biz(优先)或名称、文章发布时间筛选本机已获取文章。仅为已收集历史,不是完整公众号历史。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| chat-digest | 生成有来源的群聊日报或周报 |
| person-extract | 提取指定人物在多个会话的发言 |
| group-watch | 检查多群关注列表并整理新信息 |
| topic-trace | 追踪跨群同一议题的发展 |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| yan-guide | 眼的MCP工作流与覆盖边界 |
TDQS
Scored across 40 tools
Overlapping message-reading tools coexist: get_messages_by_sender, extract_person_messages, and scan_sessions with sender filtering all retrieve per-person messages, while get_message_by_id, get_recent_messages, and get_message_context read the same messages differently. Similarly, search_wechat_articles, search_wechat_articles_batch, and search_wechat_articles_tencent are three discovery variants that could easily be confused. The detailed descriptions help, but boundaries remain fuzzy in several clusters.
Nearly everything follows a consistent snake_case verb_noun pattern (list_sessions, get_recent_messages, search_messages, read_wechat_post, fetch_wechat_article). The only deviation is inconsistent prefixing: yan_diagnose, yan_usage_guide, wechat_reader_capabilities, and bare list_sessions/search_messages exist alongside a majority carrying a wechat_ prefix. Minor but noticeable.
40 tools far exceeds the typical 3-15 sweet spot and crosses into heavy territory. While the domain is genuinely broad (chat reading, attachments, watchlist, article discovery, images, analysis), several clusters (three article-search variants, multiple sender-filter tools) add redundancy rather than essential scope.
The surface covers a full read/analyze lifecycle: sessions, messages, senders, context, attachments, merged forwards, articles, images, watchlists, summaries, exports, and diagnostics. Gaps are mostly intentional (no message sending, article history explicitly disclaimed as non-exhaustive), so most agent workflows have no dead ends.