Apidog Sync MCP Server
Click on "Install 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 Sync MCP Serveranalyze my API folder structure"
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 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 |
| Export full OpenAPI spec |
| List endpoints (filterable by tag/path/folder/status) |
| Get full details of a specific endpoint |
| Fuzzy search by keyword across path/summary/tags/folder |
Write
Tool | Description |
| Create or update a single endpoint (with diff + verify) |
| Batch create/update multiple endpoints |
| Remove an endpoint |
| Create or update a component schema |
| Import a full or partial OpenAPI spec |
Organize
Tool | Description |
| Analyze current folder structure and stats |
| Propose better folder organization (dry-run, no changes) |
| 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 Code (per-project) |
|
Claude Desktop |
|
Cursor |
|
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:
Search for the peppol endpoint (
apidog_search_endpoints)Get the current format (
apidog_get_endpoint)Build the updated operation matching the exact existing format
Push the update with diff showing what changed (
apidog_upsert_endpoint)Verify the update landed
Reorganizing folders
"Analyze my API folder structure and suggest a better organization"
The agent will:
Analyze current folders (
apidog_analyze_folders)Propose reorganization (
apidog_propose_reorganization)Present the plan and wait for your approval
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:
Check existing endpoints to learn the format
Build all 3 operations matching the project format
Batch upsert them (
apidog_upsert_endpoints)
Reorganization Strategies
Strategy | Description |
| Infer folders from URL paths: |
| Keep existing top-level folders, reorganize sub-levels |
| 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,deprecatedx-apidog-maintainer— Team member assignmentx-apidog-orders— Field ordering in schema objectsx-apidog-ignore-properties— Hidden propertiesx-apidog-name— Response display namesx-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 installThen 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 toolsapidog_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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly signals a read-only, non-destructive operation through 'Analyze' and 'Returns,' and it indicates the tool produces a snapshot of current structure rather than modifying it. It does not go into auth or rate-limit details, but those are less critical for a simple analysis call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The primary action is front-loaded, return values are itemized, and the usage context is given in a final short directive. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no parameters, no annotations, and no output schema, the description is remarkably complete: it states the resource analyzed, the specific outputs returned, and the recommended usage context. An agent can select and invoke this tool correctly without further information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema confirms this with an empty properties object. The description does not need to explain parameter meaning; the baseline for a no-parameter tool is appropriately high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Analyze the current folder structure of all endpoints') and explicitly lists the return contents: folder tree, endpoint counts per folder, and unassigned endpoints. It clearly distinguishes itself from siblings like apidog_propose_reorganization by framing this as the analytical precursor rather than the mutation step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit usage guidance: 'Use this as a first step before proposing reorganization.' This tells the agent when to invoke it. It does not explicitly list exclusions or alternatives, but the instruction is sufficiently clear for a zero-parameter analysis tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| changes | Yes | The changes array from the proposal — each entry moves an endpoint to a new folder |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral disclosure burden, but it never explicitly states that applying the plan mutates folders/endpoints, whether the operation is reversible, or what side effects occur. The 'user approved' guardrail is useful but does not disclose the tool's operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first states the action and object, the second gives the critical precondition. The most important constraint is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description plus schema is largely sufficient: it names the source array, the expected shape, and the approval precondition. It could add one sentence about the mutating effect or error behavior, but nothing essential is missing for constructing a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes changes as the proposal array where each entry moves an endpoint. The description's mention of the propose tool adds provenance, but it mostly restates the schema without adding new format, constraints, or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact action ('apply'), the specific resource ('folder reorganization plan'), and distinguishes it from the sibling apidog_propose_reorganization by requiring the plan to be 'previously proposed and user-validated'. This makes the tool's role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear invocation condition: only after the user has explicitly approved the plan, and it points to the source of the changes array from apidog_propose_reorganization. This effectively tells the agent when to use this tool versus merely proposing changes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apidog_delete_endpointA
Remove an endpoint from Apidog. Exports current spec, removes the endpoint, and re-imports. All other endpoints remain untouched.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| method | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description reveals a non-obvious implementation detail: deletion happens by exporting the spec, removing the endpoint, and re-importing. It also guarantees other endpoints are unaffected. However, it doesn't mention irreversibility or potential side effects on related schemas or responses.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the core action and then add the important side-effect detail. Exactly a concise, well-structured definition with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with no annotations, the description covers the core mechanism and the all-else-unchanged guarantee, but it omits parameter semantics, irreversibility, and what happens if the endpoint doesn't exist. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not explain that method and path identify the endpoint to remove. While the parameter names and enum make their role inferable, the description adds no meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific verb 'Remove' and resource 'endpoint from Apidog'. The phrase 'All other endpoints remain untouched' clarifies scope and distinguishes it from bulk reorganization tools. The operation is unambiguous even without reading sibling definitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when an endpoint needs to be deleted, and the 'all other endpoints remain untouched' caveat sets an expectation, but it never explicitly states when to choose this over upsert or export/import alternatives. No explicit when-not-to-use or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| oasVersion | No | OpenAPI version | 3.1 |
| includeExtensions | No | Include x-apidog-* extensions |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavior disclosure. 'Export' and 'understand the current documentation state' imply a non-mutating read operation, and the description provides useful content-level detail. It does not go further to describe output size, format, or explicit confirmation of no side effects, but for a read-only export this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The first sentence states the action and content scope; the second gives direct usage guidance. Every word earns its place .
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two - parameter, fully - described export tool with no output schema, the description is complete.It states what is returned (full OpenAPI spec with specifics), and when to call it (before changes). An agent has enough to select and invoke it correctly .
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters, so the baseline is 3. The description adds only implicit context by naming specific x-apidog extensions, which aligns with includeExtensions but does not meaningfully expand on the schema's own 'Include x-apidog-* extensions' description .
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Export'), identifies the resource ('full OpenAPI spec from Apidog'), and enumerates the contents (endpoints, schemas, tags, x-apidog-* extensions). It clearly differentiates from siblings like apidog_list_endpoints, apidog_import_spec, and apidog_get_endpoint by describing a complete export rather than a subset or an import.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: 'Use this to understand the current documentation state before making changes.' This implies a read-before-write workflow and helps an agent choose it ahead of reorganization or upsert tools. However, it does not explicitly name alternative tools or conditions when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Endpoint path, e.g. /api/v1/users/{id} | |
| method | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It discloses what the tool returns ('complete operation object including parameters, request body, responses, examples, and all Apidog extensions') and the additional behavior of returning referenced component schemas. The read-only nature is implied by 'Get' and no side effects are hinted at, which is acceptable for a retrieval operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no filler. The core purpose is front-loaded, return contents are summarized in one sentence, and the workflow guidance is kept separate. It is slightly longer than strictly minimal, but every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter retrieval tool with no output schema, the description gives sufficient context: what the endpoint is, what the payload includes, and when to use it. The absence of an output schema is partially compensated by enumerating the returned content categories.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters well: 'path' has an explanatory description with an example, and 'method' has a full enum of allowed values. The tool description adds no extra semantic meaning to the parameters themselves, so a baseline score of 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Get full details') and the resource ('specific endpoint by method and path'), making the tool's purpose distinct from listing or searching endpoints. It does not explicitly name sibling alternatives, but the 'specific endpoint' phrasing plus the unique reference to Apidog extensions and component schemas differentiates it well enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The explicit instruction 'ALWAYS use this before updating an endpoint to understand the existing format' provides clear context for when this tool should be invoked. It doesn't mention when not to use it or explicitly name alternatives, but the 'before updating' workflow guidance is actionable and useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| spec | Yes | OpenAPI 3.x spec object | |
| mergeWithExisting | No | Merge with current spec (true) or replace (false) | |
| overwriteBehavior | No | OVERWRITE_EXISTING |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It adds a genuinely non-obvious behavior not present in the schema: "exports current spec first and merges." However, it remains silent on the destructive replace mode (mergeWithExisting=false), the runtime meaning of overwriteBehavior, and validation/error behavior for partial specs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each carrying distinct weight: core action, key merge behavior, then usage guidance. Zero filler, and the scoping constraint is front-loaded in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-param tool with a nested object, an uninterpreted enum, and no output schema, the description covers purpose and merge semantics but leaves overwriteBehavior's three opaque enum values unexplained and gives no indication of what a successful import returns or confirms. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% — spec and mergeWithExisting are already documented there. The description adds one useful nuance (export-before-merge) but does nothing to explain overwriteBehavior, the single parameter lacking a schema description, nor how it interacts with mergeWithExisting. At 67% coverage the description should compensate further than it does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Import a full or partial OpenAPI spec" pairs a specific verb with a specific resource and scope. The usage line ("bulk updates or importing from external sources") implies differentiation from the endpoint-level upsert siblings, though it never names them, so it stops short of the explicit sibling-routing seen in top-tier definitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use for bulk updates or importing from external sources like Scramble" provides clear context for when this tool is the right choice, implicitly contrasting with targeted endpoint upserts. It does not explicitly state when not to use it or name alternative tools, so it earns a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| filterTag | No | Filter by tag name | |
| filterPath | No | Filter by path substring | |
| filterFolder | No | Filter by folder (substring match) | |
| filterStatus | No | Filter by status (e.g. released, deprecated) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses what the tool returns (method, path, summary, tags, folder, status, maintainer) and that it is filterable, which is meaningful. It does not mention pagination, sorting, or read-only status, but 'List' strongly implies a non-mutating operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The primary action is front-loaded, followed by return fields and filter options. Every sentence contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with four optional parameters and no output schema, the description provides enough context: what it lists, what it returns, and how to filter. It omits potential pagination or limit behavior, but the core calling scenario is adequately covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all four filter parameters. The description's filter list mostly restates the schema and adds no new parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action and resource: 'List all API endpoints,' and enumerates the returned fields. However, it does not explicitly differentiate this tool from sibling apidog_search_endpoints, which likely overlaps in functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly signals this is the tool for retrieving a broad list of endpoints, optionally narrowed by filters. It does not explicitly state when to use apidog_search_endpoints or apidog_get_endpoint instead, but the listing intent is clear enough for basic selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| maxDepth | No | Maximum folder depth | |
| strategy | No | Organization strategy | path-based |
| customMappings | No | Manual overrides: { "/api/v1/admin": "Administration", "/auth": "Authentication" } | |
| groupByVersion | No | Group by API version (v1/, v2/) | |
| stripApiPrefix | No | Remove /api prefix from folder names |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly states that nothing is applied yet, that this is a DRY-RUN plan, and that user validation is mandatory before applying. These are the key non-destructive behavioral traits an agent needs to know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The most important behavior is front-loaded, and the strategy details are organized as clear bullets. The only minor issue is a slight repetition of the confirmation requirement:“user MUST validate before calling apply” and “ALWAYS present the plan... before applying” say largely the same thing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter tool with no annotations and no output schema, the description covers the core behavior, strategies, custom mappings, and required user confirmation workflow. It could more concretely describe the returned plan's structure, but an agent still has enough to invoke it correctly and safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all 5 parameters at 100% coverage, so the baseline is 3. The description adds meaningful semantics by explaining the three strategy options with examples and clarifying that custom Mapping can override path prefixes. That extra context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: "Propose a better folder organization for all endpoints." It immediately clarifies the dry-run nature and explicitly names the paired apply tool, so an agent can distinguish this from apidog_apply_reorganization and other sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says the user MUST validate the plan before calling apidog_apply_reorganization and ALWAYS present the plan and ask for confirmation. This gives clear usage context and the required workflow. It doesn't explicitly contrast with sibling tools like analyze_folders, but the dry-run-to-apply flow is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword (searches path, summary, description, tags, folder) | |
| method | No | Optional: filter by HTTP method |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the search scope, that results are ranked by relevance, and that a keyword rather than an exact path is needed. Missing result format and pagination details, but this is a read-oriented search and the disclosed behavior is relevant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences front-load the operation before adding a practical example. Every sentence earns its place and no filler remains.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter search tool with full schema descriptions, the main missing piece is output shape/pagination, but no output schema exists to carry that. The description gives enough context for an agent to decide to call it and pass a query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description partially restates the query parameter's scope but adds no format, syntax, or method-filter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Search endpoints') and lists the exact searchable fields (path, summary, description, tags, folder). It also distinguishes the tool's purpose from a plain list/get by framing it as fuzzy location when the exact path is unknown.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger condition ('Use this when you are not sure of the exact path') with a concrete example. It doesn't explicitly name sibling alternatives or say when not to use it, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apidog_upsert_endpointA
Create or update a single API endpoint. This is the primary write tool.
WORKFLOW (validated in POC):
Exports current spec to preserve existing format
Finds the target endpoint — reports if it exists (UPDATE) or not (CREATE)
Computes a diff showing exactly what changed
Merges the endpoint into the full spec
Imports back to Apidog with OVERWRITE_EXISTING
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Endpoint path | |
| method | Yes | ||
| operation | Yes | Full OpenAPI operation object. Must include: summary, description, tags, parameters, requestBody (if applicable), responses, security, x-apidog-folder, x-apidog-status. Match the exact format of existing endpoints. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so thoroughly. It discloses a 6-step workflow, the overwrite/import behavior (OVERWRITE_EXISTING), diff computation, and post-write verification, so the agent can anticipate side effects and confirmation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary purpose, then organized into a concise numbered workflow and an explicit IMPORTANT note. Despite being longer than a one-liner, every part earns its place given the complexity of the operation object format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the complete invocation workflow, prerequisites, and format requirements, which is more than sufficient for selecting and calling the tool. It does not describe the return value shape, but with no output schema this is a minor gap and the 'verifies' step hints at post-condition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description enriches the operation parameter with important format constraints (x-apidog-* extensions, x-apidog-orders, x-apidog-ignore-properties) that the schema only partially covers. Path and method are self-explanatory, and the description does not need to restate them; it also instructs using get_endpoint as a format template.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence uses a specific verb+resource: 'Create or update a single API endpoint', and 'single' clearly distinguishes it from the sibling apidog_upsert_endpoints (bulk). The workflow reinforces that this is a targeted write operation, making the tool's scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear prerequisite: always call apidog_get_endpoint first on a similar endpoint to learn the project's exact format. It does not explicitly contrast with apidog_upsert_endpoints or state when not to use it, but the 'single endpoint' framing supplies enough situational context for an agent to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| endpoints | Yes | Array of endpoints to upsert |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It discloses that the operation is a batch upsert and lists per-entry requirements, but it doesn't explain atomicity, partial failure behavior, overwrite semantics, response format, or how duplicates are resolved. This is adequate but leaves meaningful operational gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no redundancy, front-loaded with the core purpose. The efficiency note and input-requirements sentence each earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch mutation tool with no annotations and no output schema, the description should ideally describe what the call returns, whether the batch is all-or-nothing, and what identifies an existing endpoint for update. It covers the input contract but leaves those operational consequences unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds value by specifying that each entry requires method, path, and 'the full operation object,' which clarifies the intended niche of the operation parameter. This goes beyond the schema's bare property names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (create or update), a resource (multiple endpoints), and a distinct execution mode (batch in a single import). It explicitly contrasts with apidog_upsert_endpoint, so an agent can immediately distinguish it from the singular sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to prefer this tool: for batch processing of multiples endpoints, and it explicitly notes efficiency over calling apidog_upsert_endpoint multiple times. It doesn't mention exclusions or alternatives like apidog_import_spec, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Schema name, e.g. "User", "Invoice" | |
| schema | Yes | JSON Schema object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose useful behavior: the schema is merged into components/schemas and the operation is an upsert. It does not mention auth, return format, or error conditions, but it goes beyond a bare operation name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. The operation and merge destination are front-loaded, and the $ref note adds practical guidance without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with no output schema and full schema coverage, the description is nearly complete: it states what the tool does, where the schema goes, and how it connects to endpoints. Missing response/error behavior is a minor gap given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both parameters. The description adds context about merging into components/schemas and using $ref, but it does not add new per-parameter semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create or update') and a clear resource ('component schema (data model)'), and it explains the schema is merged into components/schemas. This makes it easy to distinguish from the sibling endpoint tools like apidog_upsert_endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the primary use case: defining reusable component schemas and referencing them via $ref from endpoints. However, it does not explicitly name alternatives or state when not to use this tool, so the usage guidance remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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.
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.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for opencode documentation, generated by doc2mcp.
MCP server for AI access to Swagger by SmartBear.
MCP server for agentverse documentation, generated by doc2mcp.
MCP server for stocksense-ai documentation, generated by doc2mcp.
Related MCP Servers
- AlicenseCqualityCmaintenanceAn MCP server that integrates Apifox API documentation with AI assistants, allowing AI to extract and understand API information from Apifox projects.231ISC
- AlicenseAqualityDmaintenanceMCP server for managing Apidog test cases, scenarios, suites, and test data, providing full read/write access to Apidog's test management features.30721MIT
- FlicenseCqualityCmaintenanceAn MCP server for Apidog that enables listing projects, inspecting API trees, creating modules and folders, and adding or updating requests without manual configuration.36171
- AlicenseBqualityCmaintenanceMCP server for executing MySQL SQL, managing Apifox API documentation, and parsing/executing curl commands.623ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/akhelij/apidog-sync-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server