Home
张文涛的个人博客
致力于提供Drupal开发,实践等方面的精品资讯

Main navigation

  • 首页
  • Glossary

Breadcrumb

  • Home
  • 用 MCP 让智能体发现我的站点搜索
By admin | 11:01 PM CST, Tue August 04, 2026

译自 Dries Buytaert 博客原文:Helping agents discover my site search with MCP(2026 年 8 月 4 日)。

这是"让站点的搜索能力对 AI 智能体可用"系列的第三篇。第一篇,我发布了一份 API Catalog,帮那些已经知道要去检查我站点的智能体找到它的搜索 API。第二篇,我加了一条 Agentic Resource Discovery(ARD)记录,让我的搜索能被"AI 注册表"收录(可以理解成面向 AI 智能体的搜索引擎)。

到现在为止,还没有任何智能体自己找到我的搜索。API Catalog 成为已发布的 IETF 标准已经一年多了,但我没找到任何证据表明 OpenAI 或 Anthropic 会去检查它。ARD 更新一些,还是 v0.9 草案,我也没找到证据说 OpenAI 或 Anthropic 支持它。

与此同时,真正管用的是我写的一个自定义 Agent Skill,它把我的 AI 助手指向 API Catalog,再从那里指向我的 OpenAPI 描述,最后指向搜索本身。如果有朝一日智能体采纳了其中某一个或几个发现标准,我也许就能把这个 skill 删掉,让它全自动地跑起来。

直到上周,我还认为 Model Context Protocol(MCP)不值得为我的搜索端点实现。它需要一次初始化握手,还可能涉及协议层的会话。而我的搜索两样都不需要:每个查询都是无状态、匿名的。对这么简单的用例来说,MCP 显得太重了。

2026-07-28 这一版修订改变了我看法,因为协议层会话和初始化握手都没了。现在每个请求都可以是自包含的,这意味着,对像我这样的服务来说,一个 MCP 服务器基本上就是一条返回 JSON 的 POST 路由。

于是我着手为搜索端点实现了 MCP 支持。整个东西加起来是一条路由加三个小 RPC 方法:不算测试的话,不到 150 行代码。

你可以从任何终端调用它

在我的测试里,把我的站点作为自定义 MCP 连接器加到 Claude Desktop、Claude Code 或 ChatGPT 里仍然失败。这些客户端还不支持新协议——这可以理解,毕竟它才一周大。等它们跟上,任何人都能把 dri.es 加为连接器,而不只是我自己。

在那之前,用 MCP 客户端和我站点对话的一个简便办法是 Simon Willison 的 mcp-explorer。你可以用 uvx(随 uv 一起安装)来跑:

uvx mcp-explorer list https://dri.es/mcp
uvx mcp-explorer call https://dri.es/mcp find_posts -a query "open source"

第一条命令会打印每个工具的名称、描述和参数。第二条会在我的文章里做一次搜索,返回最多二十条结果。

另一种方式是直接用手工的协议调用,在终端里跑这条 curl:

curl -s https://dri.es/mcp \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: tools/call" \
  -H "Mcp-Name: find_posts" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_posts","arguments":{"query":"open source"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28"}}}' \
  | jq .result.structuredContent

发现和调用是两个不同的层

在实现了对三个新标准的支持之后,我学到的一件有用的事是:它们并不是互相替代的关系。

ARD 负责发现:它给注册表一种标准方式去收录和搜索像我这样的服务。OpenAPI 和 MCP 负责调用:它们定义了智能体如何调用和使用这些服务。

所以选择不是"ARD 还是 MCP",而是"ARD 加 OpenAPI",或者"ARD 加 MCP"。

对于像我这样一个匿名、只读的 API,我更喜欢 OpenAPI。它实现起来更容易,任何能发 HTTP 请求的东西都能用。

当你的服务涉及多步交互、身份认证或者明确的应用程序状态时,MCP 才变得更有吸引力。

最终,决定权在智能体和爬虫的采用情况上。时间会给出答案,但眼下我押注 ARD 和 MCP。

Helping agents discover my site search with MCP

Glossary

  • October 2026 (3)
  • September 2026 (3)
  • August 2026 (4)
  • July 2026 (2)
  • June 2026 (2)
  • March 2023 (1)
  • October 2022 (1)
  • October 2021 (2)
  • August 2021 (3)
  • June 2021 (2)
  • May 2021 (1)
  • April 2021 (2)
  • November 2020 (1)
  • June 2020 (2)
  • December 2019 (2)
  • November 2019 (1)
  • August 2019 (1)
  • February 2018 (1)
  • October 2017 (1)
  • September 2017 (1)
  • July 2017 (1)
  • June 2017 (2)
  • May 2017 (1)
  • March 2017 (3)
  • December 2016 (2)
  • November 2016 (4)
  • October 2016 (3)
  • June 2016 (1)
  • December 2015 (1)
  • November 2015 (6)
  • October 2015 (2)
  • September 2015 (1)
  • August 2015 (1)
  • July 2015 (1)
  • June 2015 (1)
  • May 2015 (1)
  • March 2015 (1)
  • January 2015 (1)
  • December 2014 (3)
  • October 2014 (4)
  • September 2014 (2)
  • August 2014 (1)
  • July 2014 (1)
  • June 2014 (1)
  • May 2014 (1)
  • April 2014 (2)
  • March 2014 (2)
  • February 2014 (2)
  • January 2014 (4)
  • December 2013 (1)
  • March 2013 (2)
  • February 2013 (2)
  • December 2012 (2)
  • November 2012 (4)
  • October 2012 (1)
  • September 2012 (6)
  • August 2012 (15)
  • July 2012 (5)
  • June 2012 (13)
  • May 2012 (9)
  • April 2012 (8)
  • March 2012 (9)
  • February 2012 (3)
  • January 2012 (1)
  • December 2011 (1)
  • November 2011 (6)
  • October 2011 (2)
  • September 2011 (17)
  • August 2011 (4)
  • July 2011 (4)
  • June 2011 (5)
  • May 2011 (4)

Copyright © 2026

苏ICP备14044171号-1