Skip to main content
Glama

req-mcp-server

req-mcp-server is a Bun-based MCP server that provides a persistent HTTP request toolset for testing and inspecting APIs.

It exposes a small set of MCP tools for setting a base URL, sending requests, reusing bearer auth across calls, and resetting request session state.

What it does

  • serves an MCP endpoint over HTTP using Hono

  • maintains per-session request state

  • persists cookies within a session

  • can automatically capture and reuse bearer tokens from login responses

  • supports JSON request bodies and custom headers for standard API workflows

Related MCP server: swagger-mcp-tool

Exposed tools

The server registers four MCP tools:

  • new_request_session — clears cookies and stored auth

  • get_request_base — returns the current API base URL

  • set_request_base — sets the API base URL used for later calls

  • send_request — sends an HTTP request through the active session

send_request is the main operational tool. The other three manage session state.

Runtime behavior

  • MCP transport endpoint: /mcp

  • health endpoint: /health

  • default port: 9797

  • configurable via MCP_PORT

Each MCP session gets its own request client. Cookies are preserved across requests in that session, and bearer auth is reused when a successful response body includes an access_token field.

Requirements

Install

bun install

Run locally

bun run src/mcp.ts

Once started, the server is available at:

  • http://localhost:9797/health

  • http://localhost:9797/mcp

If you want a different port:

MCP_PORT=8080 bun run src/mcp.ts

Docker

Build and run with Docker Compose:

docker compose up --build

The container exposes port 9797 and starts the same MCP server entrypoint.

Request model

send_request accepts:

  • endpoint — request path such as /api/auth/me

  • method — HTTP method such as GET or POST

  • useStoredAuth — whether to attach the stored bearer token

  • headers — optional string-to-string headers

  • body — optional JSON object body

Current behavior is designed for standard JSON API traffic. Multipart uploads, binary payloads, and non-object request bodies are not the primary target of this server.

Project structure

src/
  mcp.ts      MCP server and HTTP transport
  xrest.ts    session-aware request client
  utils.ts    small string utility helpers
skills/
  request-api-tool/   companion skill guidance for using the MCP tools

Development notes

  • built with Bun and TypeScript

  • HTTP server implemented with Hono

  • request execution uses impit

  • cookie persistence uses tough-cookie

Health check

curl http://localhost:9797/health

Expected response:

{"status":"ok"}

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    A generic template for developing MCP servers with basic examples including echo tool, server info resource, and greeting prompt. Provides a starting point for building custom MCP servers with Bun.
    8 npm
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Bun-based MCP server that allows AI models to query Swagger/OpenAPI documentation from local files or remote URLs. It enables users to search for APIs, retrieve detailed endpoint definitions, and fetch schemas to facilitate code generation and API integration.
    9 npm
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A lightweight, local-first MCP server for executing HTTP requests and managing API collections and environments without cloud dependencies. It enables testing APIs, handling authentication, and importing OpenAPI specifications directly within MCP-compatible workflows.
    42
    103 npm
    13
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that enables LLMs to make arbitrary HTTP requests (GET, POST, PUT, DELETE, etc.) with custom headers, bodies, and cookies, supporting JSON and error handling.
    1
    2
    -