该项目是一个基于Next.js框架构建的MCP服务器实现示例,专注于为LLM客户端提供与Monad测试网(一条高性能EVM链)交互的能力。

项目简介

该服务器利用MCP TypeScript SDK,注册了一系列工具(Tools),允许LLM调用这些工具来获取Monad测试网上的链上数据,如余额、交易信息、区块详情、合约代码等。服务器通过SSE(Server-Sent Events)协议与LLM客户端进行通信。

主要功能点

  • 链上数据查询: 查询Monad测试网地址的MON余额、ERC20代币余额。
  • 交易和区块信息: 获取特定交易哈希或区块号(包括最新区块)的详细信息和收据。
  • 智能合约交互: 查看合约创建交易、读取合约状态(需要提供ABI)。
  • 开发者工具: 提供 calldata 解码、数据格式转换、估算链上费用等辅助功能。
  • 文档访问: 检索和阅读Monad开发者文档。

安装步骤

要运行此MCP服务器,您需要:

  1. 克隆此GitHub仓库。
  2. 安装Node.js和Yarn或npm。
  3. 安装项目依赖:运行 'yarn install' 或 'npm install'。
  4. 配置环境变量,特别是 'REDIS_URL' (用于服务器内部通信) 和可能的 'BLOCK_VISION_API_KEY' (用于获取合约源码等数据)。
  5. 根据 'README.md' 中的说明更新 'app/mcp.ts' 文件(如果需要自定义工具等)。
  6. 构建并运行Next.js应用。

服务器配置

MCP客户端需要连接到该服务器才能使用其功能。客户端需要知道服务器的地址(例如部署后的URL)。一旦连接,客户端可以通过MCP协议发现服务器的能力(名称和可用的工具、资源、Prompt)。

该服务器在连接时会声明其名称和版本信息:

  • Server Name: 'mcp-typescript server on vercel'
  • Server Version: '0.1.0'
  • Server Capabilities: 服务器会声明其提供的工具列表。MCP客户端可以通过标准MCP方法(如 'mcp/server/capabilities')查询这些能力。

例如,如果服务器部署在 'https://your-monad-mcp-server.vercel.app',一个MCP客户端连接时需要配置这个URL作为服务器地址。客户端不需要服务器的内部文件路径或命令行参数。

基本使用方法

  1. 将该服务器部署或在本地运行。
  2. 配置支持MCP协议的LLM客户端,使其连接到该服务器的地址。
  3. LLM客户端连接后,可以自动发现服务器提供的工具列表及其描述。
  4. LLM即可根据其能力和用户指令,通过标准MCP JSON-RPC调用这些工具来执行任务(例如,查询Monad地址的MON余额,客户端LLM可能会识别用户的意图,然后调用服务器提供的 'get-mon-balance' 工具)。

示例客户端

仓库中提供了 'script/test-client.mjs' 示例脚本,用于连接到一个已部署的服务器实例进行测试调用。例如,使用命令 'node scripts/test-client.mjs https://mcp-for-next-js.vercel.app' 连接到示例部署并尝试调用工具。

信息

分类

开发者工具