使用说明

项目简介

本项目 'ctf-mcp-server' 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 客户端提供一系列网络安全竞赛 (CTF) 中常用的实用工具。通过 MCP 协议,LLM 可以安全、便捷地调用这些工具,扩展自身能力,辅助解决 CTF 题目或执行相关安全任务。

主要功能点

  • 工具注册与执行: 提供了多种 CTF 实用工具,如二维码生成与解码、Base64 和 Base58 编解码等,并通过 MCP 的工具注册机制暴露给客户端。
  • 标准化接口: 遵循 MCP 协议,使用 JSON-RPC 进行通信,保证了与 MCP 客户端的兼容性和互操作性。
  • 简单易用: 服务器配置简单,工具插件化设计,易于扩展和维护。

安装步骤

  1. 环境准备: 确保已安装 Python 3.6 或更高版本。

  2. 安装依赖: 虽然仓库中没有明确的依赖安装步骤,但根据代码内容,你可能需要安装以下Python库。建议使用 pip 安装:

    pip install mcp  # 假设 mcp 库是 MCP 协议的基础库 (实际情况可能需要查看 mcp 库的安装方式)
    pip install Pillow pyzbar qrcode base58

    请注意:'mcp' 库的安装方式可能需要根据实际的 MCP 库来确定。如果 'FastMCP' 是自定义的类,则可能不需要额外安装 'mcp' 库,但为了符合 MCP 服务器的定义,通常会依赖一个 MCP 协议库。

  3. 下载仓库代码: 将 'ctf-mcp-server' 仓库的代码下载到本地。

服务器配置

MCP 客户端需要配置服务器连接信息才能与 'ctf-mcp-server' 建立连接。以下是一个示例配置,基于 'README.md' 文件中的内容:

{
  "mcpServers": {
    "ctftools": {  // 服务器名称,客户端用此名称标识和连接服务器
      "command": "python",  // 启动服务器的命令,这里使用 python 解释器
      "args": [  // 启动命令的参数
        "D:\\xxx\\server.py"  // 服务器主程序 server.py 的路径,**请务必替换为实际 server.py 文件的绝对路径**
      ],
      "alwaysAllow": [  // 默认允许客户端调用的工具列表
        "decode_qr",  // 解码二维码工具
        "create_qr",  // 生成二维码工具
        "b64_encode", // Base64 编码工具
        "b64_decode", // Base64 解码工具
        "b58_encode", // Base58 编码工具
        "b58_decode"  // Base58 解码工具
      ],
      "timeout": 900  // 工具执行超时时间,单位为秒
    }
  }
}

请注意:

  • 'args' 中的 'D:\xxx\server.py' 必须替换 为你本地 'server.py' 文件的绝对路径
  • 'alwaysAllow' 列表定义了默认允许客户端调用的工具。MCP 客户端可能会有权限管理机制,根据配置决定是否允许调用这些工具。

基本使用方法

  1. 启动服务器: 根据上述服务器配置,在命令行中执行 'mcpServers.ctftools' 中定义的 'command' 和 'args',即在命令行中执行:

    python D:\\xxx\\server.py  # 同样,请替换为实际 server.py 文件的绝对路径

    服务器启动后,会监听 MCP 客户端的请求。

  2. 配置 MCP 客户端: 在你的 MCP 客户端中,根据上述服务器配置信息,配置连接到 'ctftools' 服务器。客户端需要能够通过 JSON-RPC 与服务器进行通信。

  3. 调用工具: 客户端连接成功后,即可调用 'alwaysAllow' 列表中或其他注册的工具。例如,客户端可以发送 JSON-RPC 请求调用 'create_qr' 工具生成二维码,或调用 'decode_qr' 工具解码二维码。

    示例 (概念性,非实际 JSON-RPC 请求): 假设客户端要调用 'create_qr' 工具,并传入参数 'text="Hello MCP!", size=300',客户端需要构造符合 MCP 协议的 JSON-RPC 请求发送给服务器。服务器执行工具后,会将结果以 JSON-RPC 响应返回给客户端。

总结: 'ctf-mcp-server' 提供了一个简单但实用的 MCP 服务器,为 LLM 客户端提供了 CTF 相关的工具能力。你需要配置 MCP 客户端连接到该服务器,并按照 MCP 协议规范调用相应的工具来使用其功能。

信息

分类

开发者工具