About API Wrapper MCP Server
API Wrapper MCP Server turns REST API endpoints into MCP tools using a YAML configuration. It is intended for developers who want MCP clients such as Claude to call configured APIs, with request parameters and authentication managed through configuration and environment variables.
Key features
- 01YAML configuration for multiple endpoints
- 02GET and POST requests
- 03Parameter validation and defaults
- 04Environment-variable authentication
- 05Custom request timeouts
Use cases
- 01Expose REST endpoints to an MCP client
- 02Configure API calls without writing endpoint-specific tools
MCP support
The server exposes configured REST API endpoints as tools for Claude and other MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEAPI Wrapper MCP Server
This is a generic API wrapper server for the Model Context Protocol (MCP). It allows you to easily wrap REST APIs as MCP tools that can be accessed by Claude and other MCP clients.
Features
- Easy YAML configuration for multiple API endpoints
- Support for both GET and POST requests
- Parameter validation and default values
- Authentication via environment variables
- Custom timeouts for API calls
Usage
- Create a YAML configuration file defining your API endpoints (see
example-config.yaml) - Set any required API tokens as environment variables
- Run the server with your config file:
# Build the server
go build -o api_wrapper
# Run with your config
./api_wrapper my-apis.yaml
Configuration Format
The configuration file uses YAML format with the following structure:
# Server info
server:
name: "API Gateway MCP"
description: "Generic API gateway that wraps REST APIs as MCP tools"
version: "1.0.0"
# Authentication
auth:
token_env_var: "API_GATEWAY_TOKEN" # Environment variable for the API token
# Tool definitions
tools:
- name: "tool-name"
description: "Tool description"
endpoint: "https://api.example.com/endpoint"
method: "POST" # or "GET"
timeout: 30 # in seconds
template: |
{
"param1": "{{variable1}}",
"param2": {{variable2}}
}
# For GET requests, use query_params
query_params:
param1: "{{variable1}}"
param2: "{{variable2}}"
parameters:
variable1:
type: "string"
description: "Description of variable1"
required: true
variable2:
type: "number"
description: "Description of variable2"
default: 10
Claude Desktop Integration
To use with Claude Desktop, add the following to your claude_desktop_config.json:
{
"mcpServers": {
"api-wrapper": {
"command": "path/to/api_wrapper",
"args": ["path/to/your-config.yaml"],
"env": {
"API_GATEWAY_TOKEN": "your-api-token"
}
}
}
}
Examples
Check out example-config.yaml for sample API configurations.
Environment Variables
- Set the main authentication token using the environment variable specified in the
auth.token_env_varfield. - You can also reference other environment variables in your templates using
{{env:VARIABLE_NAME}}syntax.
Comments
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.