# http-mcp **Repository Path**: wb04307201/http-mcp ## Basic Information - **Project Name**: http-mcp - **Description**: 基于 Model Context Protocol (MCP) 的通用 HTTP 客户端服务。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-06 - **Last Updated**: 2026-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HTTP Client MCP 基于 Model Context Protocol (MCP) 的通用 HTTP 客户端服务。
English | 中文
## 功能特性 - **HTTP GET 请求**:查询或获取资源,适用于获取数据、读取列表、查询详情等只读操作 - **HTTP POST 请求**:创建新资源或提交数据,适用于新增记录、提交表单、触发操作等 - **HTTP PUT 请求**:更新或替换已有资源,适用于修改已有记录、全量更新等 - **HTTP DELETE 请求**:删除指定资源,适用于移除记录、删除数据等操作 - **灵活的请求头配置**:所有请求都支持通过 JSON 格式自定义请求头 - **完整的响应信息**:返回状态码、响应头和响应体 ## stdio配置 > **推荐**:使用 jbang 时不需要特定的安装步骤。我们将使用 jbang 直接运行 http-client-mcp。 ```json { "mcpServers": { "http-client-mcp": { "args": [ "io.github.wb04307201:http-mcp:1.0.1" ], "command": "jbang" } } } ``` ## 提供的工具 ### 1. httpGet - 查询或获取资源 发送HTTP GET请求,用于查询或获取资源。适用于从API获取数据、读取列表、查询详情等只读操作。返回状态码、响应头和响应体。 **参数:** - `url`: 完整的请求 URL(必填) - `headers`: 请求头JSON对象字符串(可选),例如:`{"Authorization": "Bearer token"}`。不需要自定义请求头时省略此参数,不要传null或空字符串 **示例输入:** ``` url: https://api.example.com/users headers: {"Authorization": "Bearer token123"} ``` ### 2. httpPost - 创建新资源或提交数据 发送HTTP POST请求,用于创建新资源或提交数据。适用于新增记录、提交表单、触发操作等。请求体为JSON格式。返回状态码、响应头和响应体。 **参数:** - `url`: 完整的请求 URL(必填) - `body`: 请求体,必须为有效的JSON格式字符串(必填),例如:`{"name": "test", "value": 123}`。默认Content-Type为application/json - `headers`: 请求头JSON对象字符串(可选),例如:`{"Authorization": "Bearer token"}`。不需要自定义请求头时省略此参数,不要传null或空字符串 **示例输入:** ``` url: https://api.example.com/users body: {"name": "John Doe", "email": "john@example.com"} headers: {"Content-Type": "application/json", "Authorization": "Bearer token123"} ``` ### 3. httpPut - 更新或替换已有资源 发送HTTP PUT请求,用于更新或替换已有资源。适用于修改已有记录、全量更新等。请求体为JSON格式。返回状态码、响应头和响应体。 **参数:** - `url`: 完整的请求 URL(必填) - `body`: 请求体,必须为有效的JSON格式字符串(必填),例如:`{"name": "updated"}`。默认Content-Type为application/json - `headers`: 请求头JSON对象字符串(可选),例如:`{"Authorization": "Bearer token"}`。不需要自定义请求头时省略此参数,不要传null或空字符串 **示例输入:** ``` url: https://api.example.com/users/1 body: {"name": "Jane Doe", "email": "jane@example.com"} headers: {"Content-Type": "application/json"} ``` ### 4. httpDelete - 删除指定资源 发送HTTP DELETE请求,用于删除指定资源。适用于移除记录、删除数据等操作。返回状态码、响应头和响应体。 **参数:** - `url`: 完整的请求 URL(必填) - `headers`: 请求头JSON对象字符串(可选),例如:`{"Authorization": "Bearer token"}`。不需要自定义请求头时省略此参数,不要传null或空字符串 **示例输入:** ``` url: https://api.example.com/users/1 headers: {"Authorization": "Bearer token123"} ``` ## 响应格式 所有工具都会返回统一格式的响应: ```json { "statusCode": 200, "headers": { "Content-Type": ["application/json"], "Date": ["Sun, 05 Apr 2026 12:00:00 GMT"] }, "body": "{ ... }" } ``` 如果发生错误,返回: ```json { "error": "RestClientException", "message": "Connection refused" } ``` ## 使用场景 - **API 测试**:快速测试 REST API 端点 - **数据获取**:从外部 API 获取数据 - **Webhook 触发**:发送 HTTP 请求触发 webhook - **服务集成**:与第三方服务进行集成 - **自动化任务**:在 AI 助手工作流中执行 HTTP 操作 ## 注意事项 1. URL 必须是完整的 URL,包含协议(http:// 或 https://) 2. 请求头和请求体必须是有效的 JSON 字符串 3. 默认 Content-Type 为 `application/json` 4. 超时时间由 Spring RestClient 默认配置决定