使用说明

项目简介

本项目是一个演示如何使用 Model Context Protocol (MCP) 构建服务器的示例,主题为宝可梦。它包含一个 MCP 服务器,提供宝可梦数据查询和攻击能力,以及相应的 MCP 客户端和 HTTP 服务器,展示如何将 MCP 服务器的功能通过 HTTP 接口暴露给 LLM 使用。

主要功能点

  • 资源管理: 提供宝可梦基础信息和能力信息等数据资源,允许客户端通过 URI 访问。
  • 工具注册: 注册宝可梦攻击工具,客户端可以调用此工具模拟宝可梦的攻击行为。
  • MCP 客户端示例: 演示如何编写 MCP 客户端来连接和使用 MCP 服务器提供的资源和工具。
  • HTTP 服务器桥接: 通过 HTTP 服务器封装 MCP 服务器的功能,提供 '/tools' 和 '/attack' 等 HTTP 接口,方便 LLM 通过 HTTP 调用 MCP 工具。
  • LLM 集成示例: 展示如何使用 OpenAI 的模型和 OpenRouter 平台,结合 MCP 服务器提供的工具,实现 LLM 驱动的宝可梦攻击应用。

安装步骤

  1. 确保已安装 Bun JavaScript 运行时环境。
  2. 克隆或下载该 GitHub 仓库到本地。
  3. 在项目根目录下,运行以下命令安装项目依赖:
    bun install

服务器配置

本项目中的 MCP 服务器由客户端程序('mcp_client.ts' 和 'http_server.ts')自动启动,无需手动配置服务器启动命令。MCP 客户端通过以下配置信息与 MCP 服务器建立连接。以下是在 'mcp_client.ts' 和 'http_server.ts' 中配置的服务器启动信息示例:

{
  "server name": "Pokemon MCP Server",
  "command": "bun",
  "args": ["mcp_server.ts"]
}
  • 'server name': 指定 MCP 服务器的名称,用于标识服务器实例。
  • 'command': 指定用于启动 MCP 服务器的可执行命令,这里使用 'bun' 运行器。
  • 'args': 传递给 'bun' 命令的参数列表,指定要执行的 MCP 服务器脚本为 'mcp_server.ts'。

基本使用方法

  1. 运行 MCP 客户端和服务器演示: 在项目根目录下,运行以下命令启动 'mcp_client.ts'。该客户端会自动启动 'mcp_server.ts',并演示资源列表、工具列表的获取,以及资源读取和工具调用的过程。

    bun mcp_client.ts

    运行结果会在控制台输出,包括资源和工具信息,以及宝可梦能力查询和攻击工具的调用结果。

  2. 运行 HTTP 服务器 (集成 LLM): 首先,你需要获取 OpenRouter 的 API Key,并将其设置为环境变量 'OPENROUTER_API_KEY'。

    export OPENROUTER_API_KEY=YOUR_OPENROUTER_API_KEY

    然后,在项目根目录下,运行以下命令启动 'http_server.ts'。该服务器会自动启动 'mcp_server.ts',并提供 HTTP 接口供外部访问。

    bun http_server.ts

    启动成功后,可以通过浏览器或 HTTP 客户端访问以下 URL:

    • 'http://localhost:3005/tools': 查看 MCP 服务器提供的工具列表 (JSON 格式)。
    • 'http://localhost:3005/attack': 调用宝可梦攻击工具,由 LLM 随机选择宝可梦和招式进行攻击,返回攻击结果 (JSON 格式)。这个接口可以集成到 LLM 应用中,让 LLM 通过 HTTP 调用 MCP 服务器的功能。

信息

分类

网页与API