@ivanherula/apidog-mcp-server
v0.1.2
Published
MCP server for Apidog API specs and test management
Downloads
48
Readme
@ivanherula/apidog-mcp-server
MCP server for Apidog — read API specs, manage test cases, scenarios, suites, test data, and import/export OpenAPI specs from Claude Code or any MCP client.
Quick Start
{
"mcpServers": {
"apidog": {
"command": "npx",
"args": [
"-y",
"@ivanherula/apidog-mcp-server@latest"
],
"env": {
"APIDOG_ACCESS_TOKEN": "your-token",
"APIDOG_PROJECT_ID": "your-project-id"
}
}
}
}Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
| APIDOG_ACCESS_TOKEN | Yes | — | Apidog API access token |
| APIDOG_PROJECT_ID | Yes | — | Apidog project ID |
| APIDOG_BRANCH_ID | No | — | Branch ID (for branched projects) |
| APIDOG_BASE_URL | No | https://api.apidog.com/api/v1 | Internal API base URL |
| APIDOG_API_VERSION | No | 2024-03-28 | X-Apidog-Api-Version header value used for import/export calls |
Tools (36)
Spec (5)
list_environments— List all environments (DEV, TEST, PROD, etc.) with their base URLslist_endpoints— List the full endpoint tree with IDs, names, and folder structure. SupportsmoduleIdandsearchfilters.get_endpoint_statistics— Get endpoint test coverage statisticslist_test_case_categories— List all test case categorieslist_test_case_tags— List all test case tags
Test Cases (6)
list_test_cases— List test cases filtered by endpoint ID, with paginationget_test_case— Get full details of a single test casecreate_test_case— Create a test case. RequiresapiDetailId(fromlist_endpoints) andresponseId(from the internal endpoint details API — see note below)bulk_create_test_cases— Create multiple test cases in one callupdate_test_case— Merge-update a test case (fetches current state, applies only provided fields)delete_test_case— Delete a test case
responseIdnote: This is the internal ID of a response definition on an endpoint. Fetch it with:curl -s "https://api.apidog.com/api/v1/projects/{projectId}/http-apis/{endpointId}?locale=en-US" \ -H "Authorization: Bearer $APIDOG_ACCESS_TOKEN" \ | python3 -c "import sys,json; d=json.load(sys.stdin); [print(r['id'], r['name']) for r in d['data']['responses']]"Pass it as a string (e.g.,
"177230609").
Test Scenarios (7)
list_test_scenarios— List all test scenariosget_test_scenario_steps— Get the steps of a scenariocreate_test_scenario— Create a test scenarioupdate_test_scenario_steps— Replace the steps of a scenariodelete_test_scenario— Delete a scenariocreate_scenario_folder— Create a scenario folderdelete_scenario_folder— Delete a scenario folder
Test Suites (7)
list_test_suites— List all test suitesget_test_suite— Get suite details including scenario IDs and environmentcreate_test_suite— Create a test suiteupdate_test_suite— Update a test suitedelete_test_suite— Delete a test suitecreate_suite_folder— Create a suite folderdelete_suite_folder— Delete a suite folder
Test Data (5)
list_test_data— List test data setsget_test_data— Get a test data set with all rowscreate_test_data— Create a parameterized test data set (CSV format)update_test_data— Update a test data setdelete_test_data— Delete a test data set
Import / Export (5)
import_openapi— Import a full OpenAPI/Swagger spec (JSON or YAML string) into the project. Supports Swagger 2.0, OpenAPI 3.0, and 3.1. Control target folders and overwrite behavior per resource type.import_endpoint— Import a single endpoint without writing a full spec. Accepts structured parameters, requestBody, and responses objects directly.import_schema— Import a single data model/schema component.import_endpoints_from_url— Import an OpenAPI/Swagger spec from a remote URL, with optional basic auth. Endpoint and schema overwrite behaviors are controlled independently.export_openapi— Export the project spec in OpenAPI 3.0, 3.1, or Swagger 2.0 format (JSON or YAML), optionally filtered by endpoints, folders, or tags.
Tags become sub-folders: If an imported spec includes
tagson path operations, Apidog places the endpoints in a sub-folder named after the tag insidetargetEndpointFolderId. Omittags(or strip them before import) to land endpoints directly in the target folder.
Runners (1)
list_runners— List self-hosted test runners
License
MIT
