mcp-rest-api
Probador de API REST de MCP
Un servidor MCP basado en TypeScript que permite probar APIs REST a través de Cline. Esta herramienta permite probar e interactuar con cualquier punto final de API REST directamente desde el entorno de desarrollo.
Instalación
Instalación mediante herrería
Para instalar REST API Tester para Claude Desktop automáticamente a través de Smithery :
npx -y @smithery/cli install dkmaker-mcp-rest-api --client claudeInstalación manual
Instalar el paquete globalmente:
npm install -g dkmaker-mcp-rest-apiInstrucciones personalizadas para configurar Cline:
Para garantizar que Cline comprenda cómo usar esta herramienta de manera eficaz, agregue lo siguiente a sus instrucciones personalizadas de Cline (Configuración > Instrucciones personalizadas):
# 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 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 changesAgregue el servidor a su configuración de MCP:
Aunque estas instrucciones son para Cline, el servidor debería funcionar con cualquier implementación de MCP. Configure según su sistema operativo:
Ventanas
⚠️ IMPORTANTE : Debido a un problema conocido con la resolución de rutas de Windows ( problema n.° 40 ), debe utilizar la ruta completa en lugar de %APPDATA%.
Agregar a 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
Agregar a ~/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"
}
}
}
}Nota: Reemplace las variables de entorno con sus valores reales. Configure solo un método de autenticación a la vez.
Autenticación básica (nombre de usuario/contraseña)
Token de portador (si la autenticación básica no está configurada)
Clave API (si no se configura ni la autenticación básica ni el token de portador)
Related MCP server: Angular Bootstrap MCP Server
Características
Pruebe los puntos finales de la API REST con diferentes métodos HTTP
Compatibilidad con solicitudes GET, POST, PUT y DELETE
Información de respuesta detallada, incluido el estado, los encabezados y el cuerpo.
Encabezados personalizados:
Encabezados globales a través de variables de entorno HEADER_*
Prefijo que no distingue entre mayúsculas y minúsculas (HEADER_, header_, HeAdEr_)
Conservación de mayúsculas y minúsculas para los nombres de encabezado
Aplicación basada en prioridad (por solicitud > autorización > personalizada)
Manejo del cuerpo de la solicitud para los métodos POST/PUT
Gestión del tamaño de la respuesta:
Limitación automática del tamaño de respuesta (predeterminado: 10 KB/10 000 bytes)
Límite de tamaño configurable mediante la variable de entorno REST_RESPONSE_SIZE_LIMIT
Borrar metadatos de truncamiento cuando las respuestas exceden el límite
Conserva la estructura de la respuesta mientras solo trunca el contenido del cuerpo
Verificación del certificado SSL:
Habilitado de forma predeterminada para una operación segura
Se puede deshabilitar para certificados autofirmados o entornos de desarrollo.
Control mediante la variable de entorno REST_ENABLE_SSL_VERIFY
Múltiples métodos de autenticación:
Autenticación básica (nombre de usuario/contraseña)
Autenticación de token de portador
Autenticación de clave API (encabezado personalizado)
Ejemplos de uso
Una vez instalado y configurado, puede utilizar el REST API Tester a través de Cline para probar sus puntos finales de API:
// 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": "john@example.com"
}
});
// 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"
}
});Desarrollo
Clonar el repositorio:
git clone https://github.com/zenturacp/mcp-rest-api.git
cd mcp-rest-apiInstalar dependencias:
npm installConstruir el proyecto:
npm run buildPara desarrollo con reconstrucción automática:
npm run watchLicencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
Available Tools
1 tooltest_requestA
Test a REST API endpoint and get detailed response information. Base URL: https://api.example.com | SSL Verification enabled (see config resource for SSL settings) | Authentication: No authentication configured | No custom headers defined (see config resource for headers) | The tool automatically: - Normalizes endpoints (adds leading slash, removes trailing slashes) - Handles authentication header injection - Applies custom headers from HEADER_* environment variables - Accepts any HTTP status code as valid - Limits response size to 10000 bytes (see config resource for size limit settings) - Returns detailed response information including: * Full URL called * Status code and text * Response headers * Response body * Request details (method, headers, body) * Response timing * Validation messages | Error Handling: - Network errors are caught and returned with descriptive messages - Invalid status codes are still returned with full response details - Authentication errors include the attempted auth method | See the config resource for all configuration options, including header configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| method | Yes | HTTP method to use | |
| endpoint | Yes | Endpoint path (e.g. "/users"). Do not include full URLs - only the path. Example: "/api/users" will resolve to "https://api.example.com/api/users" | |
| body | No | Optional request body for POST/PUT requests | |
| headers | No | Optional request headers for one-time use. IMPORTANT: Do not use for sensitive data like API keys - those should be configured via environment variables. This parameter is intended for dynamic, non-sensitive headers that may be needed for specific requests. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It fully discloses automatic endpoint normalization, auth injection, custom headers from env vars, response size limit, acceptance of any HTTP status, and detailed response fields. Error handling and authentication details are also covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is comprehensive but somewhat verbose, with repeated references to 'see config resource.' It front-loads the purpose effectively but could be condensed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 parameters, no output schema), the description covers all essential aspects: base URL, SSL, auth, headers, automatic behaviors, response details, error handling, and configuration options. It comprehensively supports agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds valuable semantics: for 'headers', it warns against using sensitive data; for 'endpoint', it explains resolution against base URL; for 'body', it clarifies usage with POST/PUT. This goes beyond the schema, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Test a REST API endpoint and get detailed response information,' which is a specific verb and resource. It also provides the base URL and key behavioral details, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides extensive guidance, including when to use the tool, automated behaviors (normalization, auth injection, header handling), and error handling. It also references a config resource for additional settings, helping the agent decide when and how to use the tool.
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 tool update
v0.4.0- First observed
test_request
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusion between tools.
With a single tool, naming is trivially consistent and follows a clear verb_noun pattern.
The server is named 'mcp-rest-api' but only provides one testing tool, which is far too few for comprehensive REST API interaction; typically multiple CRUD tools are expected.
The server lacks fundamental operations like create, read, update, and delete; it only offers a test request tool, leaving major gaps for any practical REST API workflow.
Maintenance
Related MCP Connectors
A simple Typescript MCP server built using the official MCP Typescript SDK and smithery/cli. This…
A TypeScript MCP server for Home Assistant, enabling programmatic management of entities, automati…
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Cloudflare Workers MCP server: api-mock-server
Related MCP Servers
- AlicenseBqualityDmaintenanceA TypeScript-based MCP server that enables interaction with Azure Table Storage directly through Cline. This tool allows you to query and manage data in Azure Storage Tables.17 npm3MIT
- AlicenseNot gradedqualityDmaintenanceA TypeScript-based MCP server that provides backend API handling and facilitates communication between microservices. Features an organized structure with controllers, routes, and models for easy extensibility and maintenance.204 npm1MIT
- FlicenseNot gradedqualityDmaintenanceA demonstration MCP server built in TypeScript that shows how to implement stdio-based communication for integration with MCP clients. Serves as a template for building custom MCP servers with strong typing and maintainability.-
- FlicenseCqualityDmaintenanceA modular MCP server that connects to external APIs, providing tools for weather data, user management, and company operations. Features a scalable architecture with TypeScript support, HTTP client abstraction, and robust error handling.5-