Skip to main content
Glama
megamen32

mcp2api

by megamen32

mcp2api

Любой MCP → обычный HTTP за 15 секунд. Один файл, ноль билда.

npx -y github/megamen32/mcp2api -- --command "npx @anthropic-ai/mcp-server-fetch" --port 8080

Зачем

MCP — крутой протокол. Но есть проблема: не все ИИ умеют подключать MCP напрямую.

Claude Desktop подключает. Cursor подключает. А что если ты хочешь:

  • Дать ChatGPT Custom GPT доступ к MCP-тулам? ChatGPT не умеет в MCP.

  • Подключить MCP к Telegram-боту? Там только HTTP.

  • Использовать MCP-инструменты в Alice, GigaChat, DeepSeek? Нет MCP-клиента.

  • Дать chat.z.ai вызывать MCP? Там есть web_fetch, но нет MCP.

А curl умеют все. Любой ИИ с доступом в интернет может сделать GET-запрос.

mcp2api берёт любой MCP-сервер и превращает его инструменты в простые HTTP-ручки. Один вызов npx — и готово.

Related MCP server: Swagger MCP

Как это решает проблему CustomGPT

У ChatGPT Custom GPT нет MCP. Но есть Actions — он умеет вызывать HTTP-эндпоинты.

  1. Запускаешь mcp2api с нужным MCP-сервером:

    npx -y github/megamen32/mcp2api -- \
      --command "npx @anthropic-ai/mcp-server-fetch" \
      --port 8080 \
      --api-key your-secret
  2. В настройках CustomGPT добавляешь OpenAPI-схему: http://your-server:8080/

  3. Готово — Custom GPT вызывает MCP-инструменты через обычные HTTP-запросы.

GET-only режим (для агентов с web_fetch)

Некоторые ИИ-агенты не умеют POST-запросы. Только web_fetch / web_search. Для них есть --get-only:

npx -y github/megamen32/mcp2api -- \
  --command "npx @anthropic-ai/mcp-server-fetch" \
  --port 8080 \
  --get-only

В этом режиме вызов инструмента — это просто GET:

GET /tools/echo?message=hello
GET /tools/fetch?url=https://example.com
GET /tools/search?query=mcp+protocol&limit=5

Типы автоматически кастятся: "5"5, "true"true.

Любой ИИ, который умеет делать web_fetch(url) — теперь может вызывать MCP-инструменты.

One-liner

# stdio (запускает MCP-сервер как процесс)
npx -y github/megamen32/mcp2api -- --command "npx @anthropic-ai/mcp-server-fetch" --port 8080

# SSE (подключается к уже запущенному MCP-серверу)
npx -y github/megamen32/mcp2api -- --transport sse --url http://localhost:3001/sse

# StreamableHTTP
npx -y github/megamen32/mcp2api -- --transport streamable-http --url http://localhost:3001/mcp

# GET-only (для агентов без POST, типа web_fetch)
npx -y github/megamen32/mcp2api -- --command "npx @anthropic-ai/mcp-server-fetch" --get-only --port 8080

Endpoints

Method

Path

Описание

GET

/

Инфо о сервере, список эндпоинтов

GET

/healthz

Health check

GET

/schema

MCP capabilities

GET

/tools

Список инструментов со схемами

GET

/tools/:name

Схема инструмента (без query params)

GET

/tools/:name?key=val

Вызов инструмента через query params

POST

/tools/:name

Вызов инструмента (body = аргументы)

POST

/call

Вызов через {"name": "...", "arguments": {...}}

GET

/resources

Список ресурсов

GET

/resources/read?uri=<uri>

Чтение ресурса

GET

/prompts

Список промптов

POST

/prompts/:name

Получить промпт

Примеры

# Список инструментов
curl http://localhost:4321/tools

# Схема конкретного инструмента
curl http://localhost:4321/tools/fetch

# Вызов через POST (полный режим)
curl -X POST http://localhost:4321/tools/fetch \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://example.com"}'

# Вызов через GET (работает даже в web_fetch!)
curl 'http://localhost:4321/tools/fetch?url=https://example.com'

# Через /call
curl -X POST http://localhost:4321/call \
  -H 'Content-Type: application/json' \
  -d '{"name": "fetch", "arguments": {"url": "https://example.com"}}'

Флаги

Флаг

Env Var

Default

Описание

--transport

MCP_TRANSPORT

stdio

stdio, sse, streamable-http

--command

MCP_COMMAND

Команда для запуска (stdio)

--args

MCP_ARGS

Доп. аргументы через запятую (stdio)

--env

MCP_ENV

JSON с доп. env vars (stdio)

--url

MCP_URL

URL сервера (sse/streamable-http)

--port

MCP_PORT

4321

Порт

--host

MCP_HOST

0.0.0.0

Хост

--api-key

MCP_API_KEY

Bearer-токен для авторизации

--get-only

MCP_GET_ONLY

false

Только GET (для web_fetch агентов)

Авторизация (опционально)

npx -y github/megamen32/mcp2api -- --api-key mysecret --port 8080

Передавай Authorization: Bearer mysecret или ?api_key=mysecret.

Лицензия

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Automatically converts Swagger/OpenAPI specifications into MCP servers, enabling AI agents to interact with any REST API through natural language by exposing endpoints as AI-friendly tools.
    3
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    A dead simple MCP server for exposing your app functions to AI agents like Claude Desktop.
    7 npm
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Automatically converts Python web backends (FastAPI, Flask, Django) into MCP servers by exposing API routes as MCP tools with near-zero boilerplate.
    MIT