@lstpsche/apidog-mcp
MCP server that provides 22 tools to manage Apidog API documentation, including importing OpenAPI specs, exporting, diffing, analyzing, and bulk-editing endpoints.
README
@lstpsche/apidog-mcp
MCP server for managing Apidog API documentation. Provides 22 tools for importing, exporting, diffing, analyzing, and bulk-editing OpenAPI specs and endpoint cases via the Model Context Protocol.
Quick Start
npx @lstpsche/apidog-mcp
Configuration
Option A: Project-level config file (recommended)
Create .apidog.json in your project root:
{
"accessToken": "adgp_your_token_here",
"projectId": "1234567",
"modules": {
"backend": 1234,
"payments": 5678
}
}
Add .apidog.json to your .gitignore to keep secrets out of version control.
Then configure your MCP client (e.g. .cursor/mcp.json):
{
"mcpServers": {
"apidog": {
"command": "npx",
"args": ["-y", "@lstpsche/apidog-mcp"]
}
}
}
Multi-project config
To manage multiple Apidog projects from a single config, use the projects array:
{
"accessToken": "adgp_your_token_here",
"projects": [
{
"name": "main",
"projectId": "1234567",
"modules": {
"backend": 1234,
"payments": 5678
}
},
{
"name": "staging",
"projectId": "7654321",
"modules": {
"default": 9999
}
}
]
}
Each project has a name used to target it in tool calls via the project parameter. When only one project is configured, the project parameter is optional and defaults automatically.
The single-project format (with top-level projectId and modules) is still fully supported and treated as a single project named "default".
Option B: Environment variables
Set these in your shell or CI environment:
| Variable | Description |
|---|---|
APIDOG_ACCESS_TOKEN |
Apidog personal access token |
APIDOG_PROJECT_ID |
Apidog project ID |
APIDOG_MODULES |
JSON map of module names to IDs (e.g. {"api":123}) |
{
"mcpServers": {
"apidog": {
"command": "npx",
"args": ["-y", "@lstpsche/apidog-mcp"],
"env": {
"APIDOG_ACCESS_TOKEN": "${APIDOG_ACCESS_TOKEN}",
"APIDOG_PROJECT_ID": "${APIDOG_PROJECT_ID}",
"APIDOG_MODULES": "${APIDOG_MODULES}"
}
}
}
}
Environment variables define a single project named "default". They can be combined with a multi-project .apidog.json — the env-var project overrides any file-based project with the same name.
Config file resolution
The server locates .apidog.json using the following strategy:
APIDOG_CONFIG_PATHenv var — if set, uses this explicit file path- Upward directory walk — searches from
process.cwd()upward through parent directories until.apidog.jsonis found (similar to how Node resolvespackage.json) - Env-only fallback — if no file is found, falls back to environment variables
This means .apidog.json works reliably even when the MCP server is started from a subdirectory or by a plugin that doesn't set the working directory to the project root.
Resolution order
Environment variables take precedence over .apidog.json for the "default" project. You can mix both — for example, keep projectId and modules in .apidog.json and set APIDOG_ACCESS_TOKEN via environment for security.
Where to find your credentials
- Access Token: Apidog > Account Settings > API Access Tokens
- Project ID: Open your project > Settings > Basic Settings
- Module IDs: Each module's settings page within your Apidog project
Tools (22)
All tools accept an optional project parameter to target a specific project in multi-project configurations. When only one project is configured, this parameter can be omitted.
Read
| Tool | Description |
|---|---|
apidog_modules |
List configured projects and their modules with names and IDs |
apidog_export |
Export full OpenAPI spec for a module |
apidog_list |
List/search endpoints with filters and pagination |
apidog_get |
Get full details of a single endpoint |
apidog_folders |
Analyze folder structure and counts |
Write
| Tool | Description |
|---|---|
apidog_import_openapi |
Import OpenAPI spec (auto-batched for large specs) |
apidog_wipe |
Wipe all endpoints in a module (requires confirm) |
apidog_update |
Update a single endpoint via partial spec import |
apidog_delete |
Delete an endpoint |
apidog_pipeline |
3-step pipeline: wipe, create cases, overlay spec |
Cases
| Tool | Description |
|---|---|
apidog_create_cases |
Create endpoint usage examples (single or batch) |
Diff & Analysis
| Tool | Description |
|---|---|
apidog_diff |
Compare Apidog state against a local spec |
apidog_analyze |
Coverage and validation analysis (selectable checks) |
Schemas
| Tool | Description |
|---|---|
apidog_list_schemas |
List component schemas with references |
apidog_get_schema |
Get full schema definition |
apidog_update_schema |
Create or update a component schema |
apidog_delete_schema |
Delete a schema (refuses if still referenced) |
Bulk Operations
| Tool | Description |
|---|---|
apidog_bulk_update |
Batch update tags, folders, status, summaries |
Export Formats
| Tool | Description |
|---|---|
apidog_export_markdown |
Export as Markdown documentation |
apidog_export_curl |
Export as curl command examples |
apidog_export_postman |
Export as Postman Collection v2.1 |
Testing
| Tool | Description |
|---|---|
apidog_run_test |
Run test scenarios or folders via Apidog CLI |
Architecture
A single server instance can manage multiple Apidog projects and modules. Pass the module name (e.g. "backend", "payments") to each tool call — the server resolves it to the correct module ID. For multi-project setups, also pass the project name (e.g. "main", "staging").
Limitations
Apidog's public API is limited in scope. The following functionality is not available through this MCP server due to missing API support:
| Feature | Reason |
|---|---|
| Direct endpoint CRUD | No REST API for creating/updating/deleting individual endpoints. Workaround: OpenAPI spec import with matching options. |
| Endpoint case CRUD | No API for creating/editing endpoint cases directly. Workaround: Postman collection import to inject cases. |
| Auto-generated "Success" case suppression | autoGenerateCase: false is silently ignored by the API. Workaround: auto-generated empty cases are detected and replaced after import. |
| Folder/module management | No API to create, rename, or delete folders or modules. Workaround: x-apidog-folder extension in OpenAPI import controls folder placement. |
| Test scenario management | No API to create or edit test scenarios. Only execution of existing scenarios is supported via apidog-cli. |
| Test execution auth | apidog-cli requires a separate CI/CD access token generated from within a test scenario's settings, not the general API access token. |
| Environment variables | No API to manage Apidog environment variables. |
| Mock server configuration | No API to configure or control mock servers. |
| Comments and discussions | No API to read or post comments on endpoints. |
| Change history | No API to access endpoint revision history. |
These limitations are inherent to the Apidog API as of March 2026. The MCP server implements workarounds where possible (noted above).
License
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。