使用说明

项目简介

本项目 'marvel-mcp' 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在演示如何使用 MCP 服务器与外部 API 进行交互。它通过连接漫威开发者API,提供了查询漫威漫画和角色数据的功能,并以 MCP 工具的形式暴露给支持 MCP 协议的客户端(如 GitHub Copilot Agent 模式、Claude 等)。

主要功能点

  • 查询漫威角色: 支持根据名称、起始名称等条件检索漫威角色。
  • 按ID查询角色: 根据角色 ID 获取角色的详细信息。
  • 查询角色相关漫画: 获取特定角色参与的漫画列表,并支持多种漫画过滤器。
  • 查询漫画列表: 获取漫威漫画列表,支持多种过滤器,如漫画格式、日期范围、标题等。
  • 按ID查询漫画: 根据漫画 ID 获取单本漫画的详细信息。
  • 查询漫画中的角色: 获取特定漫画中出现的角色列表。
  • 生成漫画HTML页面: 根据漫画数据生成包含漫画封面的 HTML 页面,方便可视化展示。

安装步骤

  1. 获取 Marvel API 密钥: 访问 Marvel Developer API 注册并获取 Public Key 和 Private Key。
  2. 克隆仓库: 将 'marvel-mcp' 仓库克隆到本地。
    git clone https://github.com/DanWahlin/marvel-mcp
    cd marvel-mcp
  3. 配置环境变量:
    • 复制 '.env.template' 文件并重命名为 '.env'。
    • 打开 '.env' 文件,填入你申请的 Marvel API Public Key 和 Private Key。
      MARVEL_PUBLIC_KEY=YOUR_PUBLIC_KEY
      MARVEL_PRIVATE_KEY=YOUR_PRIVATE_KEY
      MARVEL_API_BASE=https://gateway.marvel.com/v1/public
  4. 安装依赖并构建: 运行以下命令安装项目依赖并构建项目。
    npm install
    npm run build

服务器配置

MCP 服务器需要配置到 MCP 客户端才能使用。以下分别是在 Claude Desktop 和 GitHub Copilot (VS Code Insiders) 中配置 'marvel-mcp' 服务器的配置信息。请注意,以下是配置信息,无需用户修改代码,只需复制到 MCP 客户端的配置文件中。

Claude Desktop 配置

修改 'claude_desktop_config.json' 文件,在 'mcpServers' 中添加 'marvel-mcp' 服务器配置。

{
  "mcpServers": {
    "marvel-mcp": {
      "type": "stdio",
      "command": "npx",  // 启动命令,使用 npx 运行
      "args": [
        "-y",
        "@codewithdan/marvel-mcp" //  运行 @codewithdan/marvel-mcp 包,前提是已全局安装或在项目依赖中
        // 如果本地运行,可以使用构建后的 index.js 文件路径,例如: "/PATH/TO/marvel-mcp/dist/index.js"
      ],
      "env": {
        "MARVEL_PUBLIC_KEY": "YOUR_PUBLIC_KEY",  //  Marvel API Public Key,请替换为你的密钥
        "MARVEL_PRIVATE_KEY": "YOUR_PRIVATE_KEY", // Marvel API Private Key,请替换为你的密钥
        "MARVEL_API_BASE": "https://gateway.marvel.com/v1/public" // Marvel API 基础 URL
      }
    }
  }
}

GitHub Copilot (VS Code Insiders) 配置

仓库级别配置 (推荐): 在你的代码仓库的 '.vscode' 目录下创建 'mcp.json' 文件,并添加以下内容。

{
  "inputs": [],
  "servers": {
     "marvel-mcp": {
         "command": "npx", // 启动命令,使用 npx 运行
         "args": [
             "-y",
             "@codewithdan/marvel-mcp" // 运行 @codewithdan/marvel-mcp 包,前提是已全局安装或在项目依赖中
             // 如果本地运行,可以使用构建后的 index.js 文件路径,例如: "/PATH/TO/marvel-mcp/dist/index.js"
         ],
         "env": {
             "MARVEL_PUBLIC_KEY": "YOUR_PUBLIC_KEY", // Marvel API Public Key,请替换为你的密钥
             "MARVEL_PRIVATE_KEY": "YOUR_PRIVATE_KEY",// Marvel API Private Key,请替换为你的密钥
             "MARVEL_API_BASE": "https://gateway.marvel.com/v1/public" // Marvel API 基础 URL
         }
     }
  }
}

用户级别配置: 打开 VS Code 设置 (Settings),搜索 "mcp",在 "User Settings" 的 JSON 编辑器中添加以下配置。

"mcp": {
  "servers": {
      "marvel-mcp": {
          "command": "npx", // 启动命令,使用 npx 运行
          "args": [
              "-y",
              "@codewithdan/marvel-mcp" // 运行 @codewithdan/marvel-mcp 包,前提是已全局安装或在项目依赖中
              // 如果本地运行,可以使用构建后的 index.js 文件路径,例如: "/PATH/TO/marvel-mcp/dist/index.js"
          ],
          "env": {
              "MARVEL_PUBLIC_KEY": "YOUR_PUBLIC_KEY", // Marvel API Public Key,请替换为你的密钥
              "MARVEL_PRIVATE_KEY": "YOUR_PRIVATE_KEY",// Marvel API Private Key,请替换为你的密钥
              "MARVEL_API_BASE": "https://gateway.marvel.com/v1/public" // Marvel API 基础 URL
          }
      },
  }
},
"chat.mcp.discovery.enabled": true, // 启用 MCP 服务器发现

注意:

  • 'command' 和 'args' 配置指定了服务器的启动方式。这里使用 'npx @codewithdan/marvel-mcp' 可以直接运行已发布的 npm 包 '@codewithdan/marvel-mcp'。 如果你想本地运行,可以将 'args' 修改为指向 'dist/index.js' 的路径,例如 '"/PATH/TO/marvel-mcp/dist/index.js"',并且 'command' 可以改为 '"node"'。
  • 'env' 配置中需要填入你的 Marvel API 密钥。

基本使用方法

  1. 确保 MCP 服务器已正确配置并启动。

  2. 在 GitHub Copilot 中切换到 Agent 模式 (而非 Chat 或 Edits 模式)。

  3. 点击 Copilot 聊天输入框旁边的刷新按钮,刷新工具列表,确保 'marvel-mcp' 服务器的工具被成功发现。

  4. 点击 "🛠️" 工具按钮,可以查看所有可用的工具,包括来自 'marvel-mcp' 服务器的工具。

  5. 在 Copilot 聊天框中输入自然语言问题,例如:

    • 'List 10 marvel characters.' (列出10个漫威角色)
    • 'What comics is Wolverine in?' (金刚狼出现在哪些漫画中?)
    • 'Which characters appear in the Avengers comics?' (哪些角色出现在复仇者联盟漫画中?)
    • 'What characters are in the Hedge Knight II: Sworn Sword (2007) comic?' (哪些角色出现在《雇佣骑士II:誓剑》(2007) 漫画中?)

    Copilot Agent 会根据你的问题自动调用 'marvel-mcp' 服务器提供的工具来获取漫威数据,并返回结果。

信息

分类

网页与API