apidog-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@apidog-mcp show me the API tree for project 1312991"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
apidog-mcp
apidog-mcp is a stdio MCP server for Apidog. It lets an MCP client such as opencode list projects, inspect API trees, create modules and folders, and add or update requests without configuring every Apidog project by hand.
Quick start
Use the published package with npx from your MCP client configuration.
{
"mcp": {
"apidog": {
"type": "local",
"command": ["npx", "-y", "@byixlam/apidog-mcp"],
"environment": {
"APIDOG_ACCESS_TOKEN": "adgp_xxx",
"APIDOG_TEAM_ID": "679680"
}
}
}
}APIDOG_ACCESS_TOKEN is required for Apidog API calls. The server still starts without it, but tools will return a clear setup error until the token is configured and the MCP client is restarted.
Optional environment variables:
APIDOG_TEAM_ID: default team forapidog_list_team_projects.APIDOG_LOCALE: defaults toen-US.APIDOG_CLIENT_VERSION: defaults to2.8.34.
Configure a default project
Most tools accept projectId. If you do not want to pass it every time, run apidog_configure_project once in the workspace:
{
"projectId": 1312991,
"branchId": 0
}This writes apidog.json and adds it to .gitignore.
Related MCP server: apidog-tests-mcp
Tools
Setup and discovery
apidog_check_authapidog_configure_projectapidog_list_user_projectsapidog_list_user_teamsapidog_list_team_projects
Project navigation
apidog_list_modulesapidog_list_environmentsapidog_list_api_treeapidog_list_api_detail_foldersapidog_list_api_responsesapidog_list_test_case_categoriesapidog_list_test_case_tagsapidog_list_runnersapidog_get_http_api
Modules
apidog_create_moduleapidog_update_moduleapidog_rename_moduleapidog_delete_module
Delete tools require confirmDelete: true.
Folders
apidog_create_api_detail_folderapidog_rename_api_detail_folderapidog_delete_api_detail_folder
Delete tools require confirmDelete: true.
Apidog-native requests
These tools work directly with Apidog HTTP API details.
apidog_add_requestapidog_update_requestapidog_delete_requestapidog_create_api_detailapidog_update_api_detailapidog_delete_api_detail
Use apidog_add_request and apidog_update_request for normal request creation and editing. Use the raw api_detail tools when you need full control over Apidog-specific fields.
When a URL contains path parameters such as /users/{id}/posts/{postId}, the request tools automatically create path parameters for id and postId unless they already exist.
OpenAPI import/export
apidog_export_openapiapidog_get_openapiapidog_validate_openapiapidog_import_openapiapidog_add_endpointapidog_update_endpointapidog_upsert_endpointapidog_delete_endpointapidog_patch_openapi
The endpoint tools use an export-modify-validate-import flow. Before importing anything, the server validates the OpenAPI document. apidog_delete_endpoint requires both confirmDelete: true and deleteUnmatchedResources: true.
Common examples
Create a folder
{
"moduleId": 1312066,
"name": "Billing",
"parentId": 0,
"type": "http"
}Add a request inside a folder
{
"moduleId": 1312066,
"folderId": 9034034,
"name": "Get invoice",
"method": "get",
"path": "/invoices/{invoiceId}",
"status": "developing",
"responses": [
{
"code": 200,
"name": "Success",
"contentType": "json",
"jsonSchema": {
"type": "object",
"properties": {
"invoiceId": { "type": "string" }
}
},
"itemSchema": {}
}
]
}Add a folder placeholder request
Apidog allows a request with an empty path inside a folder. This is useful for drafts.
{
"moduleId": 1312066,
"folderId": 9034034,
"name": "Draft request",
"method": "get",
"path": ""
}Update an endpoint through OpenAPI
{
"moduleId": 1312066,
"path": "/invoices/{invoiceId}",
"method": "get",
"patch": {
"summary": "Get invoice by ID",
"responses": {
"200": {
"description": "Invoice returned"
}
}
}
}Delete a request
{
"apiDetailId": 37814603,
"confirmDelete": true
}How it works
The server talks to https://api.apidog.com and sends the access token as a Bearer token. Project-scoped calls include the project ID and branch ID headers when available.
There are two editing paths:
Direct Apidog tools for modules, folders, and Apidog-native request details.
OpenAPI tools for contract-style endpoint changes using Apidog import/export.
Use direct request tools when you care about Apidog-specific fields. Use OpenAPI tools when you want to make portable API contract changes.
Local development
Install dependencies and build:
npm install
npm run buildRun checks:
npm run typecheck
npm pack --dry-runStart locally:
APIDOG_ACCESS_TOKEN=adgp_xxx node dist/index.jsThe server uses stdio, so it does not print a startup banner.
Testing safely
When testing write tools against a real Apidog project:
Use a disposable project or copy.
Create a temporary module with a unique name.
Create folders and requests only inside that module.
Delete the temporary module when finished.
List modules and the API tree to confirm cleanup.
Avoid testing delete tools against existing project resources.
Notes
This project uses both documented Apidog import/export APIs and endpoints used by the Apidog web app. Those web-app endpoints can change without notice.
Keep destructive tools behind confirmDelete: true, and do not store session cookies or other browser session values in this repository.
Donations
USDT BEP20: 0x589aC54204D9BfBe7E455E09b5fcbD4231C0F55b
Available Tools
36 toolsapidog_add_endpointC
Add an endpoint by export-modify-validate-import.
Inputs: path (required), method (required), operation (required), options, +8 more.
apidog_add_requestC
Create an Apidog HTTP request/API detail with practical defaults.
Inputs: name (required), method (required), moduleId (required), auth, +11 more.
apidog_check_authA
Verify APIDOG_ACCESS_TOKEN by calling Apidog's current user endpoint.
Inputs: no named parameters.
apidog_configure_projectB
Write apidog.json in the current directory and add it to .gitignore.
Inputs: projectId (required), branchId.
apidog_create_api_detailC
Create an Apidog API detail using raw Apidog form fields.
Inputs: apiDetail (required), branchId, projectId.
apidog_create_api_detail_folderC
Create an API detail folder.
Inputs: name (required), moduleId (required), type, branchId, +2 more.
apidog_create_moduleB
Create a module in an Apidog project.
Inputs: name (required), branchId, projectId.
apidog_delete_api_detailC
Delete an Apidog API detail/request. Requires confirmDelete=true.
Inputs: apiDetailId (required), confirmDelete (required), branchId, projectId.
apidog_delete_api_detail_folderB
Delete an API detail folder. Requires confirmDelete=true.
Inputs: folderId (required), confirmDelete (required), branchId, projectId.
apidog_delete_endpointC
Delete an endpoint by export-modify-validate-import. Requires confirmDelete=true.
Inputs: path (required), method (required), confirmDelete (required), deleteUnmatchedResources (required), +9 more.
apidog_delete_moduleB
Delete a module in an Apidog project. Requires confirmDelete=true.
Inputs: moduleId (required), confirmDelete (required), branchId, projectId.
apidog_delete_requestB
Alias for deleting an Apidog HTTP API detail/request. Requires confirmDelete=true.
Inputs: apiDetailId (required), confirmDelete (required), branchId, projectId.
apidog_export_openapiC
Export OpenAPI from Apidog.
Inputs: branchId, moduleId, projectId, oasVersion, +4 more.
apidog_get_http_apiB
Get an Apidog HTTP API detail by ID.
Inputs: apiDetailId (required), branchId, projectId.
apidog_get_openapiD
Alias for apidog_export_openapi.
Inputs: branchId, moduleId, projectId, oasVersion, +4 more.
apidog_import_openapiC
Validate and import OpenAPI into Apidog.
Inputs: document (required), options, branchId, moduleId, +1 more.
apidog_list_api_detail_foldersA
List API detail folders for endpoint placement reference.
Inputs: branchId, projectId.
apidog_list_api_responsesC
List reusable API response components.
Inputs: branchId, projectId.
apidog_list_api_treeC
List the Apidog API tree for the configured or specified project.
Inputs: branchId, projectId.
apidog_list_environmentsB
List environments in an Apidog project.
Inputs: branchId, projectId.
apidog_list_modulesB
List modules in an Apidog project.
Inputs: branchId, projectId.
apidog_list_runnersA
List self-hosted general runners for a project.
Inputs: branchId, projectId.
apidog_list_team_projectsA
List projects for APIDOG_TEAM_ID, or for an explicit teamId.
Inputs: teamId.
apidog_list_test_case_categoriesA
List test case categories for a project.
Inputs: branchId, projectId.
apidog_list_test_case_tagsB
List test case tags for a project.
Inputs: branchId, projectId.
apidog_list_user_projectsA
List projects accessible by the current user.
Inputs: no named parameters.
apidog_list_user_teamsA
List teams accessible by the current user.
Inputs: no named parameters.
apidog_patch_openapiA
Apply RFC 6902 JSON Patch to exported OpenAPI, validate, then import.
Inputs: patch (required), options, branchId, moduleId, +6 more.
apidog_rename_api_detail_folderC
Rename an API detail folder.
Inputs: name (required), folderId (required), branchId, projectId.
apidog_rename_moduleC
Rename a module in an Apidog project.
Inputs: name (required), moduleId (required), branchId, projectId.
apidog_update_api_detailA
Update an Apidog API detail using raw Apidog form fields. Prefer passing a full detail body from apidog_get_http_api.
Inputs: apiDetail (required), apiDetailId (required), branchId, projectId.
apidog_update_endpointC
Patch an existing endpoint operation by export-modify-validate-import. Null values remove fields.
Inputs: path (required), patch (required), method (required), options, +8 more.
apidog_update_moduleC
Update module fields. Use for renaming modules.
Inputs: patch (required), moduleId (required), branchId, projectId.
apidog_update_requestB
Update an Apidog HTTP request/API detail with practical defaults. Include all fields you want preserved.
Inputs: name (required), method (required), moduleId (required), apiDetailId (required), +12 more.
apidog_upsert_endpointC
Create or update an endpoint operation by export-modify-validate-import.
Inputs: path (required), method (required), operation (required), options, +8 more.
apidog_validate_openapiA
Validate an OpenAPI JSON or YAML document without importing it.
Inputs: document (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 36 tools
Multiple tools overlap significantly: create_api_detail, add_request, and add_endpoint all create API endpoints; update_api_detail, update_request, update_endpoint, and patch_openapi all handle updates; delete_api_detail, delete_request, and delete_endpoint are near-duplicates. Agents will struggle to choose the correct tool without deep inspection.
All tools share a consistent 'apidog_' prefix and snake_case format, mostly following verb_noun. However, there are inconsistencies: 'add' vs 'create' for similar operations, 'get_openapi' is an alias for 'export_openapi', and 'update_module' overlaps with 'rename_module'.
With 36 tools, the surface is too large for a single MCP server. Many tools are aliases or redundant variants (e.g., three creation methods, three update methods, three delete methods), inflating the count without adding distinct capability.
The API lifecycle is covered through multiple overlapping paths, but there are notable gaps: no environment CRUD beyond listing, no test case management beyond listing tags/categories, and the export-modify-validate-import cycle suggests missing native mutation endpoints. The surface is broad but not cleanly complete.
Maintenance
Related MCP Connectors
MCP Server for JFrog, providing tools for development and artifact management.
An MCP server that provides asset auto generator
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
MCP server for generating rough-draft project plans from natural-language prompts.
Related MCP Servers
- AlicenseCqualityDmaintenanceAn MCP server that integrates Apifox API documentation with AI assistants, allowing AI to extract and understand API information from Apifox projects.246 npmISC
- AlicenseAqualityDmaintenanceMCP server for managing Apidog test cases, scenarios, suites, and test data, providing full read/write access to Apidog's test management features.3070 npm1MIT
- AlicenseBqualityCmaintenanceMCP server for executing MySQL SQL, managing Apifox API documentation, and parsing/executing curl commands.632 npmISC
- AlicenseAqualityDmaintenanceMCP server that provides 22 tools to manage Apidog API documentation, including importing OpenAPI specs, exporting, diffing, analyzing, and bulk-editing endpoints.2224 npm3MIT