mcpField
S
search

search

github.com/anthropics生产力33.6k5.0k 次安装1 天前更新
代码仓库

关于 search

用于一次查询多个已连接 MCP 来源并综合结果的搜索技能。它会将问题拆分为针对各来源的搜索,并行执行后对结果排序、去重和归纳。

主要功能

  1. 01一次搜索多个已连接来源
  2. 02拆分问题并生成定向搜索
  3. 03并行执行搜索
  4. 04对结果排序并去重
  5. 05综合结果并注明来源

适用场景

  1. 01跨聊天和邮件查找决策
  2. 02在已连接服务中定位文档
  3. 03跨来源调查人员或项目
  4. 04部分来源故障时汇总结果

MCP 相关

它搜索已连接 MCP 来源提供的工具,并将查询筛选条件转换为各来源适用的搜索方式。技能会检测可用来源,并报告故障或部分结果。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/anthropics/knowledge-work-plugins --skill search

安装后在 Claude Code 中输入/search确认已加载。

详细介绍

搜索命令

如果你看到不熟悉的占位符,或需要检查已连接的工具,请参阅 CONNECTORS.md。

在一次查询中搜索所有已连接的 MCP 来源。拆解用户的问题,并行执行搜索,然后综合结果。

说明

1. 检查可用来源

搜索之前,先确定哪些 MCP 来源可用。尝试从可用工具列表中识别已连接的工具。常见来源包括:

  • ~~chat — 聊天平台工具
  • ~~email — 邮件工具
  • ~~cloud storage — 云存储工具
  • ~~project tracker — 项目跟踪工具
  • ~~CRM — CRM 工具
  • ~~knowledge base — 知识库工具

如果没有连接任何 MCP 来源:

To search across your tools, you'll need to connect at least one source.
Check your MCP settings to add ~~chat, ~~email, ~~cloud storage, or other tools.

Supported sources: ~~chat, ~~email, ~~cloud storage, ~~project tracker, ~~CRM, ~~knowledge base,
and any other MCP-connected service.
2. 解析用户查询

分析搜索查询,理解以下内容:

  • 意图:用户在寻找什么?(一项决定、一份文档、一个人、一条状态更新、一段对话)
  • 实体:提及的人员、项目、团队、工具
  • 时间限制:时效信号("本周""上个月"、具体日期)
  • 来源提示:对特定工具的引用("在 ~~chat 里""那封邮件""那份文档")
  • 过滤条件:从查询中提取明确的过滤条件:
    • from: — 按发送者或作者过滤
    • in: — 按频道、文件夹或位置过滤
    • after: — 仅保留此日期之后的结果
    • before: — 仅保留此日期之前的结果
    • type: — 按内容类型过滤(message、email、doc、thread、file)
3. 拆解为子查询

针对每个可用来源,使用该来源的原生搜索语法创建一个有针对性的子查询:

~~chat:

  • 使用聊天平台可用的搜索和读取工具
  • 转换过滤条件:from: 对应发送者,in: 对应频道或房间,日期对应时间范围过滤
  • 在适当时使用自然语言查询进行语义搜索
  • 使用关键词查询进行精确匹配

~~email:

  • 使用可用的邮件搜索工具
  • 转换过滤条件:from: 对应发送者,日期对应时间范围过滤
  • 视情况将 type: 映射为附件过滤或主题行搜索

~~cloud storage:

  • 使用可用的文件搜索工具
  • 转换为文件查询语法:名称包含、全文包含、修改日期、文件类型
  • 同时考虑文件名和文件内容

~~project tracker:

  • 使用可用的任务搜索或自动补全工具
  • 映射为任务文本搜索、负责人过滤、日期过滤、项目过滤

~~CRM:

  • 使用可用的 CRM 查询工具
  • 搜索 Account、Contact、Opportunity 及其他相关对象

~~knowledge base:

  • 对概念性问题使用语义搜索
  • 对精确匹配使用关键词搜索
4. 并行执行搜索

同时在所有可用来源上运行全部子查询。不要等一个来源完成后再搜索另一个。

对于每个来源:

  • 执行转换后的查询
  • 捕获带有元数据的结果(时间戳、作者、链接、来源类型)
  • 记录失败或返回错误的来源,不要让某一个失败阻塞其他来源
5. 排序与去重

去重:

  • 识别同一信息在多个来源中的重复出现(例如,在 ~~chat 中讨论、并经邮件确认的一项决定)
  • 将相关结果归并在一起,而不是显示重复内容
  • 优先保留最权威或最完整的版本

排序因素:

  • 相关性:结果与查询意图的匹配程度如何?
  • 时效性:对于状态或决定类查询,更新的结果排名更靠前
  • 权威性:对于事实性问题,官方文档 > 维基 > 聊天消息;对于"我们讨论过什么"类查询,对话 > 文档
  • 完整性:上下文更充分的结果排名更靠前
6. 呈现统一结果

将回复组织为综合性答案,而不是原始结果列表:

对于事实类/决定类查询:

[Direct answer to the question]

Sources:
- [Source 1: brief description] (~~chat, #channel, date)
- [Source 2: brief description] (~~email, from person, date)
- [Source 3: brief description] (~~cloud storage, doc name, last modified)

对于探索性查询("我们对 X 了解多少"):

[Synthesized summary combining information from all sources]

Found across:
- ~~chat: X relevant messages in Y channels
- ~~email: X relevant threads
- ~~cloud storage: X related documents
- [Other sources as applicable]

Key sources:
- [Most important source with link/reference]
- [Second most important source]

对于"查找"类查询(寻找某个具体内容):

[The thing they're looking for, with direct reference]

Also found:
- [Related items from other sources]
7. 处理边缘情况

查询有歧义: 如果查询可能有多种含义,请在搜索前提出一个澄清问题:

"API redesign" could refer to a few things. Are you looking for:
1. The REST API v2 redesign (Project Aurora)
2. The internal SDK API changes
3. Something else?

无结果:

I couldn't find anything matching "[query]" across [list of sources searched].

Try:
- Broader terms (e.g., "database" instead of "PostgreSQL migration")
- Different time range (currently searching [time range])
- Checking if the relevant source is connected (currently searching: [sources])

部分结果(部分来源失败):

[Results from successful sources]

Note: I couldn't reach [failed source(s)] during this search.
Results above are from [successful sources] only.

注意事项

  • 始终并行搜索多个来源,切勿依次搜索
  • 将结果综合成答案,而不是仅列出原始搜索结果
  • 包含来源归属信息,方便用户进一步查阅
  • 遵循用户的过滤语法,并根据各来源适当应用
  • 当查询提及特定人员时,在所有来源中搜索其消息、文档和提及内容
  • 对于时效性查询,在排序中优先考虑最新内容
  • 如果只连接了一个来源,仍需从该来源提供有用的结果

评论

支持 Markdown