Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion agent/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Contact Mintlify about the deployment that you want to enable static agent egres

## Use AI tools alongside the agent

The agent works asynchronously through pull requests, but you can also use AI coding tools like Cursor or Claude Code locally for fast, iterative edits. Install the Mintlify [skill](/ai/skillmd) and connect the [MCP server](/ai/model-context-protocol) so your editor has the same context the agent uses.
The agent works asynchronously through pull requests, but you can also use AI coding tools like Cursor or Claude Code locally for fast, iterative edits. Install the Mintlify [skill](/ai/skillmd) and connect the [Model Context Protocol (MCP) server](/ai/model-context-protocol) so your editor has the same context the agent uses.

To let an external agent edit your content directly through MCP tool calls, connect it to the [Mintlify MCP server](/ai/mintlify-mcp).

Expand Down
2 changes: 1 addition & 1 deletion ai-native.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Mintlify hosts `llms.txt` and `skill.md` files for your documentation. These ind
```
</Tip>

Your documentation site also hosts an MCP server that lets users connect your documentation directly to their AI tools for up-to-date information about your product directly where they want it.
Your documentation site also hosts a Model Context Protocol (MCP) server that lets users connect your documentation directly to their AI tools for up-to-date information about your product directly where they want it.

For implementation questions that span multiple products or require web search, [Mintlify Index](/search-index) gives coding agents one MCP server and REST API for retrieving context from publisher-maintained documentation and the web.

Expand Down
2 changes: 1 addition & 1 deletion ai/contextual-menu.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import IconsRequired from "/snippets/icons-required.mdx";
The contextual menu provides quick access to AI-optimized content and direct integrations with popular AI tools. When users click the contextual menu on any page, they can copy content as context for AI tools or open it in an AI conversation. Supported tools include ChatGPT, Claude, Perplexity, Google AI Studio, Grok, Devin, Devin Desktop, and any custom tool you configure.

<Tip>
Pair the contextual menu with your hosted [`skill.md`](/ai/skillmd) file and [MCP server](/ai/model-context-protocol). This lets users install your product's full capabilities into their AI tools, not just the page they are reading.
Pair the contextual menu with your hosted [`skill.md`](/ai/skillmd) file and [Model Context Protocol (MCP) server](/ai/model-context-protocol). This lets users install your product's full capabilities into their AI tools, not just the page they are reading.
</Tip>

## Menu options
Expand Down
2 changes: 1 addition & 1 deletion ai/mintlify-mcp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ keywords: ["MCP", "write access", "AI", "editing", "Claude", "ChatGPT", "Cursor"

## About the admin MCP

The admin MCP server gives AI tools write access to your Mintlify content and settings. Use it to update content and access your dashboard. With the admin MCP, you can use your preferred AI tools to edit pages, restructure navigation, update `docs.json`, open pull requests, change settings, create workflows, and more.
The admin Model Context Protocol (MCP) server gives AI tools write access to your Mintlify content and settings. Use it to update content and access your dashboard. With the admin MCP, you can use your preferred AI tools to edit pages, restructure navigation, update `docs.json`, open pull requests, change settings, create workflows, and more.

Connect any MCP client like Claude, Claude Code, ChatGPT, or Cursor to the admin MCP server to collaborate on your Mintlify content and settings with the same tools you use to write code. When you use the admin MCP server, all changes happen on a branch and require a pull request to merge. If your organization has multiple deployments, a single admin MCP connection can access and switch between all of them.

Expand Down
2 changes: 1 addition & 1 deletion ai/model-context-protocol.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@

- **Direct source access**: Web search depends on what search engines have indexed, which may be stale or incomplete. The search MCP searches your current indexed content directly.
- **Integrated workflow**: MCP allows the AI to search during response generation rather than performing a separate web search.
- **No search noise**: SEO and ranking algorithms influence web search results. MCP goes straight to your content.
- **No search noise**: Search Engine Optimization (SEO) and ranking algorithms influence web search results. MCP goes straight to your content.

## Access your search MCP server

Expand Down Expand Up @@ -583,7 +583,7 @@

<PreviewButton href="https://vscode.dev/redirect/mcp/install?name=mintlify&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmintlify.com%2Fdocs%2Fmcp%22%7D">Install in VS Code</PreviewButton>

To connect the Mintlify MCP server to VS Code, click the **Install in VS Code** button. Or to manually connect the MCP server, create a `.vscode/mcp.json` file and add:

Check warning on line 586 in ai/model-context-protocol.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

ai/model-context-protocol.mdx#L586

Use 'VSCode' instead of 'vscode'.

```json
{
Expand Down
8 changes: 4 additions & 4 deletions api/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@

## Authentication

Generate API keys on the [API keys page](https://app.mintlify.com/settings/organization/api-keys) in your dashboard. Admin and Index API keys belong to an organization-you can use the same keys across multiple deployments withing the same organization. Assistant API keys belong to the deployment where you create them.
Generate API keys on the [API keys page](https://app.mintlify.com/settings/organization/api-keys) in your dashboard. Admin and Index API keys belong to an organization. You can use the same keys across multiple deployments within the same organization. Assistant API keys belong to the deployment where you create them.

You can create up to 10 API keys per hour per organization.

Expand Down Expand Up @@ -113,18 +113,18 @@

### Restrict keys by IP address

Optionally restrict an API key to a list of allowed IP addresses or CIDR ranges. When a key has an allowlist, requests from any other IP address return a `403` response. Admin, assistant, and Index API keys support allowlists.
Optionally restrict an API key to a list of allowed IP addresses or Classless Inter-Domain Routing (CIDR) ranges. When a key has an allowlist, requests from any other IP address return a `403` response. Admin, assistant, and Index API keys support allowlists.

Set the allowlist when you create a key on the [API keys page](https://app.mintlify.com/settings/organization/api-keys) in your dashboard. You set the allowlist for the lifetime of the key when you create it. To change the allowlist, you must create a new key. If you don't set an allowlist, the key accepts requests from any IP address.

Allowlist entries support:

Check warning on line 120 in api/introduction.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

api/introduction.mdx#L120

Use 'allowlists?' instead of 'Allowlist'.

- IPv4 and IPv6 addresses, for example `203.0.113.5` or `2001:db8::1`.
- CIDR ranges, for example `198.51.100.0/24` or `2001:db8::/48`.

You cannot use catch-all entries like `0.0.0.0/0` and `::/0`.

Use IP allowlists when a stable set of egress IPs call your API key. For example, a CI/CD runner, a static NAT gateway, or your backend server. Avoid allowlists for keys used from developer laptops or other environments with changing IPs.
Use IP allowlists when a stable set of egress IPs call your API key. For example, a CI/CD runner, a static Network Address Translation (NAT) gateway, or your backend server. Avoid allowlists for keys used from developer laptops or other environments with changing IPs.

### Restrict admin keys by scope

Expand All @@ -151,4 +151,4 @@

The expiration must be a future ISO 8601 timestamp. Past or invalid timestamps return a `400` response at key creation. The expiration returns as `expiresAt` when you list keys, or `null` for keys with no expiration.

Use expirations for short-lived credentials, such as CI/CD tokens, external contractors, or one-off scripts. Rotate long-lived keys by creating a replacement, updating your integrations, and deleting the old key.
Use expiration dates for short-lived credentials, such as CI/CD tokens, external contractors, or one-off scripts. Rotate long-lived keys by creating a replacement, updating your integrations, and deleting the old key.
4 changes: 2 additions & 2 deletions api/search-index/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Use the Mintlify Index REST API to retrieve technical knowledge for applications
- [`contents`](/api/search-index/contents) retrieves content for selected Mintlify result IDs or result URLs.

<Info>
The REST API requires an API key for your organization. The public [Index MCP server](/search-index/mcp) does not require an API key.
The REST API requires an API key for your organization. The public [Index server](/search-index/mcp), which uses the Model Context Protocol (MCP), does not require an API key.
</Info>

## Base URL
Expand Down Expand Up @@ -80,7 +80,7 @@ REST API limits apply per Mintlify organization. All API keys in an organization
| Per second | 10 requests |
| Per day | 1,000 requests |

Requests exceeding either limit return `429 Too Many Requests`. Use exponential backoff before retrying.
Requests exceeding either limit return `429 Too Many Requests`. Wait increasingly longer between retries.

## Errors

Expand Down
2 changes: 1 addition & 1 deletion api/static-export/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ keywords: ["static export", "static site", "bundle", "self-host", "enterprise"]
Static export is in private beta and requires an enterprise agreement. Please contact [sales@mintlify.com](mailto:sales@mintlify.com) to inquire further.
</Info>

Use the static export API to programmatically pre-render your site into a self-contained set of static files and download the result as a single bundle. The exported bundle is pure HTML, CSS, and JavaScript with no runtime dependencies, so you can host it on any static file storage or CDN.
Use the static export API to programmatically pre-render your site into a self-contained set of static files and download the result as a single bundle. The exported bundle is pure HTML, CSS, and JavaScript with no runtime dependencies, so you can host it on any static file storage or a Content Delivery Network (CDN).

## How static export works

Expand Down
4 changes: 2 additions & 2 deletions assistant/configure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@

When you enable deflection and the assistant detects a matching question, an in-chat contact form appears. The form asks for the user's first name, last name, company, company email, and a message. Mintlify emails the submission to the appropriate team, which can respond directly to the user's email.

The same contact form is available in the [assistant widget](/assistant/widget) embedded on other sites. No extra widget configuration is required.
The same contact form is available in the [assistant widget](/assistant/widget) embedded on other sites. You don't need extra widget configuration.

<Tip>
If you prefer to route support questions to your existing support channels instead, disable the **Contact form** in the Response handling section.

When you disable the contact form, the assistant directs users to your support email address in plain text instead of showing the in-chat form. Sales questions still use the in-chat form when a sales email is configured.
When you disable the contact form, the assistant directs users to your support email address in plain text instead of showing the in-chat form. Sales questions still use the in-chat form when you configure a sales email.
</Tip>

## Search domains
Expand Down Expand Up @@ -99,7 +99,7 @@

### Allow overages

Credits are shared across your organization, but overages are configured per deployment. Mintlify disables overages by default. When overages are off for a deployment, the assistant on that deployment becomes unavailable once your organization's shared credit balance is spent, and stays unavailable until the balance resets.

Check warning on line 102 in assistant/configure.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

assistant/configure.mdx#L102

In general, use active voice instead of passive voice ('are shared').

Check warning on line 102 in assistant/configure.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

assistant/configure.mdx#L102

In general, use active voice instead of passive voice ('are configured').

Check warning on line 102 in assistant/configure.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

assistant/configure.mdx#L102

In general, use active voice instead of passive voice ('is spent').

To allow overages, enable them in the **Spending controls** section of the [Usage](https://app.mintlify.com/settings/organization/usage) page of your dashboard. If you enable overages, each credit spent beyond the shared balance incurs an overage charge.

Expand Down
6 changes: 3 additions & 3 deletions assistant/widget.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

export const WidgetCodeBlock = ({ children, ...props }) => (
<CodeBlock {...props}>{children}</CodeBlock>
);
)

The [assistant](/assistant) answers questions on your Mintlify site. To embed the same capability on another site or web app, use the widget. With the widget, you can give your users access to AI chat trained on your content in your product dashboard, marketing site, support portal, or elsewhere.

Expand Down Expand Up @@ -172,7 +172,7 @@
| `id` | string | Public widget ID from the Mintlify dashboard. |
| `endpoint` | string | Overrides the hosted widget API endpoint. |
| `identity` | string | Signed end-user identity token. Omit for anonymous visitors. |
| `nonce` | string | CSP nonce copied to resources created by the widget. |
| `nonce` | string | Content Security Policy (CSP) nonce copied to resources created by the widget. |
| `defaultOpen` | boolean | Opens the widget on its first initialization. The default is `false`. |
| `appearance` | [`AssistantAppearance`](#assistantappearance) | Visual and presentation overrides. |
| `labels` | [`AssistantLabels`](#assistantlabels) | Customer-facing text overrides. |
Expand Down Expand Up @@ -279,7 +279,7 @@

Conversation snapshots remain private to the widget. Each method resolves to `void`.

## Content Security Policy

Check warning on line 282 in assistant/widget.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

assistant/widget.mdx#L282

'Content Security Policy' should use sentence-style capitalization.

If your site uses a Content Security Policy, allow the origins required by your enabled widget features:

Expand All @@ -290,10 +290,10 @@
| `connect-src` | `https://api.mintlify.com` | Configuration, messages, and feedback |
| `connect-src` | `https://ph.mintlify.com` | Internal widget analytics |
| `font-src` | `https://widget.mintlify.com` | Optional bundled Inter font |
| `script-src`, `connect-src`, and `frame-src` | `https://challenges.cloudflare.com` | Turnstile bot protection |

Check warning on line 293 in assistant/widget.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

assistant/widget.mdx#L293

Use 'Cloudflare' instead of 'cloudflare'.
| `script-src` | `https://js.hcaptcha.com` | hCaptcha bot protection |

Check warning on line 294 in assistant/widget.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

assistant/widget.mdx#L294

Use 'hCaptcha' instead of 'hcaptcha'.
| `connect-src` and `frame-src` | `https://*.hcaptcha.com` | hCaptcha bot protection |

Check warning on line 295 in assistant/widget.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

assistant/widget.mdx#L295

Use 'hCaptcha' instead of 'hcaptcha'.

A strict `script-src` policy must still authorize both the loader and initialization script. A strict `style-src` policy must authorize the nonce you pass to `init()`, which the widget copies to its injected stylesheet. Passing `nonce` to `init()` propagates it only to resources the widget creates after initialization.
A strict `script-src` policy must still authorize both the loader and initialization script. A strict `style-src` policy must authorize the nonce you pass to `init()`, which the widget copies to its injected style sheet. Passing `nonce` to `init()` propagates it only to resources the widget creates after initialization.

</AssistantWidgetPlayground>
4 changes: 2 additions & 2 deletions automations/manage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,9 @@ Each automation keeps a log of past runs, including the status and a summary of

Each run shows one of the following statuses:

- **Review needed**: The agent finished the run, but the changes must be reviewed and merged by someone on your team.
- **Review needed**: The agent finished the run, but someone on your team must review and merge the changes.
- **Running**: The agent is actively working on the automation job.
- **Accepted**: The agent finished the run and the changes merged into your repository.
- **Accepted**: The agent finished the run, and the changes are now in your repository.
- **Closed**: The agent finished the run, but someone rejected the changes.
- **Failed**: The agent could not complete the run. Failed runs do not count toward your daily run limit.
- **No action needed**: The agent finished the run but did not find anything to update.
Expand Down
10 changes: 5 additions & 5 deletions cli/commands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -126,15 +126,15 @@

The command uses your configured subdomain from `mint config`. If you do not have a configured subdomain, it uses the first subdomain on your account.

After registering the domain, the CLI waits up to 10 seconds for DNS records to generate, then prints the `TXT` and `CNAME` records to add at your domain provider:
After registering the domain, the CLI waits up to 10 seconds for Domain Name System (DNS) records to generate, then prints the `TXT` and `CNAME` records to add at your domain provider:

```text
TXT _acme-challenge → <value>
TXT _cf-custom-hostname → <value>
CNAME @ → cname.mintlify.builders
```

Add the `TXT` records first, then add the `CNAME` once the verification records validate. See [Custom domain](/customize/custom-domain) for full DNS setup instructions, apex domain requirements, and TLS provisioning details.
Add the `TXT` records first, then add the `CNAME` once the verification records validate. See [Custom domain](/customize/custom-domain) for full DNS setup instructions, apex domain requirements, and Transport Layer Security (TLS) provisioning details.

<Note>
If some `TXT` records are still generating when the command exits, check the [Custom domain setup](https://app.mintlify.com/settings/deployment/custom-domain) page in your dashboard for the remaining values.
Expand Down Expand Up @@ -298,7 +298,7 @@
| `--check-redirects` | Also check that redirect destinations in `docs.json` resolve to valid paths. |
| `--check-snippets` | Also check links inside `<Snippet>` components. |

Pass `--files` to limit the check to specific pages. This is useful for validating a single page you just edited or scoping checks to a directory in CI. When `--files` is set with `--check-external`, only external URLs on the selected pages are fetched.

Check warning on line 301 in cli/commands.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

cli/commands.mdx#L301

In general, use active voice instead of passive voice ('are fetched').

```bash
# Check a specific page
Expand Down Expand Up @@ -415,7 +415,7 @@
| `skillMd` | Agents can reach a [skill.md](https://www.mintlify.com/docs/ai/skillmd) file for agent tool use. |
| `contentNegotiationMarkdown` | The site returns Markdown when agents request it through content negotiation. |
| `contentNegotiationPlaintext` | The site returns plain text when agents request it through content negotiation. |
| `mcpServerDiscoverable` | Agents can discover an [MCP server](/ai/model-context-protocol) for tool-based agents. |
| `mcpServerDiscoverable` | Agents can discover a [Model Context Protocol (MCP) server](/ai/model-context-protocol) for tool-based agents. |
| `mcpToolCount` | The MCP server exposes at least one tool. |
| `openApiSpec` | There is an available OpenAPI or Swagger specification at a standard path. |
| `robotsTxtAllowsAI` | The `robots.txt` file does not block AI crawlers. |
Expand Down Expand Up @@ -472,19 +472,19 @@

## `mint format`

Format every `.mdx` file in the current directory to Mintlify's canonical style. The command parses each file with the same MDX parser the web editor uses, then rewrites it in place if the canonical output differs.
Format every Markdown JSX (`.mdx`) file in the current directory to Mintlify's canonical style. The command parses each file with the same MDX parser the web editor uses, then rewrites it in place if the canonical output differs.

```bash
mint format
```

Run the command from the root of your docs project. It walks every subdirectory, skipping paths matched by `.gitignore` and any Mintlify ignore rules. Files that already match the canonical output are left untouched.

Check warning on line 481 in cli/commands.mdx

View check run for this annotation

Mintlify / Mintlify Validation (mintlify) - vale-spellcheck

cli/commands.mdx#L481

In general, use active voice instead of passive voice ('are left').

<Warning>
`mint format` rewrites files in place. Commit or stash your changes before running it so you can review the diff.
</Warning>

When it finishes, the command prints how many MDX files were reformatted and how many failed to parse. If any file fails, the command exits with code `1` and prints the file path and error, so you can run it in CI to enforce consistent formatting.
When it finishes, the command prints the number of MDX files it reformatted and the number that failed to parse. If any file fails, the command exits with code `1` and prints the file path and error, so you can run it in CI to enforce consistent formatting.

---

Expand Down
4 changes: 2 additions & 2 deletions cli/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ Run `mint score` to evaluate how well agents can navigate a documentation site.
### Detect AI-sounding prose
Run `mint deslop` to check pages for AI-generated prose and get human-style rewrite suggestions. With no arguments, the command checks the pages you have changed. It flags the specific passages that read as AI-generated so you can revise them.

### Format MDX files
### Format Markdown (MDX) files
Run `mint format` to rewrite the MDX files in your project to Mintlify's canonical style. The command walks every subdirectory and reformats files in place.

### Manage configuration
Run `mint config` to set persistent defaults like your documentation subdomain.

<Tip>
Working on your docs locally with an AI coding tool? Install the Mintlify [skill](/ai/skillmd) and [MCP server](/ai/model-context-protocol) so your editor has the context it needs to write Mintlify-aware content.
Working on your docs locally with an AI coding tool? Install the Mintlify [skill](/ai/skillmd) and [Model Context Protocol (MCP) server](/ai/model-context-protocol) so your editor has the context it needs to write Mintlify-aware content.
</Tip>

<SkillMcpPrompt />
Expand Down
2 changes: 1 addition & 1 deletion cli/install.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ If `mint update` is not available on your version, reinstall the CLI with the la

## Formatting

For syntax highlighting and code formatting in MDX files, use the following extensions:
For syntax highlighting and code formatting in Markdown (MDX) files, use the following extensions:

- **Cursor, Devin Desktop, VS Code**: [MDX VS Code extension](https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-mdx) and [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
- **JetBrains**: [MDX IntelliJ IDEA plugin](https://plugins.jetbrains.com/plugin/14944-mdx) and [Prettier](https://prettier.io/docs/webstorm)
Expand Down
Loading
Loading