使用说明

项目简介

本项目 'ptcg-mcp' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLM)提供访问 Pokemon Trading Card Game (PTCG) 卡牌数据的能力。通过此服务器,LLM 可以根据用户查询搜索卡牌,并返回卡牌的详细信息,包括名称、图片、属性、价格等。

主要功能点

  • 卡牌搜索: 支持通过卡牌名称、类型、子类型、规则、HP、退场费用等多种属性条件搜索 PTCG 卡牌。
  • 图片展示: 返回卡牌的高清图片,方便 LLM 客户端展示。
  • 价格查询: 提供卡牌在 TCGPlayer 和 Cardmarket 上的市场价格信息。
  • 灵活查询语法: 支持精确匹配、通配符、范围查询、负向过滤等高级搜索语法,满足复杂的查询需求。

安装步骤

  1. 安装 Node.js: 确保你的系统已安装 Node.js 运行时环境。
  2. 下载仓库代码: 从 GitHub 仓库 https://github.com/jlgrimes/ptcg-mcp 下载代码到本地。
  3. 进入项目目录: 使用终端或命令提示符,进入下载的 'ptcg-mcp' 目录。
  4. 安装依赖: 在项目根目录下运行命令 'npm install' 或 'yarn install' 安装项目依赖。
  5. 构建项目: 运行命令 'npm run build' 或 'yarn build' 构建项目,生成 'dist' 目录。

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude),你需要提供服务器的启动命令和参数。以下是基于仓库信息生成的配置信息,请将以下 JSON 配置添加到你的 MCP 客户端配置文件中(例如 Claude 的 'claude_desktop_config.json'):

{
  "mcpServers": {
    "ptcg-mcp": {  // 服务器名称,可以自定义
      "command": "node", // 启动命令,使用 Node.js 运行
      "args": ["/ABSOLUTE_PATH_HERE/dist/index.js"] // 命令参数,指向编译后的 index.js 文件,请替换为你的 ptcg-mcp 项目 dist 目录的绝对路径
    }
  }
}

注意:

  • 请将 '/ABSOLUTE_PATH_HERE/dist/index.js' 替换为你本地 'ptcg-mcp' 项目 'dist' 目录中 'index.js' 文件的绝对路径。例如,如果你的项目路径是 '/Users/yourname/ptcg-mcp',那么 'dist/index.js' 的绝对路径可能是 '/Users/yourname/ptcg-mcp/dist/index.js'。
  • 确保 MCP 客户端(如 Claude)已正确配置并能加载 MCP 服务器。具体配置方法请参考 MCP 客户端的文档。

基本使用方法

配置完成后,在 MCP 客户端中,你可以通过自然语言提问来搜索 Pokemon TCG 卡牌。例如,你可以向 Claude 提出以下问题:

  • "Show me standard-legal basic Pokemon with free retreat" (展示标准赛制中合法的,具有自由撤退的基本宝可梦卡牌)
  • "Find water-type Pokemon with more than 120 HP" (查找水属性,HP 超过 120 的宝可梦卡牌)
  • "Search for Pikachu cards" (搜索皮卡丘卡牌)
  • "Show me cards with 'char*' in their name" (展示名称中包含 "char" 开头的卡牌,使用通配符 *)
  • "Find EX Pokemon that evolve from Charmander" (查找由小火龙进化而来的 EX 宝可梦卡牌)
  • "What is the price of Charizard VMAX from Darkness Ablaze set?" (查询喷火龙 VMAX (漆黑的火箭队) 的价格)

服务器会将搜索结果以 JSON 格式返回给客户端,客户端可以解析 JSON 数据并展示卡牌信息和图片。

查询语法提示:

项目支持丰富的查询语法,例如:

  • 名称搜索: 'name:pikachu', '!name:pikachu' (精确匹配), 'name:char*' (通配符), 'name:chien-pao' (保留连字符)
  • 属性过滤: 'types:water', '-types:water' (排除水属性), 'subtypes:basic', 'legalities.standard:legal', 'hp:[100 TO 200]', 'convertedRetreatCost:0'
  • 范围查询: 'hp:[100 TO 200]' (包含 100 和 200), 'hp:{100 TO 200}' (不包含 100 和 200), 'hp:[* TO 100]' (小于等于 100), 'hp:[100 TO *]' (大于等于 100)

更多详细的查询语法和示例请参考仓库的 'README.md' 文件。

信息

分类

网页与API