mcpField
H
http-request

http-request

github.com/winsorllcDevelopment069 installsUpdated 36w ago
Repository

About http-request

A command-line skill for making HTTP requests, intended for API calls, testing, and data downloads. It supports multiple request methods, JSON handling, authentication, form uploads, and saving responses.

Key features

  1. 01GET, POST, PUT, PATCH, and DELETE requests
  2. 02JSON request bodies and response formatting
  3. 03Bearer, Basic, and custom-header authentication
  4. 04Form data and file uploads
  5. 05Redirects, timeouts, and response saving

Use cases

  1. 01Calling authenticated API endpoints
  2. 02Sending JSON data and inspecting responses
  3. 03Uploading files or saving responses to files

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/winsorllc/upgraded-carnival --skill http-request

After installing, type/http-requestin Claude Code to confirm it loaded.

Bundled filesindex.jsrequest.sh

Details

From the project README

HTTP Request Skill

Make HTTP requests with enhanced output and JSON handling.

When to Use

✅ USE this skill when:

  • "Make a GET request to..."
  • "POST this JSON to..."
  • "Call this API endpoint"
  • "Download data from URL"
  • "Test an API"

When NOT to Use

❌ DON'T use this skill when:

  • Simple file downloads → use web-fetch/download.sh
  • Browser automation → use browser-tools
  • Web scraping → use web-fetch

Commands

GET Request
{baseDir}/request.sh GET "https://api.example.com/data"
{baseDir}/request.sh GET "https://api.example.com/data" --json
{baseDir}/request.sh GET "https://api.example.com/data" --header "Authorization: Bearer token"
POST Request
{baseDir}/request.sh POST "https://api.example.com/create" --data '{"name": "test"}'
{baseDir}/request.sh POST "https://api.example.com/create" --file data.json
{baseDir}/request.sh POST "https://api.example.com/upload" --form "[email protected]"
PUT/PATCH/DELETE
{baseDir}/request.sh PUT "https://api.example.com/update/1" --data '{"name": "updated"}'
{baseDir}/request.sh PATCH "https://api.example.com/patch/1" --data '{"status": "active"}'
{baseDir}/request.sh DELETE "https://api.example.com/delete/1"
With Authentication
{baseDir}/request.sh GET "https://api.example.com/private" --auth bearer:TOKEN
{baseDir}/request.sh GET "https://api.example.com/private" --auth basic:user:pass
{baseDir}/request.sh GET "https://api.example.com/private" --header "X-API-Key: secret"
Custom Options
{baseDir}/request.sh GET "https://api.example.com" --timeout 60
{baseDir}/request.sh GET "https://api.example.com" --follow --max-redirects 5
{baseDir}/request.sh GET "https://api.example.com" --verbose

Options

  • --data <json>: Request body (JSON string)
  • --file <path>: Read request body from file
  • --form <data>: Form data or file upload (@filename)
  • --header <header>: Custom header (can be repeated)
  • --auth <type:credentials>: Authentication (bearer:TOKEN or basic:user:pass)
  • --timeout <sec>: Request timeout (default: 30)
  • --json: Format JSON response
  • --verbose: Show request details
  • --follow: Follow redirects
  • --max-redirects <n>: Max redirects (default: 5)
  • --out <file>: Save response to file

Examples

Get JSON and format:

{baseDir}/request.sh GET "https://jsonplaceholder.typicode.com/users" --json

POST data:

{baseDir}/request.sh POST "https://api.example.com/users" \
  --data '{"name": "John", "email": "[email protected]"}' \
  --json

With Bearer token:

{baseDir}/request.sh GET "https://api.example.com/protected" \
  --auth bearer:your_token_here

Upload file:

{baseDir}/request.sh POST "https://api.example.com/upload" \
  --form "[email protected]"

Notes

  • Automatically adds Content-Type: application/json for JSON data
  • Handles response body parsing
  • Shows response headers with --verbose
  • Supports multipart form data uploads

Comments

Markdown supported