Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dkmaker/mcp-rest-api
A TypeScript-based MCP server that enables testing of REST APIs through Cline. This tool allows you to test and interact with any REST API endpoints directly from your development environment.
https://github.com/dkmaker/mcp-rest-api
anthropic claude-3-5-sonnet cline mcp mcp-server
Last synced: about 1 month ago
JSON representation
A TypeScript-based MCP server that enables testing of REST APIs through Cline. This tool allows you to test and interact with any REST API endpoints directly from your development environment.
- Host: GitHub
- URL: https://github.com/dkmaker/mcp-rest-api
- Owner: dkmaker
- License: mit
- Created: 2024-12-21T17:39:37.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-01-08T12:06:38.000Z (about 1 month ago)
- Last Synced: 2025-01-08T13:32:07.575Z (about 1 month ago)
- Topics: anthropic, claude-3-5-sonnet, cline, mcp, mcp-server
- Language: JavaScript
- Homepage:
- Size: 54.7 KB
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# MCP REST API Tester
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![NPM Package](https://img.shields.io/npm/v/dkmaker-mcp-rest-api.svg)](https://www.npmjs.com/package/dkmaker-mcp-rest-api)
[![smithery badge](https://smithery.ai/badge/dkmaker-mcp-rest-api)](https://smithery.ai/server/dkmaker-mcp-rest-api)A TypeScript-based MCP server that enables testing of REST APIs through Cline. This tool allows you to test and interact with any REST API endpoints directly from your development environment.
## Installation
### Installing via Smithery
To install REST API Tester for Claude Desktop automatically via [Smithery](https://smithery.ai/server/dkmaker-mcp-rest-api):
```bash
npx -y @smithery/cli install dkmaker-mcp-rest-api --client claude
```### Installing Manually
1. Install the package globally:
```bash
npm install -g dkmaker-mcp-rest-api
```2. Configure Cline Custom Instructions:
To ensure Cline understands how to effectively use this tool, add the following to your Cline custom instructions (Settings > Custom Instructions):
```markdown
# REST API Testing InstructionsThe `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 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 guideAccess 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
```3. Add the server to your MCP 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](https://github.com/modelcontextprotocol/servers/issues/40)), you must use the full path instead of %APPDATA%.Add to `C:\Users\\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json`:
```json
{
"mcpServers": {
"rest-api": {
"command": "node",
"args": [
"C:/Users//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`:
```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, and DELETE 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:
```typescript
// 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:
```bash
git clone https://github.com/zenturacp/mcp-rest-api.git
cd mcp-rest-api
```2. Install dependencies:
```bash
npm install
```3. Build the project:
```bash
npm run build
```For development with auto-rebuild:
```bash
npm run watch
```## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.