anyapi-mcp-server
anyapi-mcp-server
Если у сервиса есть API, вы можете подключить его через MCP.
Традиционные MCP-серверы выбирают вручную несколько эндпоинтов и на этом останавливаются, ограничивая вас тем подмножеством, которое кто-то счел «достаточным». Зачем довольствоваться частью API, если можно получить всё?
anyapi-mcp-server — это универсальный MCP сервер, который подключает любой REST API к ИИ-ассистентам, таким как Claude, Cursor и другим инструментам на базе LLM — просто укажите путь к спецификации OpenAPI или коллекции Postman. Каждый эндпоинт, предоставляемый API, становится доступен мгновенно, с выбором полей в стиле GraphQL и автоматическим выводом схемы. Никакого пользовательского серверного кода, никаких искусственных ограничений.
Быстрый старт
1. Установка
npm install -g anyapi-mcp-server2. Добавление в ваш MCP-клиент (Cursor, Claude Desktop и т.д.)
{
"mcpServers": {
"your-api": {
"command": "npx",
"args": [
"-y",
"anyapi-mcp-server",
"--name", "your-api",
"--spec", "path/to/openapi.json",
"--base-url", "https://api.example.com",
"--header", "Authorization: Bearer ${API_KEY}"
],
"env": {
"API_KEY": "your-api-key"
}
}
}
}3. Использование инструментов — находите эндпоинты с помощью list_api, изучайте схемы с помощью call_api, получайте данные с помощью query_api.
Примеры провайдеров
Готовые конфигурации для популярных API:
Провайдер | Авторизация |
API Token или Key + Email | |
API Key + App Key | |
Personal Access Token | |
OAuth 2.0 | |
API Key | |
Personal API Key | |
Bot/User Token |
Они работают с любым API, у которого есть спецификация OpenAPI или Postman — выше приведены лишь примеры. Stripe, Twilio, Shopify, HubSpot и всё остальное с REST API будет работать точно так же.
Справочник CLI
Обязательные флаги
Флаг | Описание |
| Имя сервера (например, |
| Путь или HTTPS-ссылка на спецификацию OpenAPI (JSON/YAML) или коллекцию Postman. Удаленные URL кэшируются локально. Поддерживает |
| Базовый URL API (например, |
Опциональные флаги
Флаг | Описание |
| HTTP-заголовок в формате |
| Путь к логу запросов/ответов в формате NDJSON. Чувствительные заголовки маскируются автоматически. |
Флаги OAuth
Для API, использующих OAuth 2.0 вместо статических токенов. Если предоставлен любой из трех обязательных флагов, требуются все три. Все флаги поддерживают ${ENV_VAR}.
Флаг | Обязателен | Описание |
| Да* | OAuth client ID |
| Да* | OAuth client secret |
| Да* | URL эндпоинта токенов |
| Нет | Эндпоинт авторизации (автоматически определяется из спецификации, если доступно) |
| Нет | Области доступа (scopes), разделенные запятыми |
| Нет |
|
| Нет | Дополнительный параметр токена в формате |
Смотрите руководство по Google Workspace для полного примера OAuth.
Инструменты
Сервер предоставляет четыре инструмента (плюс auth, когда настроен OAuth):
list_api — Просмотр эндпоинтов
Узнайте, что предлагает API. Вызовите без аргументов, чтобы увидеть все категории, укажите category для списка эндпоинтов в теге или search для поиска эндпоинтов по ключевому слову.
call_api — Изучение эндпоинта
Выполняет реальный HTTP-запрос и возвращает выведенную GraphQL-схему (SDL) — не сами данные. Используйте это, чтобы узнать структуру ответа и получить suggestedQueries, которые можно скопировать в query_api. Также возвращает стоимость токенов для каждого поля (fieldTokenCosts) и dataKey для повторного использования кэша. Для запросов PUT/PATCH автоматически создает резервную копию перед записью (возвращает backupDataKey). Поддерживает bodyFile для больших полезных нагрузок и блокирует запросы с обнаруженными значениями-заполнителями.
query_api — Получение данных
Получает данные и возвращает только те поля, которые вы выбрали через GraphQL-запрос. Поддерживает как чтение, так и запись (мутации для POST/PUT/DELETE/PATCH). Передайте dataKey из call_api для повторного использования кэшированных данных без HTTP-запросов.
# Read
{ items { id name status } _count }
# Write
mutation { post_endpoint(input: { name: "example" }) { id } }Ключевые параметры:
maxTokens— бюджет токенов для ответа. Массивы обрезаются, чтобы соответствовать лимиту. Без этого параметра илиunlimitedответы объемом более ~10 тыс. токенов отклоняются.unlimited— установитеtrue, чтобы получить полный ответ без ограничения бюджета токенов.dataKey— повторное использование кэшированных данных из предыдущего ответаcall_apiилиquery_api.jsonFilter— dot-путь для извлечения вложенных значений после GraphQL-запроса (например,"data[].attributes.name").bodyFile— абсолютный путь к JSON-файлу для использования в качестве тела запроса (взаимоисключающий сbody). Используйте для больших нагрузок, которые нельзя отправить в строке.skipBackup— пропустить автоматическое создание резервной копии перед записью для запросов PUT/PATCH (по умолчанию:false).
explain_api — Чтение документации
Возвращает документацию спецификации для эндпоинта (параметры, схема тела запроса, коды ответов) без выполнения HTTP-запроса.
auth — Аутентификация OAuth
Доступно только при настройке флагов --oauth-*. Управляет потоком OAuth:
action: "start"— возвращает URL авторизации (или обменивает учетные данные дляclient_credentials)action: "exchange"— завершает поток кода авторизации (callback перехватывается автоматически)action: "status"— показывает текущий статус токена
Токены сохраняются и обновляются автоматически.
Типичный рабочий процесс
list_api → discover what's available
↓
explain_api → read the docs for an endpoint
↓
call_api → inspect the response schema (returns dataKey)
↓
query_api → fetch exactly the fields you need (pass dataKey for zero HTTP calls)
↓
query_api → re-query with different fields using the same dataKeyКак это работает
OpenAPI/Postman spec
│
▼
┌─────────┐ ┌─────────────┐ ┌──────────┐ ┌───────────┐
│list_api │ │ explain_api │ │ call_api │ │ query_api │
│(browse) │ │ (docs) │ │ (schema) │ │ (data) │
└─────────┘ └─────────────┘ └──────────┘ └───────────┘
│ │ no HTTP │ │
▼ ▼ request ▼ ▼
Spec index Spec index REST API call dataKey cache
(tags, (params, (with retry) hit → no HTTP
paths) responses, │ miss → fetch
body schema) ▼ │
Infer schema + ▼
return dataKey Execute GraphQL
+ token budget
truncationФункции
Любой REST API — предоставьте спецификацию OpenAPI (JSON/YAML) или Postman Collection v2.x в виде файла или URL
Кэширование удаленных спецификаций — HTTPS-спецификации загружаются один раз и кэшируются в
~/.cache/anyapi-mcp/Выбор полей GraphQL — запрашивайте только те поля, которые вам нужны, из любого ответа
Вывод схемы — автоматическое построение GraphQL-схем на основе реальных ответов API
Объединение нескольких примеров — выборка до 10 элементов массива для более полных схем
Поддержка мутаций — операции записи получают типизированные GraphQL-мутации из схем тел OpenAPI
Умные подсказки —
call_apiвозвращает готовые к использованию запросы на основе выведенной схемыКэширование ответов — файловый кэш с TTL 5 минут; токены
dataKeyпозволяютquery_apiповторно использовать данные без HTTP-запросовБюджет токенов —
query_apiпо умолчанию ограничивает ответ ~10 тыс. токенов; используйтеmaxTokensдля обрезки самого глубокого/большого массива илиunlimited: trueдля полных ответовСтоимость токенов для каждого поля —
call_apiвозвращает деревоfieldTokenCosts, чтобы ИИ мог делать осознанный выбор полейОтслеживание лимитов запросов — парсит заголовки
X-RateLimit-*и предупреждает, когда лимиты почти исчерпаныОпределение пагинации — автоматическое обнаружение паттернов пагинации на основе курсора, токена следующей страницы и ссылок в ответах
JSON-фильтр —
query_apiпринимает dot-путьjsonFilterдля извлечения данных после запроса (например,"data[].name")Повторные попытки с задержкой — автоматические повторы для 429/5xx с экспоненциальной задержкой и поддержкой
Retry-AfterМультиформатность — парсит ответы в JSON, XML, CSV и обычном тексте
Безопасная запись — запросы PUT/PATCH автоматически создают снимок ресурса перед записью (
backupDataKey); значения-заполнители (например,PLACEHOLDER,TODO,file://) обнаруживаются и блокируются перед отправкойТело запроса из файла — параметр
bodyFileпринимает абсолютный путь к JSON-файлу, позволяя отправлять большие нагрузкиПодробные ошибки — структурированные сообщения об ошибках с контекстными подсказками для самокоррекции
OAuth 2.0 — потоки Authorization Code (с PKCE) и Client Credentials с автоматическим обновлением токенов
Интерполяция переменных окружения —
${ENV_VAR}в базовых URL, заголовках и путях к спецификациямЛогирование запросов — опциональный лог NDJSON с маскированием чувствительных заголовков
Поддерживаемые форматы спецификаций
OpenAPI 3.x (JSON или YAML)
OpenAPI 2.0 / Swagger (JSON или YAML)
Postman Collection v2.x (JSON)
Лицензия
Проприетарная, не для коммерческого использования. Бесплатно для личного и образовательного использования. Коммерческое использование требует письменного разрешения. Подробности см. в LICENSE.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/quiloos39/anyapi-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server