作者:来自 Elastic Jedr Blaszyk 及 Joe McElroy
了解如何在 Agent Builder 中使用内置的 Elastic MCP 服务器,安全地为任何 AI agent 扩展对你私有数据和自定义工具的访问。
更多阅读:Elastic AI agent builder 介绍
通过我们的点播网络研讨会提升你的技能:使用 Elasticsearch 的 Agentic RAG 和使用 Elasticsearch MCP Server 的 MCP 入门。
你现在也可以通过开始免费的云试用或在本地运行 Elasticsearch 来利用 Elastic 的生成式 AI 功能。
Elastic Agent Builder 是一个用于创建与 Elasticsearch 中你自己的数据深度集成的工具和 agent 的平台。比如,你可以创建在内部文档上执行语义搜索的工具、分析可观测性日志,或查询安全警报。
但真正的魔力在于当你能把这些自定义、数据感知的工具带入你花最多时间的环境中时。假如你的代码编辑器 agent 能安全访问你组织的私有知识库会怎样?
这就是 **Model Context Protocol(MCP)**发挥作用的地方。Elastic Agent Builder 内置了一个 MCP 服务器,用于提供对平台中工具的访问。
为什么要使用 Elastic Agent Builder MCP 服务器?
AI agent 功能强大,但它们的知识通常仅限于训练数据和能在公共互联网中主动搜索到的信息。它们不了解你公司的内部设计文档、你团队特定的部署运行手册,或你应用日志的独特结构。
挑战在于如何为你的 AI 助手提供所需的专用上下文。而这正是 MCP 设计用来解决的问题。MCP 是一个开放标准,允许 AI 模型或 agent 发现并使用外部工具。
为了实现这一点,Elastic Agent Builder 通过内置的 MCP 服务器原生地暴露你的自定义工具。这意味着你可以轻松将任何兼容 MCP 的客户端(如 Cursor、VS Code 或 Claude Desktop)与使用 Elastic Agent Builder 构建的专用、数据感知型工具连接起来。
何时使用 MCP(以及何时不使用)
Elastic Agent Builder 包含多种协议,以支持不同的集成模式。选择合适的协议是构建高效 AI 工作流的关键。
- 使用 MCP 为你的 AI agent(如在 Cursor 或 VS Code 中)添加专用工具。这是一种 “自带工具” 的方式,使你现有的助手能够安全访问你的私有数据。只有工具是通过 MCP 服务器暴露的 —— Elastic 的 agent 与此是分开的。
- 使用 A2A Protocol 让你完整的自定义 Elastic Agent 与其他自主 agent(如 Google 的 Gemini Enterprise 中的 agent)协作。这用于 agent 之间的委托,每个 agent 作为平等的伙伴共同解决问题。
- 当你从零开始构建自定义应用时,使用 Agent Builder API 以获得完全的编程控制。
对于希望在不离开 IDE 的情况下从内部文档中获取答案的开发者来说,MCP 是完美的选择。
示例:在 Cursor 中使用 Agent Builder MCP 服务器的自定义工具
让我们来看一个我每天都会用到的实际示例。首先,我抓取并索引了我们的内部工程文档,放入一个名为 elastic-dev-docs 的 Elasticsearch 索引中。虽然我们可以使用 Agent Builder 中通用的内置工具,但我们将创建自己的自定义工具来查询这个特定的知识库。
提示:如果你想知道如何爬取一个网站,请参考我之前的文章 “Elasticsearch MCP 服务器:与你的 Index 聊天”。
构建自定义工具的原因很简单:控制与精确度。这种方法让我们能够直接对 elastic-dev-docs 索引运行快速的语义查询。我们可以完全控制要查询的具体索引以及数据的检索方式。
现在,让我们看看如何在一个由 AI 驱动的代码编辑器(如 Cursor)中使用这个自定义知识库。
步骤 1:在 Agent Builder 中创建自定义知识库工具
首先,在 Agent Builder 中创建一个新工具。清晰且具体的工具描述非常重要,因为这正是任何 AI agent(无论是内部的 Elastic Agent 还是通过 MCP 连接的外部工具如 Cursor)发现并选择你的工具来执行合适任务的方式。
一个好的描述应当明确。例如:“Performs a semantic search on the elastic-dev-docs index to find internal engineering documentation, runbooks, and release procedures. - 在 elastic-dev-docs 索引上执行语义搜索,以查找内部工程文档、运行手册和发布流程。”
完成这些后,该工具就被配置为对特定索引执行语义搜索。保存后,它将立即可供服务使用。
在连接到外部之前,你可以直接在 UI 中测试它。只需点击 Test 按钮手动填写参数,模拟 LLM 的操作,并检查结果以确认一切正常。
步骤 2:将 Cursor 连接到 Elastic MCP 服务器
Elastic Agent Builder 会自动通过安全的 MCP 端点暴露所有可用工具。你可以在 Kibana 的 Tools UI 中找到你的专属服务器 URL。
要连接到 Cursor,我们只需将此 URL 添加到其配置文件中,并附上用于身份验证的 Elastic API Key(了解如何创建 ES API key)。我们使用 API key 进行授权,因为它确保工具仅在你授予的权限下执行,遵守所有访问控制规则。
Cursor 的 ~/.cursor/mcp.json 中的 MCP 配置如下:
`
1. {
2. "mcpServers": {
3. "elastic-agent-builder": {
4. "command": "npx",
5. "args": [
6. "mcp-remote",
7. "https://your-kibana.kb.company.io/api/agent_builder/mcp",
8. "--header",
9. "Authorization:${AUTH_HEADER}"
10. ],
11. "env": {
12. "AUTH_HEADER": "ApiKey <ELASTIC_API_KEY>"
13. }
14. }
15. }
16. }
`AI写代码
保存配置后,你应该能在 Cursor 中看到 Elastic Agent Builder MCP 服务器工具可用。
步骤 3:开始提问!
连接建立后,Cursor agent 现在可以调用你的自定义工具来回答你的问题或指导代码生成过程。
让我们提一个具体问题:
“Lookup steps to release crawler service from engineering internal documentation from elastic search org”
幕后,魔法发生了:
- Cursor agent 决定以最佳方式回答你的问题,并决定调用 engineering_documentation_internal_search。
- 它使用自然语言查询调用该工具。
- 该工具对 elastic-dev-docs 索引执行语义搜索,并返回最相关、最新的操作步骤。
我们可以基于内部文档获得精确、可靠的答案,而无需离开代码编辑器。体验无缝且强大。
轮到你来构建了
你现在已经看到如何使用 Elastic Agent Builder 中内置的 MCP server,将你的 AI 助手扩展为能够安全访问你的私有数据。将模型基于你自己的信息进行“落地”是让它们真正有用的关键。
回顾一下,我们涵盖的核心步骤:
-
为你的需求选择合适的协议(MCP)。
-
构建自定义知识库工具。
-
将该工具连接到像 Cursor 这样的 IDE 助手。
你的 agent 和工具不再需要与它们最有价值的上下文脱节。我们希望本指南能帮助你创建更高效、数据感知的工作流程。构建愉快!