项目简介

Airweave是一个开源项目,旨在简化AI Agent的数据访问流程,将各种应用程序、数据库、URL或API集成为一个统一的语义化搜索层,并作为MCP服务器为LLM客户端提供服务。通过Airweave,开发者可以轻松构建能够理解和利用来自不同数据源上下文信息的AI Agent应用。

主要功能点

  • 多数据源集成: 支持超过25种数据源连接,包括Asana, Notion, Gmail, Slack, MySQL, PostgreSQL等,并持续增加中。
  • 语义化搜索: 将非结构化和结构化数据转化为可被AI Agent语义理解和检索的格式。
  • REST和MCP端点: 提供REST API和MCP端点,方便LLM客户端访问和查询数据。
  • 可扩展性: 易于扩展新的数据源和Embedding模型集成。
  • 自动化同步: 支持数据自动同步和按需同步,保证数据及时性。
  • 版本控制和数据更新: 通过哈希检测数据变更,仅更新修改部分,提高效率。

核心功能总结 (MCP角度):

  • 资源管理: 托管和管理来自各种数据源的资源 (Resources),例如文档、任务、邮件等。
  • 数据访问: 提供统一的RESTful API 和潜在的MCP端点,使LLM客户端能够以标准化方式访问和检索资源数据。
  • 工具注册与执行 (Tool): 虽然文档没有明确提及“工具 (Tools)”的注册和执行,但其集成的各种数据源可以被视为为LLM客户端提供功能的工具集合,通过Airweave可以间接调用外部功能(数据访问)。
  • Prompt模板 (Prompt): 文档中未明确提及Prompt模板功能。但其核心语义搜索和数据检索能力,是构建基于上下文的Prompt应用的基础。

安装步骤

  1. 克隆仓库

    git clone https://github.com/airweave-ai/airweave.git
    cd airweave
  2. 构建并运行

    chmod +x start.sh
    ./start.sh

    运行成功后,Airweave将在本地启动,前端UI访问地址为 'http://localhost:8080',后端API Swagger文档地址为 'http://localhost:8001/docs'。

服务器配置 (MCP 客户端配置)

对于MCP客户端,需要配置连接到Airweave MCP服务器的信息。以下是一个可能的 'config.json' 配置示例,用于连接到本地运行的Airweave服务器:

{
  "serverName": "Airweave Server",
  "command": "./start.sh",
  "args": [],
  "apiEndpoint": "http://localhost:8001",
  "protocol": "REST",
  "description": "Airweave MCP server"
}

配置参数说明:

  • 'serverName': 自定义服务器名称,例如 "Airweave Server"。
  • 'command': MCP服务器的启动命令,这里使用仓库提供的 'start.sh' 脚本,假设客户端与服务器在同一文件系统或可通过相对路径访问。
  • 'args': 启动命令的参数,Airweave 'start.sh' 脚本无需额外参数,因此为空数组 '[]'。
  • 'apiEndpoint': Airweave 后端API的根地址,用于MCP客户端发送请求,根据仓库信息设置为 'http://localhost:8001'。
  • 'protocol': 指明客户端与服务器通信的协议,根据仓库信息和常用实践,这里设置为 'REST'。 注意: 仓库文档虽提及 "REST and MCP endpoints",但未明确指明是否实现了基于 JSON-RPC 的标准 MCP 协议,推测其 MCP 端点可能是通过 RESTful API 实现的。如果MCP客户端需要的是严格遵循 JSON-RPC 的 MCP 协议,请进一步核实Airweave是否完全兼容。
  • 'description': 对该服务器配置的描述,例如 "Airweave MCP server"。

请注意:

  • 上述 'config.json' 仅为示例,实际MCP客户端配置可能需要根据具体客户端软件的要求进行调整。
  • 传输协议: 虽然MCP标准定义了 Stdio, SSE, WebSocket 等传输协议,但根据仓库信息,Airweave 主要通过 RESTful API 提供服务,因此配置中 'protocol' 设置为 'REST'。 如果 MCP 客户端需要使用其他协议连接,需检查Airweave是否支持,并相应调整配置。
  • 会话管理和能力声明: 根据MCP定义,服务器端应负责会话管理和能力声明,但具体如何在Airweave中配置和使用这些功能,需要参考更详细的Airweave文档或代码。

基本使用方法

  1. 启动 Airweave 服务器: 按照安装步骤启动Airweave服务器。
  2. 配置数据源: 通过Airweave前端UI (http://localhost:8080) 或 API (http://localhost:8001/docs) 配置和连接需要集成的数据源,例如连接 Stripe, Notion 等。
  3. 创建和运行同步任务: 在UI或通过API 创建数据同步任务 (Sync),将数据从配置的数据源同步到Airweave的统一数据层。
  4. 使用 MCP 客户端连接: 配置 MCP 客户端,使用上述 'config.json' 中的信息连接到 Airweave 服务器。
  5. 通过 MCP 客户端查询数据: 使用 MCP 客户端,向 Airweave 服务器发送请求,例如执行搜索查询,检索集成数据源中的信息,为 LLM 应用提供上下文。
  6. 利用 API 进行更细致的操作: Airweave 还提供了详细的 RESTful API (http://localhost:8001/docs),可以用于更细致的数据管理、连接管理、同步任务管理等操作。

简而言之,将Airweave启动并配置数据源后,MCP客户端即可通过配置的API Endpoint (例如 'http://localhost:8001/search' 或其他 MCP 定义的端点) 向Airweave服务器发送请求,利用其强大的数据集成和语义化搜索能力,为你的LLM应用提供丰富的上下文信息。

信息

分类

数据库与文件