使用说明

项目简介

本项目是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供QR二维码生成服务。它允许 MCP 客户端通过标准化的 MCP 协议,请求生成各种类型的QR二维码,并能访问预定义的QR二维码资源。

主要功能点

  • QR二维码生成工具 (Tool): 提供 'generate-qrcode' 工具,允许客户端指定内容、尺寸、纠错级别和输出格式(图片或文本)来生成QR二维码。
  • QR二维码资源 (Resources): 托管和管理预定义的QR二维码资源,例如示例QR码、WiFi连接QR码、联系人信息QR码等,客户端可以通过资源URI访问。
  • Prompt 模板 (Prompts): 提供预定义的Prompt模板,方便用户通过自然语言指令快速生成特定类型的QR二维码。
  • 资源模板 (Resource Templates): 提供预定义的资源模板,方便用户了解可用的资源类型和参数。
  • 标准 MCP 协议: 完全遵循 MCP 协议规范,通过 JSON-RPC 与客户端通信。
  • Stdio 传输协议: 使用 Stdio 作为默认的传输协议,易于集成和部署。

安装步骤

  1. 前提条件: 确保已安装 Node.js 和 npm (或 yarn)。
  2. 克隆仓库: 在终端执行命令 'git clone https://github.com/jwalsh/mcp-server-qrcode.git' 克隆仓库到本地。
  3. 进入项目目录: 执行 'cd mcp-server-qrcode' 进入项目目录。
  4. 安装依赖: 执行 'npm install' 或 'yarn install' 安装项目所需的依赖包。
  5. 构建项目: 执行 'npm run build' 命令编译 TypeScript 代码,生成可执行的 JavaScript 文件。

服务器配置

为了让 MCP 客户端能够连接到 QR Code Generator MCP 服务器,您需要在客户端配置中添加以下服务器信息。以下是 JSON 格式的配置示例,请根据您的实际情况进行调整。

{
  "serverName": "QR Code Generator",
  "command": "node",
  "args": ["build/cli.js", "server"]
}
  • 'serverName': 服务器的名称,可以自定义,用于在客户端标识该服务器。
  • 'command': 启动服务器的命令,这里使用 'node' 命令来运行 JavaScript 文件。
  • 'args': 传递给 'command' 的参数数组。
    • '"build/cli.js"': 指向编译后的服务器 CLI 入口文件路径。
    • '"server"': 指定 'cli.js' 运行 'server' 命令,启动 MCP 服务器模式。

注意: MCP客户端无需配置额外的参数,只需提供上述基本的服务器启动命令即可。客户端通过 Stdio 与服务器进行通信,无需指定端口或地址。

基本使用方法

  1. 启动服务器: 在项目根目录下,执行命令 'node build/cli.js server' 启动 MCP 服务器。服务器将监听 Stdio 输入输出,等待客户端连接和请求。
  2. 客户端请求: 使用 MCP 客户端 (如支持 MCP 协议的 LLM 应用或 MCP 客户端 SDK) 连接到该服务器。
  3. 调用工具: 客户端可以使用 'tool-call' 请求调用 'generate-qrcode' 工具,例如:
    {
      "type": "tool-call",
      "id": "tool-call-1",
      "params": {
        "name": "generate-qrcode",
        "arguments": {
          "content": "https://example.com",
          "format": "image"
        }
      }
    }
  4. 访问资源: 客户端可以使用 'resources/get' 请求访问预定义的 QR 码资源,例如请求 'qrcode://sample' 资源:
    {
      "type": "request",
      "method": "resources/get",
      "id": "resource-get-1",
      "params": {
        "uri": "qrcode://sample"
      }
    }
  5. 其他功能: 客户端还可以使用 'resources/list', 'prompts/list', 'resources/templates/list' 等请求,分别获取资源列表、Prompt 模板列表和资源模板列表。

更多关于 MCP 协议的详细信息,请参考 Model Context Protocol (MCP) 官方文档

信息

分类

AI与计算