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 服务、认证方式、数据库、上传策略等,结合现有的后端服务器运行。
- MCP 服务端实现与传输
-
安装步骤
- 环境准备
- 后端:Go 1.23 及以上
- 前端(若需要):Node.js 16+(如需本地构建前端资源,可参考项目文档)
- 构建后端
- 使用提供的构建方式将 server-go 打包为可执行文件,例如通过命令构建后端程序并生成 httpcat 二进制文件。
- 启动 MCP 服务
- 需要先准备 aft svr.yml 配置文件(包含 MCP 的开关、认证、数据库、上传策略等信息),再以命令启动后端:
- 运行命令示例(与仓库文档保持一致的启动方式):
- httpcat -C ./internal/conf/svr.yml --static=../static/
- 运行命令示例(与仓库文档保持一致的启动方式):
- 需要先准备 aft svr.yml 配置文件(包含 MCP 的开关、认证、数据库、上传策略等信息),再以命令启动后端:
- 配置示例
- 在 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 获取更详细的调用示例、参数与返回格式。
- 环境准备