A generic HTTP client service based on Model Context Protocol (MCP).
- HTTP GET Requests: Query or retrieve resources — ideal for fetching data, reading lists, querying details, and other read-only operations
- HTTP POST Requests: Create new resources or submit data — ideal for adding records, submitting forms, triggering actions
- HTTP PUT Requests: Update or replace existing resources — ideal for modifying records, full updates
- HTTP DELETE Requests: Delete specified resources — ideal for removing records, deleting data
- Flexible Header Configuration: All requests support custom headers in JSON format
- Complete Response Information: Returns status code, response headers, and response body
Recommended: No specific installation steps are required when using jbang. We will use jbang to run http-client-mcp directly.
{
"mcpServers": {
"http-client-mcp": {
"args": [
"io.github.wb04307201:http-mcp:1.0.1"
],
"command": "jbang"
}
}
}Send an HTTP GET request to query or retrieve resources. Ideal for fetching data from APIs, reading lists, querying details, and other read-only operations. Returns status code, response headers, and response body.
Parameters:
url: Complete request URL (required)headers: Request headers as JSON object string (optional), e.g.,{"Authorization": "Bearer token"}. Omit this parameter when custom headers are not needed — do not pass null or empty string
Example Input:
url: https://api.example.com/users
headers: {"Authorization": "Bearer token123"}
Send an HTTP POST request to create new resources or submit data. Ideal for adding records, submitting forms, triggering actions. Request body must be in JSON format. Returns status code, response headers, and response body.
Parameters:
url: Complete request URL (required)body: Request body, must be a valid JSON string (required), e.g.,{"name": "test", "value": 123}. Default Content-Type is application/jsonheaders: Request headers as JSON object string (optional), e.g.,{"Authorization": "Bearer token"}. Omit this parameter when custom headers are not needed — do not pass null or empty string
Example Input:
url: https://api.example.com/users
body: {"name": "John Doe", "email": "john@example.com"}
headers: {"Content-Type": "application/json", "Authorization": "Bearer token123"}
Send an HTTP PUT request to update or replace existing resources. Ideal for modifying records, full updates. Request body must be in JSON format. Returns status code, response headers, and response body.
Parameters:
url: Complete request URL (required)body: Request body, must be a valid JSON string (required), e.g.,{"name": "updated"}. Default Content-Type is application/jsonheaders: Request headers as JSON object string (optional), e.g.,{"Authorization": "Bearer token"}. Omit this parameter when custom headers are not needed — do not pass null or empty string
Example Input:
url: https://api.example.com/users/1
body: {"name": "Jane Doe", "email": "jane@example.com"}
headers: {"Content-Type": "application/json"}
Send an HTTP DELETE request to delete specified resources. Ideal for removing records, deleting data. Returns status code, response headers, and response body.
Parameters:
url: Complete request URL (required)headers: Request headers as JSON object string (optional), e.g.,{"Authorization": "Bearer token"}. Omit this parameter when custom headers are not needed — do not pass null or empty string
Example Input:
url: https://api.example.com/users/1
headers: {"Authorization": "Bearer token123"}
All tools return responses in a unified format:
{
"statusCode": 200,
"headers": {
"Content-Type": ["application/json"],
"Date": ["Sun, 05 Apr 2026 12:00:00 GMT"]
},
"body": "{ ... }"
}If an error occurs, returns:
{
"error": "RestClientException",
"message": "Connection refused"
}- API Testing: Quickly test REST API endpoints
- Data Retrieval: Fetch data from external APIs
- Webhook Triggering: Send HTTP requests to trigger webhooks
- Service Integration: Integrate with third-party services
- Automation Tasks: Execute HTTP operations in AI assistant workflows
- URLs must be complete, including the protocol (http:// or https://)
- Request headers and body must be valid JSON strings
- Default Content-Type is
application/json - Timeout is determined by Spring RestClient default configuration