MCP Server LogoMCP Server
MCPsカテゴリディレクトリ投稿する
投稿する
MCPsカテゴリディレクトリ投稿する
投稿する

MCPサーバー

MCPサーバーのリスト、Awesome MCPサーバーとClaude MCP統合を含む。AIの能力を強化するためのMCPサーバーを検索して発見します。

お問い合わせ

[email protected]

MCPサーバーについて

プライバシーポリシー利用規約

リソース

モデルコンテキストプロトコルMCPスターターガイドClaude MCPサーバー

コミュニティ

GitHub

© 2025 mcpserver.cc © 2025 MCPサーバー. 全著作権所有.

プライバシーポリシー利用規約
  1. Home
  2. /Categories
  3. /Other / Misc
  4. /Mcp Api Gateway
Mcp Api Gateway

Mcp Api Gateway

作成者 rflpazini•2 months ago
サイトを訪問する

A universal MCP (Model Context Protocol) server to integrate any API with Claude Desktop using only Docker configurations.

Other / Misc
universal(ModelContextProtocol)server

mcp/api-gateway

A universal MCP (Model Context Protocol) server to integrate any API with Claude Desktop using only Docker configurations.

Quick Installation

1. Using Docker Hub (Recommended)

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "my-api": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i", "--pull", "always",
        "-e", "API_1_NAME=my-api",
        "-e", "API_1_SWAGGER_URL=https://api.example.com/swagger.json",
        "-e", "API_1_BASE_URL=https://api.example.com/v1",
        "-e", "API_1_HEADER_AUTHORIZATION=Bearer YOUR_TOKEN",
        "rflpazini/mcp-api-gateway:latest"
      ]
    }
  }
}

2. Local Build

## Clone the repository
git clone https://github.com/rflpazini/mcp-api-gateway
cd mcp-api-gateway

## Build the image
docker build -t mcp-api-gateway .

## Local test
docker run --rm -it \
  -e API_1_NAME=test \
  -e API_1_SWAGGER_URL=https://petstore.swagger.io/v2/swagger.json \
  -e API_1_BASE_URL=https://petstore.swagger.io/v2 \
  mcp-api-gateway

API Configuration

Environment Variables

Variable Description Required
API_N_NAME Unique API name Yes
API_N_SWAGGER_URL Swagger/OpenAPI file URL Yes
API_N_BASE_URL API base URL (overrides Swagger) No
API_N_HEADER_* Custom headers No
API_N_HEADERS JSON with multiple headers No

Configuration Examples

Simple API with Authentication

{
  "mcpServers": {
    "github-api": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "API_1_NAME=github",
        "-e", "API_1_SWAGGER_URL=https://api.github.com/swagger.json",
        "-e", "API_1_HEADER_AUTHORIZATION=token ghp_xxxxxxxxxxxx",
        "mcp-api-gateway:latest"
      ]
    }
  }
}

Multiple APIs

{
  "mcpServers": {
    "company-apis": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        // Users API
        "-e", "API_1_NAME=users",
        "-e", "API_1_SWAGGER_URL=https://api.company.com/users/swagger.json",
        "-e", "API_1_HEADER_X_API_KEY=users_key_123",
        
        // Products API  
        "-e", "API_2_NAME=products",
        "-e", "API_2_SWAGGER_URL=https://api.company.com/products/openapi.yaml",
        "-e", "API_2_HEADER_AUTHORIZATION=Bearer products_token",
        
        // Orders API (with multiple headers)
        "-e", "API_3_NAME=orders",
        "-e", "API_3_SWAGGER_URL=https://api.company.com/orders/spec.json",
        "-e", "API_3_HEADERS={\"Authorization\":\"Bearer token\",\"X-Tenant\":\"company123\"}",
        
        "mcp-api-gateway:latest"
      ]
    }
  }
}

Using in Claude

Available Commands

  1. View available APIs

    • “What APIs are configured?”
    • “Show me the available endpoints”
  2. Explore endpoints

    • “How do I create a user?”
    • “What parameters do I need to search for products?”
  3. Execute operations

    • “Create a user named John with email [email protected]”
    • “List all orders from today”
    • “Update product ID 123 with new price $99.90”

Conversation Examples

You: “Create a new customer named Mary Smith”

Claude: “I’ll create the customer for you. Using the customers API…”

{
  "id": "12345",
  "name": "Mary Smith",
  "createdAt": "2024-01-15T10:30:00Z"
}

“Customer Mary Smith created successfully! ID: 12345”

Publishing to Docker Hub

## Build for multiple architectures
docker buildx create --use
docker buildx build --platform linux/amd64,linux/arm64 \
  -t your-username/mcp-api-gateway:latest \
  -t your-username/mcp-api-gateway:1.0.0 \
  --push .

Use Cases

1. Internal Company API

"-e", "API_1_NAME=erp",
"-e", "API_1_SWAGGER_URL=https://erp.company.local/api/swagger.json",
"-e", "API_1_BASE_URL=https://erp.company.local/api",
"-e", "API_1_HEADER_X_COMPANY_ID=company123",
"-e", "API_1_HEADER_AUTHORIZATION=Bearer internal_token"

2. API with Local Swagger

// Mount local Swagger file
"-v", "/path/to/swagger.yaml:/swagger.yaml",
"-e", "API_1_NAME=local-api",
"-e", "API_1_SWAGGER_URL=file:///swagger.yaml",
"-e", "API_1_BASE_URL=http://localhost:3000"

3. GraphQL API (via REST wrapper)

"-e", "API_1_NAME=graphql",
"-e", "API_1_SWAGGER_URL=https://api.example.com/graphql-swagger.json",
"-e", "API_1_BASE_URL=https://api.example.com/graphql"

Security

Best Practices

  1. Never commit tokens: Use environment variables or secrets
  2. Use limited scope tokens: Only necessary permissions
  3. Rotate tokens regularly: Update your tokens periodically
  4. Always use HTTPS: Ensure your APIs use HTTPS

Example with Docker Secrets

## Create the secret
echo "your_token_here" | docker secret create api_token -

## Use in claude_desktop_config.json
"args": [
  "run", "--rm", "-i",
  "-e", "API_1_HEADER_AUTHORIZATION=Bearer $(cat /run/secrets/api_token)",
  "--secret", "api_token",
  "mcp-api-gateway:latest"
]

Troubleshooting

API not showing up

  • Check if the Swagger URL is accessible
  • Confirm environment variables are correct
  • Check logs: docker logs <container_id>

Authentication error

  • Verify token is correct
  • Confirm header format (Bearer, Basic, etc)
  • Test the API directly first

Slow performance

  • Use --pull always only the first time
  • Consider caching the image locally
  • Check API latency

Contributing

PRs are welcome! Some ideas:

  • [ ] OAuth authentication support
  • [ ] Smart response caching
  • [ ] WebSocket support
  • [ ] Web configuration interface
  • [ ] Metrics and observability

License

MIT License - see LICENSE file for details.

前提条件

  • •サーバーのドメインに精通している
  • •関連技術の基本的な理解
  • •Other / Miscの知識

おすすめのサーバー

Mcp2serial

Mcp2serial

A open-source library enabling AI models to control hardware devices via serial communication using the MCP protocol. Initial support for Raspberry Pi Pico.

Gmail Mcp

Gmail Mcp

Mcp Server Diff Typescript

Mcp Server Diff Typescript

もっと見る → →

詳細

作成日

June 13, 2025

最終更新日

June 13, 2025

カテゴリー

Other / Misc

作成者

rflpazini

シェアする

もっと見る

Mcp Pubmed Server

Mcp Pubmed Server

PubMed MCP Server for accessing research papers

Mcp

Mcp

Enable AI agents to work reliably - giving them secure access to structured data, tools to take action, and the context needed to make smart decisions.

Mcp Shell

Mcp Shell

Execute a secure shell in Claude Desktop using the Model Context Protocol.

Mcp_pearch

Mcp_pearch

The most accurate people search API/MCP. Natural language in, high-quality candidates out. Built for ATSs and AI Agents.