项目简介
该 GitHub 仓库是一个 AI 代理教程的配套代码库,其中包含一个基于 Koa 框架实现的后端,该后端是使用 Model Context Protocol (MCP) 构建的 MCP 服务器。它的主要目的是作为教程的一部分,演示如何构建一个能与大型语言模型 (LLM) 交互、提供上下文信息和调用外部工具的服务器。
主要功能点
此 MCP 服务器实现了 MCP 的核心功能,专注于向 LLM 客户端暴露特定的能力:
- 工具注册与执行: 注册了多个工具,允许 LLM 调用以执行特定任务,例如:
- 获取以太坊(通过 Base 链上的 WETH)的当前美元价格。
- 查询指定区块链地址的资产组合数据(余额及估值)。
- 获取 USDC 和 WETH 之间的兑换报价。
- 执行 USDC 和 WETH 之间的代币兑换(需要私钥)。
- MCP 标准通信: 使用 Model Context Protocol SDK,通过 SSE (Server-Sent Events) 传输协议与 MCP 客户端进行通信,处理客户端发送的 JSON-RPC 请求。
- 提供上下文: 虽然代码片段中未直接展示 Prompt 或 Resources 管理,但作为教程的一部分,服务器通过工具提供了 LLM 需要的上下文信息(如链上数据)。
安装步骤
要运行此 MCP 服务器,您需要先设置项目环境:
- 克隆仓库: 将 GitHub 仓库克隆到您的本地机器。
- 安装依赖: 打开终端,进入克隆的项目目录,运行 'npm ci' 安装所有项目依赖。
- 配置环境变量:
- 复制项目根目录下的 '.env.example' 文件,并将其命名为 '.env'。
- 编辑 '.env' 文件,填入所需的 API 密钥和钱包信息。至少需要提供一个 LLM 提供商的 API 密钥(如 'OPENAI_API_KEY' 或 'GEMINI_API_KEY')以及 'ALCHEMY_API_KEY'(用于区块链数据和交互)。
- 生成钱包私钥: 如果您需要使用涉及链上交易(如代币兑换)的工具,需要设置一个钱包私钥。运行 'npm run keygen' 命令可以生成一个新的私钥和地址供测试使用。请注意安全,不要在生产环境使用此生成的私钥,也不要泄露您的私钥。 将生成的私钥添加到 '.env' 文件中(通常是 'WALLET_PRIVATE_KEY')。
- 启动应用: 运行命令 'npm run dev:all'。这会同时启动前端(Remix)和 MCP 服务器后端。MCP 服务器通常会在后台运行,并监听配置的端口(默认为 3001)。
服务器配置(供 MCP 客户端使用)
此仓库实现了遵循 MCP 标准的服务器后端,您的 MCP 客户端需要配置相应的连接信息才能与之交互。
- 服务器名称: 'mcp'
- 传输协议: SSE (Server-Sent Events)
- 连接 URL: 'http://localhost:3001/mcp/sse' (如果服务器运行在默认端口 3001)
您的 MCP 客户端配置通常需要指定服务器的名称、连接类型和连接地址。如果客户端需要自己启动服务器进程,则还需要提供启动服务器的命令行命令和参数,这通常指向服务器的主入口文件(例如,'node dist/server/main.js' 或类似的启动脚本,具体取决于构建和运行方式)。
一旦 MCP 服务器运行起来,您的 MCP 客户端就可以通过上述配置信息连接到服务器,并通过 JSON-RPC 调用服务器注册的各种工具。
基本使用方法
成功安装并启动服务器后,您可以使用 MCP 兼容的客户端与之交互。最常见的方式是使用 MCP Inspector 工具(该仓库的 README 中也提到了),通过配置连接到 'http://localhost:3001/mcp/sse',您就可以查看服务器的能力(注册的工具)并尝试调用这些工具,例如输入相应的 JSON-RPC 请求来获取 ETH 价格或查询投资组合。
此服务器是为 AI 代理教程设计的,因此它主要与配套的前端应用或自定义的 LLM 客户端集成,以便 LLM 可以利用服务器提供的工具能力来完成更复杂的任务。
信息
分类
开发者工具