项目简介
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 服务器包,因此安装步骤略有不同:
-
安装 Node.js 和 npm/yarn/bun: 确保您的系统已安装 Node.js 和包管理器(npm, yarn 或 bun)。
-
克隆仓库: 将 'aigne-framework' 仓库克隆到本地。
git clone https://github.com/AIGNE-io/aigne-framework.git cd aigne-framework -
安装依赖: 在仓库根目录和各个示例目录(如 '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 可能需要使用其他命令启动。
基本使用方法
-
启动 MCP 服务器: 根据您要使用的示例,进入相应的目录(如 'examples/mcp-puppeteer'),并运行 'index.ts' 文件启动服务器。例如使用 'bun':
cd examples/mcp-puppeteer bun index.tsGitHub MCP Server 需要提前设置环境变量 'GITHUB_PERSONAL_ACCESS_TOKEN'。
-
配置 MCP 客户端: 在您的 MCP 客户端中,根据上述 “服务器配置” 部分提供的 JSON 信息,配置要连接的 MCP 服务器。
-
与 MCP 服务器交互: 在 MCP 客户端中,您可以向服务器发送 MCP 请求,例如调用服务器提供的工具、读取服务器管理的资源、或获取 Prompt 模板。 具体的操作方式请参考 AIGNE Framework 和 MCP 客户端的文档。
-
查看示例代码: 每个示例目录下的 'usages.ts' 文件提供了示例代码,展示了如何通过 AIGNE Framework 的 'MCPAgent' 连接和使用这些 MCP 服务器。您可以参考这些代码了解更具体的使用方法。
信息
分类
开发者工具