{"_id":"@daniilnikolaevich/apidog-mcp","name":"@daniilnikolaevich/apidog-mcp","dist-tags":{"latest":"6.1.0"},"versions":{"6.1.0":{"name":"@daniilnikolaevich/apidog-mcp","version":"6.1.0","description":"MCP server for managing Apidog API documentation — import, export, diff, cases, schemas, bulk ops, analysis, and more.","type":"module","main":"dist/index.js","bin":{"apidog-mcp":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"npx tsx src/index.ts","prepublishOnly":"npm run build"},"engines":{"node":">=18.0.0"},"keywords":["mcp","apidog","openapi","api-documentation","model-context-protocol"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/daniilnikolaevich/apidog-mcp.git"},"publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.1","apidog-cli":"^2.1.7","zod":"^3.25.0"},"devDependencies":{"@types/node":"^25.3.3","tsx":"^4.19.0","typescript":"^5.7.0"},"types":"./dist/index.d.ts","gitHead":"cef39e8eb06b13a05841ed492ed9bd0b4bf1fde7","bugs":{"url":"https://github.com/daniilnikolaevich/apidog-mcp/issues"},"homepage":"https://github.com/daniilnikolaevich/apidog-mcp#readme","_id":"@daniilnikolaevich/apidog-mcp@6.1.0","_nodeVersion":"22.14.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-pMjeP70Bt9TsdePbjlR/hm0pgm6wb15+/jPoLnkdJt6gaecoNZfSaAVo5DhzZQP/AIBnlzXewmYxBODvnYN6MQ==","shasum":"dfa8776fc11f9ac328bffa1e7e64c6f8bb2d97fa","tarball":"https://registry.npmjs.org/@daniilnikolaevich/apidog-mcp/-/apidog-mcp-6.1.0.tgz","fileCount":29,"unpackedSize":111585,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD0FWQY4A6xkHquoVfYQhXQW8cWzn3jHNGUrw1wt+xZtAIgQk7KIqUC55FZ3+Zolz3tp49S4TObDZPVHimOIAvtJFY="}]},"_npmUser":{"name":"daniilnikolaevich","email":"danmerenkov@gmail.com"},"directories":{},"maintainers":[{"name":"daniilnikolaevich","email":"danmerenkov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/apidog-mcp_6.1.0_1783679402920_0.781842034979366"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-10T10:30:02.808Z","6.1.0":"2026-07-10T10:30:03.062Z","modified":"2026-07-10T10:30:03.227Z"},"maintainers":[{"name":"daniilnikolaevich","email":"danmerenkov@gmail.com"}],"description":"MCP server for managing Apidog API documentation — import, export, diff, cases, schemas, bulk ops, analysis, and more.","homepage":"https://github.com/daniilnikolaevich/apidog-mcp#readme","keywords":["mcp","apidog","openapi","api-documentation","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/daniilnikolaevich/apidog-mcp.git"},"bugs":{"url":"https://github.com/daniilnikolaevich/apidog-mcp/issues"},"license":"MIT","readme":"# @lstpsche/apidog-mcp\n\nMCP server for managing [Apidog](https://apidog.com) API documentation. Provides 22 tools for importing, exporting, diffing, analyzing, and bulk-editing OpenAPI specs and endpoint cases via the Model Context Protocol.\n\n## Quick Start\n\n```bash\nnpx @lstpsche/apidog-mcp\n```\n\n## Configuration\n\n### Option A: Project-level config file (recommended)\n\nCreate `.apidog.json` in your project root:\n\n```json\n{\n  \"accessToken\": \"adgp_your_token_here\",\n  \"projectId\": \"1234567\",\n  \"modules\": {\n    \"backend\": 1234,\n    \"payments\": 5678\n  }\n}\n```\n\nAdd `.apidog.json` to your `.gitignore` to keep secrets out of version control.\n\nThen configure your MCP client (e.g. `.cursor/mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"apidog\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@lstpsche/apidog-mcp\"]\n    }\n  }\n}\n```\n\n#### Multi-project config\n\nTo manage multiple Apidog projects from a single config, use the `projects` array:\n\n```json\n{\n  \"accessToken\": \"adgp_your_token_here\",\n  \"projects\": [\n    {\n      \"name\": \"main\",\n      \"projectId\": \"1234567\",\n      \"modules\": {\n        \"backend\": 1234,\n        \"payments\": 5678\n      }\n    },\n    {\n      \"name\": \"staging\",\n      \"projectId\": \"7654321\",\n      \"modules\": {\n        \"default\": 9999\n      }\n    }\n  ]\n}\n```\n\nEach 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.\n\nThe single-project format (with top-level `projectId` and `modules`) is still fully supported and treated as a single project named `\"default\"`.\n\n### Option B: Environment variables\n\nSet these in your shell or CI environment:\n\n| Variable | Description |\n|---|---|\n| `APIDOG_ACCESS_TOKEN` | Apidog personal access token |\n| `APIDOG_PROJECT_ID` | Apidog project ID |\n| `APIDOG_MODULES` | JSON map of module names to IDs (e.g. `{\"api\":123}`) |\n\n```json\n{\n  \"mcpServers\": {\n    \"apidog\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@lstpsche/apidog-mcp\"],\n      \"env\": {\n        \"APIDOG_ACCESS_TOKEN\": \"${APIDOG_ACCESS_TOKEN}\",\n        \"APIDOG_PROJECT_ID\": \"${APIDOG_PROJECT_ID}\",\n        \"APIDOG_MODULES\": \"${APIDOG_MODULES}\"\n      }\n    }\n  }\n}\n```\n\nEnvironment 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.\n\n### Config file resolution\n\nThe server locates `.apidog.json` using the following strategy:\n\n1. **`APIDOG_CONFIG_PATH` env var** — if set, uses this explicit file path\n2. **Upward directory walk** — searches from `process.cwd()` upward through parent directories until `.apidog.json` is found (similar to how Node resolves `package.json`)\n3. **Env-only fallback** — if no file is found, falls back to environment variables\n\nThis 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.\n\n### Resolution order\n\nEnvironment 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.\n\n### Where to find your credentials\n\n- **Access Token**: Apidog > Account Settings > API Access Tokens\n- **Project ID**: Open your project > Settings > Basic Settings\n- **Module IDs**: Each module's settings page within your Apidog project\n\n## Tools (22)\n\nAll 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.\n\n### Read\n\n| Tool | Description |\n|---|---|\n| `apidog_modules` | List configured projects and their modules with names and IDs |\n| `apidog_export` | Export full OpenAPI spec for a module |\n| `apidog_list` | List/search endpoints with filters and pagination |\n| `apidog_get` | Get full details of a single endpoint |\n| `apidog_folders` | Analyze folder structure and counts |\n\n### Write\n\n| Tool | Description |\n|---|---|\n| `apidog_import_openapi` | Import OpenAPI spec (auto-batched for large specs) |\n| `apidog_wipe` | Wipe all endpoints in a module (requires confirm) |\n| `apidog_update` | Update a single endpoint via partial spec import |\n| `apidog_delete` | Delete an endpoint |\n| `apidog_pipeline` | 3-step pipeline: wipe, create cases, overlay spec |\n\n### Cases\n\n| Tool | Description |\n|---|---|\n| `apidog_create_cases` | Create endpoint usage examples (single or batch) |\n\n### Diff & Analysis\n\n| Tool | Description |\n|---|---|\n| `apidog_diff` | Compare Apidog state against a local spec |\n| `apidog_analyze` | Coverage and validation analysis (selectable checks) |\n\n### Schemas\n\n| Tool | Description |\n|---|---|\n| `apidog_list_schemas` | List component schemas with references |\n| `apidog_get_schema` | Get full schema definition |\n| `apidog_update_schema` | Create or update a component schema |\n| `apidog_delete_schema` | Delete a schema (refuses if still referenced) |\n\n### Bulk Operations\n\n| Tool | Description |\n|---|---|\n| `apidog_bulk_update` | Batch update tags, folders, status, summaries |\n\n### Export Formats\n\n| Tool | Description |\n|---|---|\n| `apidog_export_markdown` | Export as Markdown documentation |\n| `apidog_export_curl` | Export as curl command examples |\n| `apidog_export_postman` | Export as Postman Collection v2.1 |\n\n### Testing\n\n| Tool | Description |\n|---|---|\n| `apidog_run_test` | Run test scenarios or folders via Apidog CLI |\n\n## Architecture\n\nA 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\"`).\n\n## Limitations\n\nApidog's public API is limited in scope. The following functionality is **not available** through this MCP server due to missing API support:\n\n| Feature | Reason |\n|---|---|\n| **Direct endpoint CRUD** | No REST API for creating/updating/deleting individual endpoints. Workaround: OpenAPI spec import with matching options. |\n| **Endpoint case CRUD** | No API for creating/editing endpoint cases directly. Workaround: Postman collection import to inject cases. |\n| **Auto-generated \"Success\" case suppression** | `autoGenerateCase: false` is silently ignored by the API. Workaround: auto-generated empty cases are detected and replaced after import. |\n| **Folder/module management** | No API to create, rename, or delete folders or modules. Workaround: `x-apidog-folder` extension in OpenAPI import controls folder placement. |\n| **Test scenario management** | No API to create or edit test scenarios. Only execution of existing scenarios is supported via `apidog-cli`. |\n| **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. |\n| **Environment variables** | No API to manage Apidog environment variables. |\n| **Mock server configuration** | No API to configure or control mock servers. |\n| **Comments and discussions** | No API to read or post comments on endpoints. |\n| **Change history** | No API to access endpoint revision history. |\n\nThese limitations are inherent to the Apidog API as of March 2026. The MCP server implements workarounds where possible (noted above).\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md","_rev":"1-2e0e4328c32fde163fcff9803d95f7ee"}