mcpField
M
MCP REST API Tester

MCP REST API Tester

Local
github.com/dkmakerDeveloper Tools103Updated 42w ago

About MCP REST API Tester

MCP REST API Tester is a TypeScript-based MCP server for testing and debugging REST API endpoints from clients such as Cline and Claude. It is aimed at developers who want to send requests directly from their development environment.

Key features

  1. 01Supports GET, POST, PUT, DELETE and PATCH requests
  2. 02Returns status, headers and body details
  3. 03Global headers configured through HEADER_* variables
  4. 04Basic, Bearer Token and API Key authentication
  5. 05Response size limit with truncation metadata
  6. 06Configurable SSL certificate verification

Use cases

  1. 01Testing specific API endpoints during development
  2. 02Debugging status codes and response content
  3. 03Verifying APIs from Cline with custom instructions

MCP support

This project is an MCP server that exposes REST request capabilities to MCP clients through the test_request tool.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"rest-api": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
Run commandnpx -y @smithery/cli

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@smithery/cli

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP REST API Tester

License: MIT NPM Package

A TypeScript-based MCP server that enables testing of REST APIs through Claude, Cline and other MCP clients. This tool allows you to test and interact with any REST API endpoints directly from your development environment.

README image

Installation

Install the package globally:

npm install -g dkmaker-mcp-rest-api

Configuration

Cline Custom Instructions

To ensure Cline understands how to effectively use this tool, add the following to your Cline custom instructions (Settings > Custom Instructions):

# REST API Testing Instructions

The `test_request` tool enables testing, debugging, and interacting with REST API endpoints. The tool provides comprehensive request/response information and handles authentication automatically.

## When to Use

- Testing specific API endpoints
- Debugging API responses
- Verifying API functionality
- Checking response times
- Validating request/response formats
- Testing local development servers
- Testing API sequences
- Verifying error handling

## Key Features

- Supports GET, POST, PUT, DELETE, PATCH methods
- Handles authentication (Basic, Bearer, API Key)
- Normalizes endpoints automatically
- Provides detailed response information
- Configurable SSL verification and response limits

## Resources

The following resources provide detailed documentation:

- examples: Usage examples and common patterns
- response-format: Response structure and fields
- config: Configuration options and setup guide

Access these resources to understand usage, response formats, and configuration options.

## Important Notes

- Review API implementation for expected behavior
- Handle sensitive data appropriately
- Consider rate limits and API constraints
- Restart server after configuration changes
MCP Server Configuration

While these instructions are for Cline, the server should work with any MCP implementation. Configure based on your operating system:

Windows

⚠️ IMPORTANT: Due to a known issue with Windows path resolution (issue #40), you must use the full path instead of %APPDATA%.

Add to C:\Users\<YourUsername>\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json:

{
  "mcpServers": {
    "rest-api": {
      "command": "node",
      "args": [
        "C:/Users/<YourUsername>/AppData/Roaming/npm/node_modules/dkmaker-mcp-rest-api/build/index.js"
      ],
      "env": {
        "REST_BASE_URL": "https://api.example.com",
        // Basic Auth
        "AUTH_BASIC_USERNAME": "your-username",
        "AUTH_BASIC_PASSWORD": "your-password",
        // OR Bearer Token
        "AUTH_BEARER": "your-token",
        // OR API Key
        "AUTH_APIKEY_HEADER_NAME": "X-API-Key",
        "AUTH_APIKEY_VALUE": "your-api-key",
        // SSL Verification (enabled by default)
        "REST_ENABLE_SSL_VERIFY": "false", // Set to false to disable SSL verification for self-signed certificates
        // Response Size Limit (optional, defaults to 10000 bytes)
        "REST_RESPONSE_SIZE_LIMIT": "10000", // Maximum response size in bytes
        // Custom Headers (optional)
        "HEADER_X-API-Version": "2.0",
        "HEADER_Custom-Client": "my-client",
        "HEADER_Accept": "application/json"
      }
    }
  }
}
macOS

Add to ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:

{
  "mcpServers": {
    "rest-api": {
      "command": "npx",
      "args": [
        "-y",
        "dkmaker-mcp-rest-api"
      ],
      "env": {
        "REST_BASE_URL": "https://api.example.com",
        // Basic Auth
        "AUTH_BASIC_USERNAME": "your-username",
        "AUTH_BASIC_PASSWORD": "your-password",
        // OR Bearer Token
        "AUTH_BEARER": "your-token",
        // OR API Key
        "AUTH_APIKEY_HEADER_NAME": "X-API-Key",
        "AUTH_APIKEY_VALUE": "your-api-key",
        // SSL Verification (enabled by default)
        "REST_ENABLE_SSL_VERIFY": "false", // Set to false to disable SSL verification for self-signed certificates
        // Custom Headers (optional)
        "HEADER_X-API-Version": "2.0",
        "HEADER_Custom-Client": "my-client",
        "HEADER_Accept": "application/json"
      }
    }
  }
}

Note: Replace the environment variables with your actual values. Only configure one authentication method at a time:

  1. Basic Authentication (username/password)
  2. Bearer Token (if Basic Auth is not configured)
  3. API Key (if neither Basic Auth nor Bearer Token is configured)

Features

  • Test REST API endpoints with different HTTP methods

  • Support for GET, POST, PUT, DELETE, and PATCH requests

  • Detailed response information including status, headers, and body

  • Custom Headers:

    • Global headers via HEADER_* environment variables
    • Case-insensitive prefix (HEADER_, header_, HeAdEr_)
    • Case preservation for header names
    • Priority-based application (per-request > auth > custom)
  • Request body handling for POST/PUT methods

  • Response Size Management:

    • Automatic response size limiting (default: 10KB/10000 bytes)
    • Configurable size limit via REST_RESPONSE_SIZE_LIMIT environment variable
    • Clear truncation metadata when responses exceed limit
    • Preserves response structure while only truncating body content
  • SSL Certificate Verification:

    • Enabled by default for secure operation
    • Can be disabled for self-signed certificates or development environments
    • Control via REST_ENABLE_SSL_VERIFY environment variable
  • Multiple authentication methods:

    • Basic Authentication (username/password)
    • Bearer Token Authentication
    • API Key Authentication (custom header)

Usage Examples

Once installed and configured, you can use the REST API Tester through Cline to test your API endpoints:

// Test a GET endpoint
use_mcp_tool('rest-api', 'test_request', {
  "method": "GET",
  "endpoint": "/users"
});

// Test a POST endpoint with body
use_mcp_tool('rest-api', 'test_request', {
  "method": "POST",
  "endpoint": "/users",
  "body": {
    "name": "John Doe",
    "email": "[email protected]"
  }
});

// Test with custom headers
use_mcp_tool('rest-api', 'test_request', {
  "method": "GET",
  "endpoint": "/products",
  "headers": {
    "Accept-Language": "en-US",
    "X-Custom-Header": "custom-value"
  }
});

Development

  1. Clone the repository:
git clone https://github.com/zenturacp/mcp-rest-api.git
cd mcp-rest-api
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

For development with auto-rebuild:

npm run watch

License

This project is licensed under the MIT License - see the LICENSE file for details.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.