# 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 客户端服务。
## 功能特性
- **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 默认配置决定