ClaudeCodeMod

All shelves / MCP servers

API Wrapper MCP Server

gomcpgo/api-wrapper-mcp · 20 stars · Go

MCP server Create MCP server for any API

Install

The repo has no one-line install. Follow its README.

Open the repo

Files

README.md

API 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

  1. Create a YAML configuration file defining your API endpoints (see example-config.yaml)
  2. Set any required API tokens as environment variables
  3. 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_var field.
  • You can also reference other environment variables in your templates using {{env:VARIABLE_NAME}} syntax.

Facts

Kind
MCP server
Repo
gomcpgo/api-wrapper-mcp
Group
Uncategorized
Stars
20
Language
Go
Last push
2025-03-31
Forks
11

More on this shelf

  1. 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
  2. 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
  3. 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
  4. 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
  5. 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
  6. 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k