The Mintlify MCP connector routes your AI agent's tool calls to Mintlify's own MCP server through Scalekit. Each user signs in to Mintlify once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 19 tools.
- Tools
- 19
- What they doRead · write · destructive
- 8 · 7 · 48 read7 write4 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Mintlify MCP connection
In AgentKit > Connections, create a Mintlify MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Mintlify MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'mintlifymcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Mintlify MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'mintlifymcp_diff',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "mintlifymcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Mintlify MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="mintlifymcp_diff",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolmintlifymcp_diffReturn the list of changes between the current session branch and the main branch.Read-onlyDiff
Return the list of changes between the current session branch and the main branch.
Inputs
This tool takes no inputs.
mintlifymcp_get_session_stateReturn the current session state including the active branch name, edited files, and navigation diff.Read-onlyGet Session State
Return the current session state including the active branch name, edited files, and navigation diff.
Inputs
This tool takes no inputs.
mintlifymcp_list_branchesList all git branches available for the current deployment, optionally filtered by a query string.Read-onlyList Branches
List all git branches available for the current deployment, optionally filtered by a query string.
Inputs
querystring- No description.
mintlifymcp_list_deploymentsList the deployments this connection is authorized for, returning each subdomain and name.Read-onlyList Deployments
List the deployments this connection is authorized for, returning each subdomain and name. Use this to discover which subdomain to checkout before editing.
Inputs
This tool takes no inputs.
mintlifymcp_list_nodesList navigation nodes from the current branch tree with optional filters for parent, type, language, version, tab, anchor, or product.Read-onlyList Nodes
List navigation nodes from the current branch tree with optional filters for parent, type, language, version, tab, anchor, or product.
Inputs
anchorstring- No description.
cursorstring- No description.
dropdownstring- No description.
itemstring- No description.
languagestring- No description.
limitinteger- No description.
parentIdstring- No description.
productstring- No description.
recursiveboolean- No description.
tabstring- No description.
typestring- No description.
versionstring- No description.
mintlifymcp_readRead the full MDX content of a single page on the current branch by path, reflecting any in-session edits.Read-onlyRead
Read the full MDX content of a single page on the current branch by path, reflecting any in-session edits.
Inputs
pathstringrequired- No description.
mintlifymcp_searchFind lines matching a substring or regex pattern across all pages on the current branch.Read-onlySearch
Find lines matching a substring or regex pattern across all pages on the current branch.
Inputs
querystringrequired- No description.
caseSensitiveboolean- No description.
limitinteger- No description.
regexboolean- No description.
mintlifymcp_search_code_operationsLexical (BM25) search over the Admin MCP code-mode SDK to find the right SDK method for a task before writing an execute_code script.Read-onlySearch Code Operations
Lexical (BM25) search over the Admin MCP code-mode SDK to find the right SDK method for a task before writing an execute_code script.
Inputs
querystringrequired- No description.
limitinteger- No description.
namespacestring- No description.one of
workflowsdeploymentmembersbillingintegrationsanalytics
mintlifymcp_checkoutBind the current session to a git branch, creating it if it does not exist.WriteCheckout
Bind the current session to a git branch, creating it if it does not exist. Returns the branch name, editor URL, and a toolkit list of recommended tools to use next.
Inputs
branchstring- Specific branch to bind to. If it exists in git the session attaches to it without creating a branch; if not, it is created from `from`. Cannot be the deploy branch. Omit to auto-generate a fresh `admin-mcp/<slug>-<7-char-sha>` branch.
fromstring- Base branch to fork from when creating a new branch. Defaults to the deployment's configured deploy branch (typically `main`). The new branch is created at this branch's latest commit.
slugstring- Human-readable slug used to name an auto-generated branch as `admin-mcp/<slug>-<7-char-base-sha>`. Ignored when `branch` is provided. If omitted and `branch` is also omitted, the branch is auto-named `admin-mcp/<sessionTokenPrefix>` and is not human-recognizable. Use a stable, kebab-case slug (e.g. `add-tips-page`).
mintlifymcp_create_nodeInsert a new node (page, group, tab, anchor, version, language, or product) into the navigation tree under the specified parent.WriteCreate Node
Insert a new node (page, group, tab, anchor, version, language, or product) into the navigation tree under the specified parent.
Inputs
datastringrequired- No description.
parentIdstringrequired- No description.
orderinteger- No description.
mintlifymcp_edit_pageApply a string-replace edit to a page's MDX body content.WriteEdit Page
Apply a string-replace edit to a page's MDX body content. Use update_node to change frontmatter fields such as title or description.
Inputs
newStringstringrequired- No description.
oldStringstringrequired- No description.
pathstringrequired- No description.
replaceAllboolean- No description.
mintlifymcp_move_nodeReposition a navigation node by moving it to a new parent or changing its order among siblings.WriteMove Node
Reposition a navigation node by moving it to a new parent or changing its order among siblings.
- Idempotent
Inputs
nodeIdstringrequired- No description.
orderinteger- No description.
parentIdstring- No description.
mintlifymcp_update_configUpdate top-level docs.json configuration fields or manage redirects.WriteUpdate Config
Update top-level docs.json configuration fields or manage redirects. Use this to change site-level settings such as name, description, or theme.
- Idempotent
Inputs
opstringrequired- No description.one of
add_redirectremove_redirectset docsConfigobject- No description.
redirectobject- No description.
sourcestring- No description.
mintlifymcp_update_nodeUpdate a navigation node's properties in place by node ID, including page frontmatter fields like title, description, icon, or tag.WriteUpdate Node
Update a navigation node's properties in place by node ID, including page frontmatter fields like title, description, icon, or tag.
- Idempotent
Inputs
datastringrequired- No description.
nodeIdstringrequired- No description.
mintlifymcp_write_pageFully overwrite a page's MDX content on the current branch by path.WriteWrite Page
Fully overwrite a page's MDX content on the current branch by path.
- Idempotent
Inputs
contentstringrequired- No description.
pathstringrequired- No description.
mintlifymcp_delete_nodeRemove a node and all its descendants from the navigation tree by node ID, optionally adding a redirect for deleted pages.DestructiveDelete Node
Remove a node and all its descendants from the navigation tree by node ID, optionally adding a redirect for deleted pages.
- Idempotent
Inputs
nodeIdstringrequired- No description.
redirectstring- No description.
mintlifymcp_discard_sessionEnd the current editing session without creating a pull request, discarding all unsaved changes.DestructiveDiscard Session
End the current editing session without creating a pull request, discarding all unsaved changes.
- Idempotent
Inputs
This tool takes no inputs.
mintlifymcp_execute_codeRun TypeScript/JavaScript against the Admin MCP dashboard SDK inside a sandboxed Cloudflare isolate to call workflows, deployment, billing, or analytics APIs.DestructiveExecute Code
Run TypeScript/JavaScript against the Admin MCP dashboard SDK inside a sandboxed Cloudflare isolate to call workflows, deployment, billing, or analytics APIs.
Inputs
codestringrequired- No description.
summarystringrequired- No description.
mintlifymcp_saveFlush branch changes to git by opening a pull request or committing directly, depending on the selected mode.DestructiveSave
Flush branch changes to git by opening a pull request or committing directly, depending on the selected mode.
Inputs
titlestringrequired- No description.
bodystring- No description.
modestring- No description.one of
prcommit
No tools match.