Skip to main content
Glama
dkmaker

mcp-rest-api

by dkmaker

MCP REST API 테스터

라이센스: MIT NPM 패키지 대장간 배지

Cline을 통해 REST API를 테스트할 수 있는 TypeScript 기반 MCP 서버입니다. 이 도구를 사용하면 개발 환경에서 직접 모든 REST API 엔드포인트를 테스트하고 상호 작용할 수 있습니다.

설치

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 REST API 테스터를 자동으로 설치하려면:

지엑스피1

수동 설치

  1. 패키지를 전역으로 설치합니다.

npm install -g dkmaker-mcp-rest-api
  1. Cline 사용자 정의 지침 구성:

클라인이 이 도구를 효과적으로 사용하는 방법을 이해하도록 하려면 클라인 사용자 정의 지침에 다음을 추가하세요(설정 > 사용자 정의 지침):

# 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 changes
  1. MCP 구성에 서버를 추가합니다.

이 지침은 Cline을 위한 것이지만, 서버는 모든 MCP 구현에서 작동합니다. 운영 체제에 따라 다음과 같이 구성하세요.

윈도우

⚠️ 중요 : Windows 경로 확인의 알려진 문제( 문제 #40 )로 인해 %APPDATA% 대신 전체 경로를 사용해야 합니다.

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"
      }
    }
  }
}

맥OS

~/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"
      }
    }
  }
}

참고: 환경 변수를 실제 값으로 바꾸세요. 한 번에 하나의 인증 방법만 구성하세요.

  1. 기본 인증(사용자 이름/비밀번호)

  2. 베어러 토큰(기본 인증이 구성되지 않은 경우)

  3. API 키(기본 인증이나 베어러 토큰이 구성되지 않은 경우)

Related MCP server: Angular Bootstrap MCP Server

특징

  • 다양한 HTTP 메서드를 사용하여 REST API 엔드포인트 테스트

  • GET, POST, PUT 및 DELETE 요청 지원

  • 상태, 헤더, 본문을 포함한 자세한 응답 정보

  • 사용자 정의 헤더:

    • HEADER_* 환경 변수를 통한 글로벌 헤더

    • 대소문자를 구분하지 않는 접두사(HEADER_, header_, HeAdEr_)

    • 헤더 이름의 대소문자 유지

    • 우선순위 기반 애플리케이션(요청당 > 인증 > 사용자 지정)

  • POST/PUT 메서드에 대한 요청 본문 처리

  • 응답 크기 관리:

    • 자동 응답 크기 제한(기본값: 10KB/10000바이트)

    • REST_RESPONSE_SIZE_LIMIT 환경 변수를 통해 구성 가능한 크기 제한

    • 응답이 한도를 초과하면 잘림 메타데이터를 지웁니다.

    • 본문 내용만 잘라내면서 응답 구조를 유지합니다.

  • SSL 인증서 확인:

    • 보안 작동을 위해 기본적으로 활성화됨

    • 자체 서명 인증서 또는 개발 환경에서는 비활성화할 수 있습니다.

    • REST_ENABLE_SSL_VERIFY 환경 변수를 통한 제어

  • 다양한 인증 방법:

    • 기본 인증(사용자 이름/비밀번호)

    • 베어러 토큰 인증

    • API 키 인증(사용자 정의 헤더)

사용 예

설치 및 구성이 완료되면 Cline을 통해 REST API 테스터를 사용하여 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"
  }
});

개발

  1. 저장소를 복제합니다.

git clone https://github.com/zenturacp/mcp-rest-api.git
cd mcp-rest-api
  1. 종속성 설치:

npm install
  1. 프로젝트를 빌드하세요:

npm run build

자동 재빌드를 사용한 개발의 경우:

npm run watch

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

Available Tools

1 tool
test_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodYesHTTP method to use
endpointYesEndpoint path (e.g. "/users"). Do not include full URLs - only the path. Example: "/api/users" will resolve to "https://api.example.com/api/users"
bodyNoOptional request body for POST/PUT requests
headersNoOptional 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

A4.7/5.0
Behavior5/5

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.

Conciseness3/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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. 1 tool updatev0.4.0
    • First observedtest_request

TDQS

A4.3/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools.

Naming Consistency5/5

With a single tool, naming is trivially consistent and follows a clear verb_noun pattern.

Tool Count2/5

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.

Completeness1/5

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

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A 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.
    1
    7 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    -
  • F
    license
    C
    quality
    D
    maintenance
    A 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
    -