cocaxcode/api-testing-mcp

cocaxcode/api-testing-mcp

от cocaxcode
Полноценный MCP сервер для тестирования API: 42 инструмента без настройки. HTTP-запросы с проверками, цепочки и импорт OpenAPI. Также генерация моков, нагрузочное тестирование и сравнение ответов, всё из диалога. Для разработчиков и тестировщиков.

@cocaxcode/api-testing-mcp

The most complete MCP server for API testing. Period.
42 MCP tools · Zero config · Works in any MCP client

npm version npm downloads 42 tools 171 tests Node License

Overview · Just Talk to It · Installation · Features · Tool Reference · Storage · Architecture


Quick Overview

The most complete MCP server for API testing — 42 tools, zero config, nothing else comes close. This is not just a request sender. It is a full testing workbench: HTTP requests with assertions, multi-step flows with variable extraction, OpenAPI import with schema-aware mock data, load testing with percentile metrics, response diffing across environments, bulk test runners, reusable collections, environment groups with directory scoping and persistent defaults, Postman import/export, and cURL export. All from natural conversation. No accounts, no cloud, no generated files. Everything runs inline and stores as plain JSON you own.


Just Talk to It

You don't need to learn tool names or parameters. Describe what you want and the AI picks the right tool.

Часто задаваемые вопросы

Инструменты были проиндексированы:
api_endpoint_detail

Показывает полную информацию об endpoint: параметры, схему тела запроса и ответы. Полезно для понимания, какие данные отправлять.

Параметры
  • methodenumобязательный

    Метод HTTP эндпоинта

  • namestring

    Имя импортированного API. Если оно опущено и есть только одна спецификация, она используется автоматически.

  • pathstringобязательный

    Точный путь эндпоинта (например, "/blog", "/auth/login")

api_endpoints

Перечисляет эндпоинты импортированного API. Фильтрует по тегу, методу или пути. Если имя не указано и импортирован только один spec, использует его автоматически.

Параметры
  • methodenum

    Фильтровать по методу HTTP

  • namestring

    Имя импортированного API. Если оно опущено и есть только одна спецификация, она используется автоматически.

  • pathstring

    Фильтрует по path (частичный поиск, например, "/blog" показывает все, содержащие /blog).

  • tagstring

    Фильтрует по тегу (например: "blog", "auth", "users")

api_import

Импортирует спецификацию OpenAPI/Swagger из URL или локального файла (JSON или YAML). Сохраняет endpoints и схемы для запросов.

Параметры
  • namestringобязательный

    Имя для идентификации этого API (например: "mi-backend", "cocaxcode-api")

  • sourcestringобязательный

    URL или путь к локальному файлу спецификации OpenAPI (JSON или YAML, например: http://localhost:3001/api-docs-json, ./openapi.yaml)

api_spec_list

Перечисляет все импортированные спецификации API. Используйте, чтобы узнать, какие API доступны.

Параметры

Без параметров.

assert

Выполняет запрос и проверяет ответ с помощью assertions. Возвращает результат pass/fail для каждого assertion.

Параметры
  • assertionsobject[]обязательный

    Список assertions, которые нужно проверить на соответствие ответу.

  • authobject

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

  • bodyany

    Тело запроса (JSON)

  • headersobject

    Заголовки HTTP

  • methodenumобязательный

    HTTP-метод

  • queryobject

    Параметры запроса

  • urlstringобязательный

    URL эндпоинта (поддерживает относительный URL и {{переменные}})

bulk_test

Выполняет все запросы, сохраненные в коллекции, и сообщает результаты. Фильтруется по тегу.

Параметры
  • expected_statusnumber

    Ожидаемый HTTP-статус для всех (по умолчанию: любой 2xx)

  • tagstring

    Фильтрует по тегу.

collection_delete

Удаляет сохраненный request из коллекции.

Параметры
  • namestringобязательный

    Название удаляемого запроса

collection_get

Получает полные детали сохранённого запроса по его имени.

Параметры
  • namestringобязательный

    Имя сохранённого запроса

collection_list

Перечисляет все запросы, сохраненные в коллекции. Опционально фильтрует по тегу.

Параметры
  • tagstring

    Фильтрует по тегу.

collection_save

Сохраняет запрос в локальной коллекции. Если запрос с таким же именем уже существует, перезаписывает его.

Параметры
  • namestringобязательный

    Уникальное имя сохранённого запроса

  • requestobjectобязательный

    Конфигурация запроса для сохранения

  • tagsstring[]

    Теги для организации (например: ["auth", "users"])

diff_responses

Выполняет два запроса и сравнивает их ответы. Помогает обнаруживать регрессии или сравнивать окружения.

Параметры
  • request_aobjectобязательный

    Первый запрос

  • request_bobjectобязательный

    Второй запрос

env_create

Создаёт новое окружение. СПРАШИВАЕТ у пользователя: имя, группа (или global) и переменные. Если группа не существует, она создаётся автоматически.

Параметры
  • groupstring

    Название группы (например, "cocaxcode"). Если опущено, автоматически определяет по CWD. Для глобального: передать пустую строку ""

  • namestringобязательный

    Имя окружения (напр.: dev, staging, prod)

  • specstring

    Имя связанной спецификации API (например: "cocaxcode-api")

  • variablesobject

    Начальные переменные в формате key-value

env_delete

Удаляет окружение и все его переменные. Если это активное окружение, деактивирует его.

Параметры
  • namestringобязательный

    Имя среды для удаления

env_get

Получает конкретную переменную или все переменные окружения. Чувствительные значения (token, password, secret, api_key...) по умолчанию маскируются. Запросите переменную по имени, чтобы увидеть её полное значение.

Параметры
  • environmentstring

    Окружение для запроса (по умолчанию: активное окружение)

  • keystring

    Конкретная переменная. Если не указана, возвращает все.

env_group_add_scope

Добавляет директорию (scope) в группу. Окружения группы будут доступны из этой директории.

Параметры
  • groupstringобязательный

    Название группы.

  • scopestring

    Путь к директории. Если не указан, используется текущая директория.

env_group_create

Создаёт новую группу окружений. Затем добавляет области видимости (каталоги) с помощью env_group_add_scope.

Параметры
  • namestringобязательный

    Название группы (например: cocaxcode, optimizatusol)

env_group_delete

Удаляет группу. Окружения группы становятся глобальными.

Параметры
  • namestringобязательный

    Имя удаляемой группы.

env_group_list

Выводит список всех групп с их scopes, default и окружениями.

Параметры

Без параметров.

env_group_remove_scope

Удаляет директорию (scope) из группы.

Параметры
  • groupstringобязательный

    Название группы.

  • scopestring

    Путь к удаляемому каталогу. Если не указан, используется текущий каталог.

env_list

Перечисляет все доступные окружения и указывает, какое из них активно.

Параметры

Без параметров.

env_project_clear

Удаляет привязку конкретного окружения к проекту. Проект не будет иметь активного окружения, пока не будет назначено одно.

Параметры
  • projectstringобязательный

    Путь проекта, из которого удалить ассоциацию

env_project_list

Перечисляет все проекты с назначенными конкретными средами.

Параметры

Без параметров.

env_rename

Переименовывает существующее окружение. Если это активное окружение, обновляет ссылку.

Параметры
  • namestringобязательный

    Текущее имя окружения

  • new_namestringобязательный

    Новое имя для окружения

env_set

Устанавливает переменную в окружении. Если окружение не указано, использует активное.

Параметры
  • environmentstring

    Целевое окружение (по умолчанию: активное окружение)

  • keystringобязательный

    Имя переменной

  • valuestringобязательный

    Значение переменной

env_set_default

Отмечает окружение как default для своей группы. Default активируется автоматически при входе в проект.

Параметры
  • namestringобязательный

    Название окружения, которое нужно пометить как используемое по умолчанию.

env_set_group

Назначает или изменяет группу существующего окружения. Чтобы сделать его глобальным, передать пустую группу "".

Параметры
  • environmentstringобязательный

    Название окружения

  • groupstringобязательный

    Имя группы. Пустая строка "" для глобального применения.

env_spec

Привязывает или отвязывает спецификацию API к окружению. Если окружение не указано, использует активное.

Параметры
  • environmentstring

    Целевое окружение (по умолчанию: активное окружение)

  • specstring

    Имя spec для связывания. Если не указано, отвязывает текущий spec.

env_switch

Изменяет активное окружение. Без project изменяет глобальное. С project применяется только к этому каталогу.

Параметры
  • namestringобязательный

    Название окружения для активации.

  • projectstring

    Путь к проекту (например, C:/cocaxcode). Если не указано, изменяет глобальное окружение.

export_collection

Экспортирует сохранённые запросы в нативном формате (JSON) в .atm/. Переносимая папка - скопируйте её в другой проект для импорта.

Параметры
  • output_dirstring

    Каталог для сохранения файла (по умолчанию: .atm/)

  • tagstring

    Фильтрует запросы по тегу.

export_curl

Генерирует команду cURL из запроса, сохраненного в коллекции. Готова для копирования и вставки.

Параметры
  • namestringобязательный

    Название запроса, сохранённого в коллекции

  • resolve_variablesboolean

    Подставляет {{variables}} из активного окружения (default: true)

export_environment

Экспортирует среду в нативном формате (JSON) в .atm/ переносимую папку - скопируйте её в другой проект для импорта.

Параметры
  • namestring

    Имя экспортируемого окружения (по умолчанию: активное окружение)

  • output_dirstring

    Каталог для сохранения файла (по умолчанию: .atm/)

export_postman_collection

Экспортирует сохраненные запросы в формате Postman Collection v2.1 (JSON). Записывает файл на диск, который можно напрямую импортировать в Postman.

Параметры
  • namestring

    Название коллекции (по умолчанию: "API Testing Collection")

  • output_dirstring

    Каталог для сохранения файла (по умолчанию: ./postman/)

  • resolve_variablesboolean

    Разрешает {{variables}} из активного окружения (по умолчанию: false)

  • tagstring

    Фильтрует запросы по тегу.

export_postman_environment

Экспортирует окружение как Postman Environment (JSON). Записывает файл на диск, напрямую импортируемый в Postman.

Параметры
  • namestring

    Имя экспортируемого окружения (по умолчанию: активное окружение)

  • output_dirstring

    Каталог для сохранения файла (по умолчанию: ./postman/)

flow_run

Выполняет последовательность запросов по порядку. Извлекает переменные из каждого ответа для использования в следующих шагах с помощью {{variable}}.

Параметры
  • stepsobject[]обязательный

    Шаги для выполнения по порядку

  • stop_on_errorboolean

    Останавливаться при первой ошибке (по умолчанию: true)

import_collection

Импортирует запросы из .atm/collection.json или конкретного файла. Автоматически обнаруживает .atm/ в проекте.

Параметры
  • filestring

    Путь к файлу (по умолчанию: ищет в .atm/collection.json)

  • overwriteboolean

    Перезаписывать существующие запросы с тем же именем (по умолчанию: false)

  • tagstring

    Дополнительный тег для применения ко всем импортированным запросам.

import_environment

Импортирует окружение из .atm/ или из указанного файла. Автоматически обнаруживает файлы .env.json в .atm/.

Параметры
  • activateboolean

    Активирует импортированную среду как активную (по умолчанию: false)

  • filestring

    Путь к файлу (по умолчанию: ищет *.env.json в .atm/)

  • namestring

    Название для окружения (по умолчанию: использует имя экспортированного файла)

  • overwriteboolean

    Перезаписывать, если уже существует окружение с таким же именем (по умолчанию: false).

import_postman_collection

Импортирует Postman Collection v2.1 (JSON) как запросы, сохраненные в коллекции. Поддерживает папки, аутентификацию, заголовки, тело и параметры запроса.

Параметры
  • filestringобязательный

    Путь к файлу .postman_collection.json, экспортированному из Postman

  • overwriteboolean

    Перезаписывать существующие запросы с тем же именем (по умолчанию: false)

  • tagstring

    Дополнительный тег для применения ко всем импортированным запросам.

import_postman_environment

Импортирует окружение Postman (JSON) как локальное окружение. Поддерживает переменные со значениями initial/current.

Параметры
  • activateboolean

    Активирует импортированную среду как активную (по умолчанию: false)

  • filestringобязательный

    Путь к файлу .postman_environment.json, экспортированному из Postman.

  • namestring

    Название для окружения (по умолчанию: используется имя файла Postman)

  • overwriteboolean

    Перезаписывать, если уже существует окружение с таким же именем (по умолчанию: false).

inspect_last_response

Получает полный HTTP-ответ от предыдущего вызова request, когда сжатой версии недостаточно. Использует call_id, который находится в поле call_id сжатого ответа. Без call_id возвращает самый последний.

Параметры
  • call_idstring

    ID, возвращаемый в поле 'call_id' сжатого ответа. Если он опущен, возвращает последний сохраненный ответ (предупреждение, если за последние 5 секунд их было несколько).

load_test

Отправляет N одновременных запросов к одному и тому же endpoint и измеряет среднее время, процентили и частоту ошибок.

Параметры
  • authobject

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

  • bodyany

    Тело запроса

  • concurrentnumberобязательный

    Количество одновременных запросов для запуска (макс: 100)

  • headersobject

    Заголовки HTTP

  • methodenumобязательный

    HTTP-метод

  • queryobject

    Параметры запроса

  • timeoutnumber

    Таймаут на запрос в мс (по умолчанию: 30000)

  • urlstringобязательный

    URL эндпоинта

mock

Генерирует mock/fake данные для endpoint на основе импортированной спецификации OpenAPI. Полезно для frontend без backend.

Параметры
  • countnumber

    Количество mock-элементов для генерации, если schema имеет тип массива (по умолчанию: 3).

  • methodenumобязательный

    Метод HTTP эндпоинта

  • namestringобязательный

    Имя импортированного API

  • pathstringобязательный

    Путь эндпоинта (например, "/users", "/blog")

  • statusstring

    Код статуса ответа для мока (по умолчанию: "200" или "201")

  • targetenum

    Генерирует mock тела запроса или ответа (по умолчанию: response).

request

Выполняет HTTP-запрос. Относительные URL (/path) используют BASE_URL активного окружения. Поддерживает {{переменные}}. По умолчанию ответ сжимается (verbosity=normal) для экономии токенов; используйте verbosity=full или inspect_last_response, если нужен полный ответ.

Параметры
  • authobject

    Настройка аутентификации

  • bodyany

    Тело запроса (JSON). Поддерживает {{variables}}

  • headersobject

    HTTP-заголовки как пары ключ-значение

  • max_body_bytesinteger

    Максимальный размер тела в байтах для verbosity='normal' (по умолчанию: 2048). Не учитывается для minimal/full.

  • methodenumобязательный

    HTTP-метод

  • only_fieldsstring[]

    Дешёвая альтернатива 'full', когда точно знаешь, что нужно из тела. Возвращает только эти dot-paths. Поддерживает индекс массива и wildcard. Примеры: ["data.id"], ["user.email", "user.role"], ["items[*].id", "meta.total"]. Часто экономит >95% по сравнению с full, сохраняя нужные вам поля.

  • queryobject

    Параметры запроса в виде пар ключ-значение

  • timeoutnumber

    Тайм-аут в миллисекундах (по умолчанию: 30000)

  • urlstringобязательный

    URL эндпоинта. Если начинается с /, перед ним добавляется BASE_URL активного окружения. Поддерживает {{variables}}.

  • verbosityenum

    Управляет степенью детализации ответа, чтобы экономить токены контекста. По умолчанию: 'normal'. - 'minimal': Только статус, метод, URL, elapsed_ms и первые 200 символов тела. Используйте для: проверок состояния (/health, /ping), циклов опроса статуса, POST/DELETE без ожидания ответа, ожидания завершения задания или когда важно знать только, успешен ли вызов. Экономит: ~95% токенов по сравнению с полным ответом. - 'normal' (ПО УМОЛЧАНИЮ): Фильтрует заголовки (опускает Date, Server, CF-*, Set-Cookie и т.д.) и обрезает тело до max_body_bytes с флагом 'body_truncated'. Используйте для: большинства случаев отладки: CRUD-операций, проверки сообщений об ошибках, изучения контракта API. Экономит: ~75% токенов по сравнению с полным ответом. - 'full': Полный ответ без изменений. Используйте для: отладки заголовков CORS, cache и auth, больших тел ответов, которые нужно изучить целиком, или когда пользователь просит показать всё. ЭКОНОМИИ НЕТ. Если ответ усечен и нужно больше данных, используйте inspect_last_response({call_id}) вместо повторного запуска с 'full'.

0.13.4основная
0.13.3
0.13.2
0.13.1
0.13.0
0.12.11
0.12.10
0.12.9
0.12.8
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.15
0.11.14
0.11.13
0.11.12
0.11.11
0.11.10
0.11.9
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.0
0.8.3
0.8.2
0.8.1
0.8.0
0.7.0
0.6.0
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.2
0.4.1
0.4.0
0.3.0
0.2.0
0.1.0

Выберите клиент, чтобы установить cocaxcode/api-testing-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "cocaxcode-api-testing-mcp-l9ll4t90rr": {
      "command": "npx",
      "args": [
        "-y",
        "@cocaxcode/api-testing-mcp@latest"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "cocaxcode-api-testing-mcp-l9ll4t90rr": {
      "command": "npx",
      "args": [
        "-y",
        "@cocaxcode/api-testing-mcp@latest"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "cocaxcode-api-testing-mcp-l9ll4t90rr": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cocaxcode/api-testing-mcp@latest"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"cocaxcode-api-testing-mcp-l9ll4t90rr\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@cocaxcode/api-testing-mcp@latest\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "cocaxcode-api-testing-mcp-l9ll4t90rr": {
      "command": "npx",
      "args": [
        "-y",
        "@cocaxcode/api-testing-mcp@latest"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add cocaxcode-api-testing-mcp-l9ll4t90rr -- npx -y @cocaxcode/api-testing-mcp@latest

Либо через JSON-конфиг:

claude mcp add-json cocaxcode-api-testing-mcp-l9ll4t90rr "{\"command\":\"npx\",\"args\":[\"-y\",\"@cocaxcode/api-testing-mcp@latest\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add cocaxcode-api-testing-mcp-l9ll4t90rr -- npx -y @cocaxcode/api-testing-mcp@latest

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.cocaxcode-api-testing-mcp-l9ll4t90rr]
command = "npx"
args = ["-y", "@cocaxcode/api-testing-mcp@latest"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите cocaxcode/api-testing-mcp, а в поле команды запуска — строку ниже:
npx -y @cocaxcode/api-testing-mcp@latest

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "cocaxcode-api-testing-mcp-l9ll4t90rr": {
      "command": "npx",
      "args": [
        "-y",
        "@cocaxcode/api-testing-mcp@latest"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "cocaxcode-api-testing-mcp-l9ll4t90rr": {
      "command": "npx",
      "args": [
        "-y",
        "@cocaxcode/api-testing-mcp@latest"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например cocaxcode-api-testing-mcp-l9ll4t90rr.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: cocaxcode-api-testing-mcp-l9ll4t90rr
    command: npx
    args:
      - "-y"
      - "@cocaxcode/api-testing-mcp@latest"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "cocaxcode-api-testing-mcp-l9ll4t90rr": {
      "command": "npx",
      "args": [
        "-y",
        "@cocaxcode/api-testing-mcp@latest"
      ]
    }
  }
}

Похожие MCP-сервера

hijaz/postmancer

hijaz/postmancer

от hijaz

Postmancer — MCP сервер для тестирования REST API, аналог Postman для ИИ. Отправляет HTTP запросы, управляет коллекциями, подставляет переменные окружения, поддерживает аутентификацию (Basic, Bearer, API Key, OAuth2). Полезен разработчикам для интеграции AI в тестирование.

TypeScript⭐ 29
eyaushev/swagger-testcase-mcp

eyaushev/swagger-testcase-mcp

от eyaushev

Автоматически генерирует тест-кейсы из Swagger/OpenAPI спецификаций. Анализирует параметры, ограничения и схемы, создавая тесты 8 категорий для ручного тестирования или импорта в TMS, ускоряя подго...

TypeScript⭐ 2
hungthai1401/bruno-mcp

hungthai1401/bruno-mcp

от hungthai1401

Запускает Bruno-коллекции, возвращает детальный отчёт: статус, упавшие тесты, тайминги. Поддерживает environment-файлы и переменные окружения.

JavaScript⭐ 44
ronantakizawa/a11ymcp

ronantakizawa/a11ymcp

от ronantakizawa

MCP сервер с Axe-core и Puppeteer для тестирования веб-доступности: проверяет URL и HTML-фрагменты на WCAG (2.0-2.2), оценивает цветовой контраст, ARIA-атрибуты и ориентацию. Полезен разработчикам ...

JavaScript⭐ 93
marin1321/mcp-devtools

marin1321/mcp-devtools

от marin1321

MCP-сервер, дающий AI-агентам (Claude, Cursor и др.) безопасный доступ к локальной среде разработки. Включает 14 инструментов для работы с файлами, базами данных, процессами, OpenAPI, а также плаги...

TypeScript⭐ 3
Vultr MCP

Vultr MCP

официальный

от vultr

Сервер Vultr MCP позволяет AI-агентам управлять облачными ресурсами через естественный язык. Инструменты генерируются из OpenAPI, поддерживаются STDIO и HTTP, аутентификация по API ключу и OAuth. Подходит для DevOps.

Python⭐ 2
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин