HttpCat MCP Server

使用说明(Markdown 格式)

  • 项目简介

    • HttpCat MCP Server 是一个基于Go语言实现的 MCP 服务器,采用 SSE(服务器发送事件)进行传输,向 MCP 客户端提供统一的资源(Resources)和工具(Tools)的注册、执行,以及系统信息的查询等能力。服务器还集成了文件管理、图片管理、上传历史、统计等功能模块,并支持多种认证方式以确保API安全。
  • 主要功能点

    • MCP 服务端实现与传输
      • 提供 /mcp 路径下的 SSE 服务端,按 MCP 标准接收请求并返回对应结果。
    • 注册的 Resources 与 Tools
      • 资源(Resources):filelist/current、disk/usage、system/info,分别返回当前文件列表、磁盘使用、系统信息等数据。
      • 工具(Tools):list_files、get_file_info、get_upload_history、get_disk_usage、upload_file、upload_image、get_statistics、verify_file_md5 等,用于在 MCP 客户端中执行相应操作。
    • 文件与图片相关能力
      • 支持文件上传、下载、列出、获取信息,以及图片管理(上传、重命名、删除、缩略图等)。
    • 认证与安全
      • 支持 JWT Token、AK/SK 签名、以及可选的 MCP 专用认证TOKEN。支持 Open API 签名验证、上传Token等机制,提升自动化场景的安全性。
    • 配置与部署
      • 可通过 svr.yml 配置文件启用 MCP 服务、认证方式、数据库、上传策略等,结合现有的后端服务器运行。
  • 安装步骤

    • 环境准备
      • 后端:Go 1.23 及以上
      • 前端(若需要):Node.js 16+(如需本地构建前端资源,可参考项目文档)
    • 构建后端
      • 使用提供的构建方式将 server-go 打包为可执行文件,例如通过命令构建后端程序并生成 httpcat 二进制文件。
    • 启动 MCP 服务
      • 需要先准备 aft svr.yml 配置文件(包含 MCP 的开关、认证、数据库、上传策略等信息),再以命令启动后端:
        • 运行命令示例(与仓库文档保持一致的启动方式):
          • httpcat -C ./internal/conf/svr.yml --static=../static/
    • 配置示例
      • 在 svr.yml 中启用 MCP、设置认证等,例如开启 MCP、配置 AK/SK、以及 Open API 签名等。具体字段由项目配置定义决定,请参考仓库的 svr.yml 配置项说明。
    • MCP 客户端配置(示例,非客户端代码,仅用于接入 MCP 服务)
      • MCP 客户端需要的配置至少包含:服务器名称、连接方式、以及连接地址等信息。以下为一个示例的 JSON 配置,用以描述 MCP 服务端的接入信息(客户端并不需要此处的代码实现,仅用于展示接入信息): { "serverName": "httpcat", "type": "sse", "url": "http://your-server:8888/mcp/sse", "auth": { "method": "none" // 如使用 JWT/AK-SK,客户端可添加相应认证参数 } }
      • 如果使用 AK/SK 的签名认证,MCP 客户端需要在请求中携带 AccessKey、Signature、TimeStamp 等头信息进行签名请求,具体实现请以 MCP 客户端 SDK 的要求为准。
    • 基本使用方法
      • 启动后端后,通过 MCP 客户端建立连接,并使用注册的 Tools 进行调用,例如列出文件、获取上传历史、上传文件等,服务端会返回标准化的 JSON 形式响应。
      • 参考后端文档中的 MCP_USAGE.md 获取更详细的调用示例、参数与返回格式。

服务器信息