Skip to main content
Glama
jules-tnk

HTTP MCP Server

by jules-tnk

HTTP MCP Server

A Model Context Protocol (MCP) server that enables AI agents to send HTTP requests to any endpoint with full control over methods, headers, query parameters, and request bodies.

Note: This MCP server only supports stdio transport.

MCP Badge from LobeHub

MCP Badge

Table of Contents

Features

  • Support for major HTTP methods (GET, POST, PUT, PATCH, DELETE, QUERY)

  • Custom headers configuration

  • Query parameter handling with proper URL encoding

  • Request body support for POST/PUT/PATCH/QUERY

  • Comprehensive error handling

  • TypeScript with strict type safety

  • Clean, modular architecture

  • STDIO transport support for seamless integration with MCP clients

Installation

Install the package globally using npm:

npm install -g @jules-tnk/ts-http-mcp

Or use npx to run it directly:

npx @jules-tnk/ts-http-mcp

Configuration

Claude Desktop

Add the following configuration to your Claude Desktop config file (claude_desktop_config.json):

Windows: %APPDATA%\Claude\claude_desktop_config.json

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Linux: ~/.config/claude/claude_desktop_config.json

{
	"mcpServers": {
		"http-mcp": {
			"command": "npx",
			"args": ["@jules-tnk/ts-http-mcp"]
		}
	}
}

After updating the configuration, restart Claude Desktop to load the MCP server.

Related MCP server: API Request MCP Server

Other MCP Clients

For other MCP clients that support stdio transport, configure them to run:

npx @jules-tnk/ts-http-mcp

Local Development

Install

pnpm install

Build

pnpm build

Run

pnpm start

Testing

To test the MCP server locally, you can run it directly and interact with it through stdio:

pnpm start

The server will start and listen for MCP protocol messages on stdin/stdout.

Usage

Once configured with your MCP client, the HTTP MCP server provides the following capabilities:

  • GET requests: Retrieve data from any HTTP endpoint

  • QUERY requests: Send safe, idempotent requests with request bodies

  • POST requests: Send data to endpoints that accept POST requests

  • PUT/PATCH requests: Update resources on remote servers

  • DELETE requests: Remove resources from remote servers

  • Custom headers: Add authentication, content-type, and other headers

  • Query parameters: Include URL parameters with proper encoding

  • Request bodies: Send JSON, form data, or raw content for supported body-capable methods

The server handles all the HTTP communication details, error handling, and response processing, making it easy for AI agents to interact with web APIs and services.

License

MIT License - see the LICENSE.md file for details.

Available Tools

1 tool
send_http_requestB

Send an HTTP request to any endpoint with custom headers, query parameters, and body

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe full URL to send the request to (including path parameters)
bodyNoRequest body (for POST, PUT, PATCH, and QUERY methods)
methodYesHTTP method to use
headersNoHTTP headers to include in the request
queryParamsNoQuery parameters to append to the URL

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It does not mention potential side effects (e.g., sending data to external servers, network access requirements, timeouts, or error handling), leaving the agent without a clear safety/profile picture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that gets straight to the point. It front-loads the verb and resource and includes the key customization features without any fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks information about the response format or return value, which is significant given the absence of an output schema. It also omits details about error conditions or limitations, making it incomplete for an agent to fully anticipate the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions custom headers, query parameters, and body, which aligns with the schema, but doesn't add syntax or format details. Since the schema already documents all parameters with 100% coverage, the description provides minimal additional value beyond a high-level summary.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: sending an HTTP request to any endpoint, listing the key customization options (headers, query params, body). It uses a specific verb and resource, and with no sibling tools, there is no need for differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for general HTTP requests but provides no explicit guidance on when to use it versus alternatives, nor any exclusions or prerequisites. Given the lack of sibling tools, the usage context is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.1.0
    • First observedsend_http_request

TDQS

A3.8/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. The tool's purpose is clear and unambiguous.

Naming Consistency5/5

The single tool follows a clear verb_noun convention, and the name accurately describes its function. Consistency is trivially maintained.

Tool Count4/5

One tool is appropriate for a server dedicated solely to HTTP requests. While the count is below the typical range, it is not excessive or deficient for the narrow scope.

Completeness5/5

The tool supports full HTTP request customization, covering all methods and parameters. There are no obvious missing operations within the domain of making HTTP requests.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides a structured HTTP client tool for making web requests with full HTTP method support, detailed response metadata, and error handling. Enables AI assistants to interact with any web API or endpoint through the curl_request tool.
    8 npm
    2
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables automatic HTTP requests (GET, POST, PUT, DELETE, etc.) with JSON validation and proxy support. Supports custom headers, request bodies, and environment variable configuration for seamless API integration.
    1
    4 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables LLMs to make HTTP requests using structured cURL commands with support for multiple authentication methods, custom headers, and comprehensive request/response control.
    2
    7 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables LLMs to make arbitrary HTTP API requests with any method and full control over headers, query parameters, and body.
    4 npm
    ISC