项目简介

AIGNE Framework 是一个用于构建 AI 应用的框架,它通过 Model Context Protocol (MCP) 实现了与各种数据源和外部功能的标准化集成。本仓库的 'examples/mcp-*' 目录提供了一系列 MCP 服务器的示例,展示了如何利用 AIGNE Framework 快速构建能够与 LLM 客户端交互的 MCP 服务器。

这些示例包括:

  • Puppeteer MCP Server: 通过 Puppeteer 自动化网页抓取,为 LLM 提供网页内容。
  • SQLite MCP Server: 连接 SQLite 数据库,使 LLM 能够查询和操作数据库数据。
  • GitHub MCP Server: 集成 GitHub API,允许 LLM 访问和操作 GitHub 仓库资源。

请注意,AIGNE Framework 本身是一个框架,示例中的 MCP 服务器依赖于独立的 MCP 服务器包(如 '@modelcontextprotocol/server-puppeteer' 等)运行。

主要功能点

  • 资源 (Resources) 管理: 示例展示了如何通过 MCP 服务器向 LLM 客户端提供各种资源访问能力,例如网页内容、数据库数据、GitHub 仓库信息等。
  • 工具 (Tools) 注册与执行: 示例演示了如何将外部功能(例如网页抓取、数据库操作、GitHub API 调用)注册为 MCP 工具,供 LLM 客户端调用。
  • Prompt 模板 (Prompts) 定义: 示例展示了如何定义和使用 Prompt 模板,以便根据不同的上下文和需求定制 LLM 的交互方式。
  • JSON-RPC 协议通信: 所有示例均基于 JSON-RPC 协议与 MCP 客户端通信,符合 MCP 标准。
  • 多种传输协议支持: 虽然示例主要使用 Stdio 传输协议,但 AIGNE Framework 和 MCP 协议本身支持多种传输协议(如 SSE, WebSocket)。

安装步骤

由于 AIGNE Framework 本身是一个框架,并且示例 MCP 服务器依赖独立的 MCP 服务器包,因此安装步骤略有不同:

  1. 安装 Node.js 和 npm/yarn/bun: 确保您的系统已安装 Node.js 和包管理器(npm, yarn 或 bun)。

  2. 克隆仓库: 将 'aigne-framework' 仓库克隆到本地。

    git clone https://github.com/AIGNE-io/aigne-framework.git
    cd aigne-framework
  3. 安装依赖: 在仓库根目录和各个示例目录(如 'examples/mcp-puppeteer')下分别运行包管理器命令安装依赖。例如使用 'bun':

    bun install # 在仓库根目录运行
    cd examples/mcp-puppeteer
    bun install # 在示例目录运行,其他示例目录类似

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令及其参数才能连接。以下是各个示例 MCP 服务器的配置信息(JSON 格式):

Puppeteer MCP Server 配置 (examples/mcp-puppeteer):

{
  "server name": "Puppeteer MCP Server",
  "command": "npx",
  "args": [
    "-y",
    "@modelcontextprotocol/server-puppeteer"
  ],
  "description": "使用 Puppeteer 驱动的 MCP 服务器,用于自动化网页内容抓取。",
  "notes": "无需额外参数,默认监听标准输入输出。"
}

SQLite MCP Server 配置 (examples/mcp-sqlite):

{
  "server name": "SQLite MCP Server",
  "command": "uvx",
  "args": [
    "-q",
    "mcp-server-sqlite",
    "--db-path",
    "aigne-example-sqlite-mcp-server.db"
  ],
  "description": "SQLite 数据库 MCP 服务器,提供数据库查询和操作功能。",
  "notes": "--db-path 参数指定数据库文件路径,默认为当前目录下的 aigne-example-sqlite-mcp-server.db。"
}

GitHub MCP Server 配置 (examples/mcp-github):

{
  "server name": "GitHub MCP Server",
  "command": "npx",
  "args": [
    "-y",
    "@modelcontextprotocol/server-github"
  ],
  "description": "GitHub API MCP 服务器,允许访问和操作 GitHub 仓库资源。",
  "notes": "需要设置 GITHUB_PERSONAL_ACCESS_TOKEN 环境变量,用于 GitHub API 认证。"
}

重要提示: 上述配置中的 'command' 和 'args' 需要根据您的实际环境进行调整。例如,如果您的系统没有安装 'uvx',则 SQLite MCP Server 可能需要使用其他命令启动。

基本使用方法

  1. 启动 MCP 服务器: 根据您要使用的示例,进入相应的目录(如 'examples/mcp-puppeteer'),并运行 'index.ts' 文件启动服务器。例如使用 'bun':

    cd examples/mcp-puppeteer
    bun index.ts

    GitHub MCP Server 需要提前设置环境变量 'GITHUB_PERSONAL_ACCESS_TOKEN'。

  2. 配置 MCP 客户端: 在您的 MCP 客户端中,根据上述 “服务器配置” 部分提供的 JSON 信息,配置要连接的 MCP 服务器。

  3. 与 MCP 服务器交互: 在 MCP 客户端中,您可以向服务器发送 MCP 请求,例如调用服务器提供的工具、读取服务器管理的资源、或获取 Prompt 模板。 具体的操作方式请参考 AIGNE Framework 和 MCP 客户端的文档。

  4. 查看示例代码: 每个示例目录下的 'usages.ts' 文件提供了示例代码,展示了如何通过 AIGNE Framework 的 'MCPAgent' 连接和使用这些 MCP 服务器。您可以参考这些代码了解更具体的使用方法。

信息

分类

开发者工具