Skip to main content
Glama

mcpify

Превратите любой API в MCP-сервер. Одной командой. Без кода.

npm License: MIT CI

npx mcpify https://petstore3.swagger.io/api/v3/openapi.json
✓ mcpify: Petstore v1.0.0 — 19 tools
  base: https://petstore3.swagger.io/api/v3
  transport: stdio

Вот и всё. Ваш ИИ-агент теперь имеет доступ ко всему API Petstore. Никаких SDK для установки. Никакого связующего кода. Никаких серверов для развертывания.

Укажите на любую спецификацию OpenAPI → получите полностью рабочий MCP-сервер.


Зачем

Каждая команда, создающая агентов, сталкивается с одной и той же проблемой: модели нужно вызывать API, а настройка каждого из них означает дни написания специализированного кода MCP-сервера, преобразования схем и настройки аутентификации.

mcpify сводит это к одной команде. Спецификация OpenAPI уже описывает всё — эндпоинты, параметры, схемы, аутентификацию. Мы превращаем её в MCP-сервер во время выполнения, без этапа генерации кода и без необходимости поддерживать исходные файлы.

Related MCP server: mcpify

Установка

Используйте по требованию с помощью npx (рекомендуется):

npx mcpify <spec>

Или установите глобально:

npm install -g mcpify

Требуется Node.js 18+.

Использование

Из размещенной спецификации

npx mcpify https://api.example.com/openapi.json

Из локального файла (JSON или YAML)

npx mcpify ./spec.yaml

Из одной команды curl

npx mcpify --curl "curl -H 'Authorization: Bearer xxx' https://api.github.com/user/repos"

Генерирует MCP-сервер с одним инструментом из любой команды curl. Тело запроса анализируется и превращается в схему входных данных.

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

npx mcpify list ./spec.json

Генерация автономного проекта для ручного редактирования

npx mcpify generate ./spec.json ./my-mcp
cd my-mcp && npm install && npm start

Используйте это, если хотите изменить поведение — добавить кэширование, пользовательские потоки аутентификации, постобработку или что угодно другое.

Аутентификация

Установите переменные окружения перед запуском. mcpify считывает securitySchemes из спецификации и сопоставляет их автоматически.

# HTTP bearer schemes
export MCPIFY_BEARER_TOKEN=xxx

# apiKey schemes (header or query, as the spec says)
export MCPIFY_API_KEY=xxx

# HTTP basic
export MCPIFY_BASIC_AUTH=user:password

# Per-scheme override (use the scheme's name from the spec)
export MCPIFY_AUTH_<SCHEME_NAME>=xxx

# Free-form extra headers on every request
export MCPIFY_HEADERS='{"X-Trace-Id":"abc","X-Internal":"1"}'

Фильтрация больших спецификаций

Полная спецификация OpenAPI для Stripe содержит около 600 эндпоинтов. Большинству агентов не нужны все они, и большинство клиентов не справятся с таким количеством инструментов. Обрежьте их:

# Only the customers tag
npx mcpify ./stripe.json --tag customers

# Only operations whose tool name matches a regex
npx mcpify ./stripe.json --filter "^createCustomer|^getCustomer"

# Hard cap
npx mcpify ./stripe.json --max-tools 30

Использование с Claude Desktop

~/.config/claude/claude_desktop_config.json (Linux/macOS) или %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "petstore": {
      "command": "npx",
      "args": ["-y", "mcpify", "https://petstore3.swagger.io/api/v3/openapi.json"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "mcpify", "--curl",
        "curl -H 'Authorization: Bearer ghp_xxx' https://api.github.com/user/repos"]
    }
  }
}

Использование с Cursor / Cline / Claude Code

Та же идея — это работает везде, где можно настроить MCP-сервер с помощью command и args. mcpify использует stdio.

# Claude Code:
claude mcp add petstore -- npx -y mcpify https://petstore3.swagger.io/api/v3/openapi.json

Программный API

import { loadOpenApiSpec, parseOpenApi, serve } from "mcpify";

const raw = await loadOpenApiSpec("./spec.yaml");
const spec = parseOpenApi(raw);
await serve(spec, {
  baseUrl: "https://staging.example.com",
  filterTag: "users",
});

Как это работает

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   OpenAPI spec  │ ─→ │ mcpify  runtime │ ─→ │   MCP client    │
│  (JSON / YAML)  │    │  (stdio server) │    │ (Claude/Cursor) │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                            │
                            ↓ tool call
                       ┌─────────┐
                       │  fetch  │ → your API
                       └─────────┘
  1. Разрешение ссылок в спецификации (разрешение $ref).

  2. Преобразование каждой операции в инструмент MCP: параметры пути/запроса/заголовка становятся входными свойствами; тело запроса становится вложенным свойством body.

  3. При вызове инструмента формируется URL, добавляется аутентификация из переменных окружения, отправляется запрос и возвращается ответ.

Никакой генерации кода. Никаких циклов перезапуска. Спецификация является единственным источником истины.

Ограничения

  • Потоковые тела ответов — в настоящее время буферизуются, ограничены 64 КБ.

  • Потоки OAuth2 — не запускаются автоматически; предоставьте предварительно полученный токен через MCPIFY_BEARER_TOKEN.

  • Загрузка файлов (multipart/form-data) — пока не поддерживается.

  • Вебхуки / обратные вызовы — вне области действия.

  • Swagger 2.0 — частичная поддержка; для достижения наилучших результатов сначала конвертируйте в OpenAPI 3.

Приветствуются PR по всем вышеперечисленным пунктам.

Разработка

git clone https://github.com/qualuo/mcpify
cd mcpify
npm install
npm run build
npm test

Лицензия

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
    C
    maintenance
    Converts any OpenAPI specification into an MCP server, allowing AI assistants to interact with REST APIs through natural language.
    9 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Turns any OpenAPI REST or GraphQL API into an MCP server, allowing AI assistants like Claude to interact with APIs without writing code.
    8 npm
    MIT