Skip to main content
Glama
Apidog Sync MCP Server
by akhelij

Apidog Sync - MCP Server

MCP server for reading, writing, and organizing API documentation in Apidog. Works across Claude Desktop, Claude CLI, Cursor, and Antigravity.

Built on a validated POC: Export → Find → Diff → Merge → Import → Verify.

Tools

Read

Tool

Description

apidog_export_spec

Export full OpenAPI spec

apidog_list_endpoints

List endpoints (filterable by tag/path/folder/status)

apidog_get_endpoint

Get full details of a specific endpoint

apidog_search_endpoints

Fuzzy search by keyword across path/summary/tags/folder

Write

Tool

Description

apidog_upsert_endpoint

Create or update a single endpoint (with diff + verify)

apidog_upsert_endpoints

Batch create/update multiple endpoints

apidog_delete_endpoint

Remove an endpoint

apidog_upsert_schema

Create or update a component schema

apidog_import_spec

Import a full or partial OpenAPI spec

Organize

Tool

Description

apidog_analyze_folders

Analyze current folder structure and stats

apidog_propose_reorganization

Propose better folder organization (dry-run, no changes)

apidog_apply_reorganization

Apply a user-validated reorganization plan

Related MCP server: apidog-tests-mcp

Quick Start

1. Get your Apidog credentials

  • Access Token: Apidog → Account Settings → API Access Token → New

  • Project ID: Found in your project URL or project settings

2. Add to your MCP client

No installation needed — just add this config block:

{
  "mcpServers": {
    "apidog": {
      "command": "npx",
      "args": ["-y", "apidog-sync-mcp-server"],
      "env": {
        "APIDOG_ACCESS_TOKEN": "your-token",
        "APIDOG_PROJECT_ID": "your-project-id"
      }
    }
  }
}

That's it. npx downloads and runs the server automatically.

Where to put this config

Client

Config file

Claude Code (global)

~/.claude.json

Claude Code (per-project)

.mcp.json in project root

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json

Cursor

.cursor/mcp.json

Windsurf

MCP settings panel

Multiple Apidog projects

Use separate entries — each pointing to a different project ID:

{
  "mcpServers": {
    "apidog-frontend": {
      "command": "npx",
      "args": ["-y", "apidog-sync-mcp-server"],
      "env": {
        "APIDOG_ACCESS_TOKEN": "your-token",
        "APIDOG_PROJECT_ID": "frontend-project-id"
      }
    },
    "apidog-backend": {
      "command": "npx",
      "args": ["-y", "apidog-sync-mcp-server"],
      "env": {
        "APIDOG_ACCESS_TOKEN": "your-token",
        "APIDOG_PROJECT_ID": "backend-project-id"
      }
    }
  }
}

Usage Examples

Updating an endpoint after a route change

"I updated the validation rules on the peppol endpoint, the description should say the format must be scheme:identifier with a single colon. Update the docs."

The agent will:

  1. Search for the peppol endpoint (apidog_search_endpoints)

  2. Get the current format (apidog_get_endpoint)

  3. Build the updated operation matching the exact existing format

  4. Push the update with diff showing what changed (apidog_upsert_endpoint)

  5. Verify the update landed

Reorganizing folders

"Analyze my API folder structure and suggest a better organization"

The agent will:

  1. Analyze current folders (apidog_analyze_folders)

  2. Propose reorganization (apidog_propose_reorganization)

  3. Present the plan and wait for your approval

  4. Apply only after you confirm (apidog_apply_reorganization)

Batch updates from route changes

"I added 3 new routes for invoice management: POST /api/v1/invoices, GET /api/v1/invoices/{id}, DELETE /api/v1/invoices/{id}. Add them to the docs."

The agent will:

  1. Check existing endpoints to learn the format

  2. Build all 3 operations matching the project format

  3. Batch upsert them (apidog_upsert_endpoints)

Reorganization Strategies

Strategy

Description

path-based

Infer folders from URL paths: /api/v1/admin/billing/... → Admin/Billing

preserve-top-level

Keep existing top-level folders, reorganize sub-levels

flat

Single level by main resource name

Custom mappings let you override specific prefixes:

{
  "customMappings": {
    "/api/v1/admin": "Administration",
    "/auth": "Authentication",
    "/api/v1/public": "Public API"
  }
}

Apidog Extensions

Fully supports:

  • x-apidog-folder — Folder path: "Safetytracker V1/Super Admin/Billing"

  • x-apidog-status — Lifecycle: designing, developing, released, deprecated

  • x-apidog-maintainer — Team member assignment

  • x-apidog-orders — Field ordering in schema objects

  • x-apidog-ignore-properties — Hidden properties

  • x-apidog-name — Response display names

  • x-apidog-ordering — Response ordering

How Writes Work

Every write operation follows the POC-validated flow:

Export current spec (preserves all formatting)
    ↓
Find target endpoint (exact match or fuzzy search)
    ↓
Compute diff (show what changed)
    ↓
Merge into full spec (deep merge, preserve untouched endpoints)
    ↓
Import with OVERWRITE_EXISTING
    ↓
Verify (re-export and confirm)

No endpoints are lost. No formatting is changed on untouched endpoints.

Development

To run from source (for contributing or local testing):

git clone https://github.com/YOUR_USERNAME/apidog-sync-mcp-server.git
cd apidog-sync-mcp-server
npm install

Then point your MCP config to the local source:

{
  "mcpServers": {
    "apidog": {
      "command": "node",
      "args": ["/path/to/apidog-sync-mcp-server/src/index.js"],
      "env": {
        "APIDOG_ACCESS_TOKEN": "your-token",
        "APIDOG_PROJECT_ID": "your-project-id"
      }
    }
  }
}

License

MIT

Available Tools

12 tools
apidog_analyze_foldersA

Analyze the current folder structure of all endpoints. Returns folder tree, endpoint counts per folder, and endpoints with no folder assigned. Use this as a first step before proposing reorganization.

Inputs: no named parameters.

apidog_apply_reorganizationA

Apply a previously proposed and user-validated folder reorganization plan. Takes the changes array from apidog_propose_reorganization. ONLY call this after the user has explicitly approved the plan.

Inputs: changes (required).

apidog_delete_endpointA

Remove an endpoint from Apidog. Exports current spec, removes the endpoint, and re-imports. All other endpoints remain untouched.

Inputs: path (required), method (required).

apidog_export_specA

Export the full OpenAPI spec from Apidog including all endpoints, schemas, tags, and Apidog extensions (x-apidog-folder, x-apidog-status, x-apidog-maintainer). Use this to understand the current documentation state before making changes.

Inputs: oasVersion, includeExtensions.

apidog_get_endpointA

Get full details of a specific endpoint by method and path. Returns the complete operation object including parameters, request body, responses, examples, and all Apidog extensions. Also returns any referenced component schemas for context. ALWAYS use this before updating an endpoint to understand the existing format.

Inputs: path (required), method (required).

apidog_import_specA

Import a full or partial OpenAPI spec. If mergeWithExisting is true (default), exports current spec first and merges. Use for bulk updates or importing from external sources like Scramble.

Inputs: spec (required), mergeWithExisting, overwriteBehavior.

apidog_list_endpointsA

List all API endpoints. Returns method, path, summary, tags, folder, status, and maintainer for each. Filterable by tag, path substring, folder, or status.

Inputs: filterTag, filterPath, filterFolder, filterStatus.

apidog_propose_reorganizationA

Propose a better folder organization for all endpoints. Returns a DRY-RUN plan showing what would change — nothing is applied yet. The user MUST validate the plan before calling apidog_apply_reorganization.

Strategies:

  • "path-based": Infer folders from URL paths (e.g. /api/v1/admin/billing/... → Admin/Billing)

  • "preserve-top-level": Keep existing top-level folders, reorganize sub-levels from URL paths

  • "flat": Single level based on main resource name

You can also provide customMappings to override specific path prefixes.

ALWAYS present the plan to the user and ask for confirmation before applying.

Inputs: maxDepth, strategy, customMappings, groupByVersion, +1 more.

apidog_search_endpointsA

Search endpoints by keyword across path, summary, description, tags, and folder. Returns matching endpoints ranked by relevance. Use this when you are not sure of the exact path — for example, the user says "the peppol endpoint" and you need to find it.

Inputs: query (required), method.

apidog_upsert_endpointA

Create or update a single API endpoint. This is the primary write tool.

WORKFLOW (validated in POC):

  1. Exports current spec to preserve existing format

  2. Finds the target endpoint — reports if it exists (UPDATE) or not (CREATE)

  3. Computes a diff showing exactly what changed

  4. Merges the endpoint into the full spec

  5. Imports back to Apidog with OVERWRITE_EXISTING

  6. Verifies the update landed correctly

IMPORTANT: The operation object must match the Apidog OpenAPI format including x-apidog-* extensions. Always call apidog_get_endpoint first on a similar endpoint to learn the exact format used in this project.

The operation must include x-apidog-orders and x-apidog-ignore-properties arrays in schema objects to match the existing format. See existing endpoints for reference.

Inputs: path (required), method (required), operation (required).

apidog_upsert_endpointsA

Batch create or update multiple endpoints in a single import. More efficient than calling apidog_upsert_endpoint multiple times. Each entry needs method, path, and the full operation object.

Inputs: endpoints (required).

apidog_upsert_schemaA

Create or update a component schema (data model) in Apidog. The schema is merged into components/schemas. Use $ref to reference from endpoints.

Inputs: name (required), schema (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 12 tools

    Disambiguation5/5

    Each tool targets a clear, distinct operation: list/get/search endpoints, singular/batch upserts, delete, schema upsert, spec import/export, and folder analysis/propose/apply. Overlapping names like upsert_endpoint vs upsert_endpoints are differentiated by singular vs batch semantics and explicit descriptions.

    Naming Consistency5/5

    All tools follow a consistent apidog_verb_noun pattern using snake_case, with verbs like list, get, search, upsert, delete, import, export, propose, apply, and analyze. This makes the tool surface highly predictable.

    Tool Count5/5

    12 tools is well-scoped for an Apidog sync server. Each tool covers a meaningful operation without redundancy, and the count fits comfortably within the ideal range for a domain-specific integration.

    Completeness4/5

    The endpoint and folder reorganization lifecycles are well covered: export, list/get/search, create/update/delete, batch upsert, import, and analyze/propose/apply. Minor gaps remain around schema operations, such as no direct schema listing or deletion, though these can be worked around via spec export/import.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      D
      maintenance
      An MCP server that integrates Apifox API documentation with AI assistants, allowing AI to extract and understand API information from Apifox projects.
      2
      46 npm
      ISC
    • A
      license
      A
      quality
      D
      maintenance
      MCP server for managing Apidog test cases, scenarios, suites, and test data, providing full read/write access to Apidog's test management features.
      30
      70 npm
      1
      MIT
    • F
      license
      C
      quality
      D
      maintenance
      An MCP server for Apidog that enables listing projects, inspecting API trees, creating modules and folders, and adding or updating requests without manual configuration.
      36
      12 npm
      2
      -
    • A
      license
      B
      quality
      C
      maintenance
      MCP server for executing MySQL SQL, managing Apifox API documentation, and parsing/executing curl commands.
      6
      32 npm
      ISC