From 42ba5b4522589f2db31830ee6e1982a0cf8dd5bb Mon Sep 17 00:00:00 2001 From: Kyan Yang Date: Tue, 4 Aug 2026 22:51:51 -0700 Subject: [PATCH 01/29] docs(index): document Mintlify Index Add setup, API, benchmark, and integration guidance so developers can use the current Index contracts safely. Co-authored-by: Cursor --- ai-native.mdx | 2 + ai/mintlify-mcp.mdx | 18 +- ai/model-context-protocol.mdx | 2 +- api/introduction.mdx | 27 +- changelog.mdx | 12 + docs.json | 38 ++ index-openapi.json | 705 ++++++++++++++++++++ redirects.json | 40 ++ search-index/api-reference/contents.mdx | 7 + search-index/api-reference/context.mdx | 7 + search-index/api-reference/introduction.mdx | 93 +++ search-index/api-reference/search.mdx | 7 + search-index/benchmarks.mdx | 86 +++ search-index/claude-code.mdx | 52 ++ search-index/cursor.mdx | 56 ++ search-index/index.mdx | 51 ++ search-index/mcp.mdx | 77 +++ 17 files changed, 1261 insertions(+), 19 deletions(-) create mode 100644 index-openapi.json create mode 100644 search-index/api-reference/contents.mdx create mode 100644 search-index/api-reference/context.mdx create mode 100644 search-index/api-reference/introduction.mdx create mode 100644 search-index/api-reference/search.mdx create mode 100644 search-index/benchmarks.mdx create mode 100644 search-index/claude-code.mdx create mode 100644 search-index/cursor.mdx create mode 100644 search-index/index.mdx create mode 100644 search-index/mcp.mdx diff --git a/ai-native.mdx b/ai-native.mdx index 006a2fc9c2..ef620bf54f 100644 --- a/ai-native.mdx +++ b/ai-native.mdx @@ -39,6 +39,8 @@ Mintlify hosts `llms.txt` and `skill.md` files for your documentation. These ind 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. +For implementation questions that span products, [Mintlify Index](/search-index/) gives coding agents one MCP server and REST API for retrieving context from publisher-maintained documentation and the technical web. + Full-text search and semantic understanding help users and AI tools find relevant information quickly. Search understands user intent rather than just matching keywords. And if a user encounters a 404 error, your site suggests related pages to help them find what they're looking for. No configuration required. ## Enable AI features diff --git a/ai/mintlify-mcp.mdx b/ai/mintlify-mcp.mdx index fe5fa9c5ae..1c96f440f5 100644 --- a/ai/mintlify-mcp.mdx +++ b/ai/mintlify-mcp.mdx @@ -17,14 +17,16 @@ Connect any MCP client like Claude, Claude Code, ChatGPT, or Cursor to the admin The admin MCP is a hosted Mintlify service at `https://mcp.mintlify.com`. Every client connects to the same endpoint and authenticates with your Mintlify account. -### How the admin MCP differs from the search MCP - -| | Admin MCP | Search MCP | -| :-- | :-- | :-- | -| **Audience** | Your team | Your end users | -| **Access** | Read, edit, restructure, save, create workflows, manage settings | Read and search published pages | -| **Endpoints** | Hosted by Mintlify, scoped to your project | `/mcp` on your site domain | -| **Output** | Content edits, navigation changes, pull requests, workflow runs | Search results and page content | +### How the admin MCP differs from other Mintlify MCP servers + +| | Admin MCP | Search MCP | Index MCP | +| :-- | :-- | :-- | :-- | +| **Audience** | Your team | Your end users | Developers and coding agents | +| **Access** | Read, edit, restructure, save, create workflows, manage settings | Read and search one site's published pages | Read technical documentation and web context | +| **Endpoint** | `https://mcp.mintlify.com` | `/mcp` on your site domain | `https://index.mintlify.com` | +| **Output** | Content edits, navigation changes, pull requests, workflow runs | Search results and page content | Source-cited technical context | + +See the [Mintlify Index MCP reference](/search-index/mcp) for its tool inputs and rate limits. ## Prerequisites diff --git a/ai/model-context-protocol.mdx b/ai/model-context-protocol.mdx index e1d31f8621..8c1c3d8704 100644 --- a/ai/model-context-protocol.mdx +++ b/ai/model-context-protocol.mdx @@ -14,7 +14,7 @@ The Model Context Protocol (MCP) is an open protocol that creates standardized c Your search MCP server exposes tools for AI applications to search and retrieve your content. Your users must connect your search MCP server to their tools. - Looking to let agents edit your content instead of read it? Use the [admin MCP server](/ai/mintlify-mcp) for an authenticated MCP server that exposes branching, page editing, navigation, and `docs.json` tools to trusted agents. + To let trusted agents edit your content, use the [admin MCP server](/ai/mintlify-mcp). To give coding agents one retrieval source across product documentation and the technical web, use [Mintlify Index](/search-index/). ### How MCP servers work diff --git a/api/introduction.mdx b/api/introduction.mdx index 39a08764eb..79d46fb83f 100644 --- a/api/introduction.mdx +++ b/api/introduction.mdx @@ -6,7 +6,7 @@ boost: 3 --- - The REST API requires a [Pro or Enterprise plan](https://mintlify.com/pricing?ref=api). + The platform REST API requires a [Pro or Enterprise plan](https://mintlify.com/pricing?ref=api). The [Mintlify Index REST API](/search-index/api-reference/introduction) uses a separate API key and base URL. The Mintlify REST (Representational State Transfer) API enables you to programmatically interact with your documentation, trigger updates, embed AI-powered chat experiences, and export analytics data. @@ -45,18 +45,19 @@ The Mintlify REST (Representational State Transfer) API enables you to programma ## Authentication -Generate API keys on the [API keys page](https://app.mintlify.com/settings/organization/api-keys) in your dashboard. Each API key belongs to an organization—you can use keys across multiple deployments within the same organization. +Generate API keys on the [API keys page](https://app.mintlify.com/settings/organization/api-keys) in your dashboard. Admin and Index API keys are organization-scoped. Assistant API keys are scoped to the deployment where you create them. -You can create up to 10 API keys per hour per organization. +You can create up to 10 admin API keys per hour per organization. When you create a key, you can set it to expire in 7, 30, 60, or 90 days, or select **No expiration**. New keys default to 90 days. The API keys page shows an **Expires in …** badge for keys that expire within 7 days and an **Expired** badge for keys that have already expired. Expired keys stop working, so rotate or replace them before the expiration date. -Mintlify uses two types of API keys, each scoped to a different set of endpoints: +Mintlify uses three types of API keys, each scoped to a different set of endpoints: -| Key type | Prefix | Use for | -| ----------------- | ----------- | --------------------------------------------------------------------------------------- | -| Admin API key | `mint_` | Updates, agent jobs, and analytics exports. Server-side only. | -| Assistant API key | `mint_dsc_` | Assistant messages, documentation search, and page content. Proxy in production. | +| Key type | Prefix | Use for | +| ----------------- | ----------- | -------------------------------------------------------------------------------- | +| Admin API key | `mint_` | Updates, agent jobs, and analytics exports. Server-side only. | +| Assistant API key | `mint_dsc_` | Assistant messages, documentation search, and page content. Proxy in production. | +| Index API key | `mint_us_` | Index search, context assembly, and content retrieval. Server-side only. | ### Admin API key @@ -102,9 +103,15 @@ Assistant API keys begin with the `mint_dsc_` prefix. Search documentation and page content requests do not consume credits. Assistant message requests use credits and can incur overages. +### Index API key + +Use an Index API key to authenticate requests to the [Mintlify Index REST API](/search-index/api-reference/introduction). Index API keys begin with the `mint_us_` prefix and are available to organizations with Index REST API access. + +The Index API key is a server-side secret. Do not expose it in client-side code. + ### 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. Both admin and assistant API keys support allowlists. +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. 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. @@ -136,7 +143,7 @@ The scope only accepts `read` and `write`. Any other value returns a `400` respo ### Set an expiration date -Optionally set an expiration date on any API key at creation. After the expiration timestamp passes, requests using the key return a `403` response. Both admin and assistant API keys support expiration. +Optionally set an expiration date on any API key at creation. After the expiration timestamp passes, requests using the key return a `401` response. Admin, assistant, and Index API keys support expiration. Set the expiration on the [API keys page](https://app.mintlify.com/settings/organization/api-keys) in your dashboard. You set the expiration for the lifetime of the key. To change it, you must create a new key. If you don't set an expiration, the key never expires. diff --git a/changelog.mdx b/changelog.mdx index d5abe274ee..53522e745d 100644 --- a/changelog.mdx +++ b/changelog.mdx @@ -5,6 +5,18 @@ rss: true noindex: true --- + + + ## Mintlify Index + + [Mintlify Index](/search-index/) gives coding agents one retrieval layer for publisher-maintained technical documentation and the web. + + - **Public MCP server:** Connect [Claude Code](/search-index/claude-code) or [Cursor](/search-index/cursor) without an API key. The `context` tool returns source-cited material for implementation tasks. + - **Access-controlled REST API:** Search ranked sources, assemble token-budgeted context, and retrieve selected contents through separate API endpoints. + - **Benchmark results:** Review Mintlify's [methodology, results, and limitations](/search-index/benchmarks) from two name-blinded comparisons with Context7 covering 250 developer tasks. + + + ## Mintlify widget diff --git a/docs.json b/docs.json index 8b49d310ca..2fa711ee7e 100644 --- a/docs.json +++ b/docs.json @@ -305,6 +305,44 @@ } ] }, + { + "tab": "Index", + "groups": [ + { + "group": "Get started", + "icon": "search", + "pages": [ + "search-index/index", + "search-index/claude-code", + "search-index/cursor" + ] + }, + { + "group": "MCP", + "icon": "plug", + "pages": [ + "search-index/mcp" + ] + }, + { + "group": "REST API", + "icon": "file-braces", + "pages": [ + "search-index/api-reference/introduction", + "search-index/api-reference/context", + "search-index/api-reference/search", + "search-index/api-reference/contents" + ] + }, + { + "group": "Benchmarks", + "icon": "chart-line", + "pages": [ + "search-index/benchmarks" + ] + } + ] + }, { "tab": "API reference", "groups": [ diff --git a/index-openapi.json b/index-openapi.json new file mode 100644 index 0000000000..16acd2ae5e --- /dev/null +++ b/index-openapi.json @@ -0,0 +1,705 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Mintlify Index API", + "description": "Search and retrieve technical documentation and web context for applications and agents.", + "version": "1.0.0" + }, + "servers": [ + { + "url": "https://leaves.mintlify.com/api/universal-search" + } + ], + "security": [ + { + "bearerAuth": [] + } + ], + "paths": { + "/v1/context": { + "post": { + "operationId": "buildIndexContext", + "summary": "Build implementation context", + "description": "Searches Mintlify Index and returns source-cited content assembled within a token budget. Use this endpoint when an application or agent needs ready-to-use context in one request.", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContextRequest" + }, + "example": { + "query": "How should I configure caching in Next.js 16?", + "product": "Next.js", + "format": "txt", + "tokenBudget": 3000 + } + } + } + }, + "responses": { + "200": { + "description": "Context assembled successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContextResponse" + }, + "example": { + "requestId": "7f2ab8d1-3bea-4a29-bc51-c05a8d3a3e3c", + "query": "How should I configure caching in Next.js 16?", + "response": "### Caching and revalidating\n\nSource: https://nextjs.org/docs/app/getting-started/caching-and-revalidating\n\nUse the current caching APIs described in this guide.\n\n--------------------------------", + "resultsCount": 3, + "outputTokens": 1842 + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "429": { + "$ref": "#/components/responses/RateLimited" + }, + "500": { + "$ref": "#/components/responses/InternalError" + } + } + } + }, + "/v1/search": { + "post": { + "operationId": "searchIndex", + "summary": "Search technical knowledge", + "description": "Returns ranked results from publisher-maintained documentation or the web. Use Mintlify result IDs or any result URL with the contents endpoint when you need more content.", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchRequest" + }, + "example": { + "query": "Next.js 16 caching and revalidation", + "numResults": 5, + "text": { + "maxCharacters": 4000 + }, + "includeDomains": [ + "nextjs.org" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Search completed successfully.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SearchResponse" + }, + "example": { + "requestId": "3d8ed0aa-c21c-4a18-b995-207aa6315ea8", + "results": [ + { + "id": "nextjs:/docs/app/getting-started/caching-and-revalidating", + "url": "https://nextjs.org/docs/app/getting-started/caching-and-revalidating", + "title": "Caching and revalidating", + "text": "Caching is a technique for storing the result of data fetching and other computations.", + "truncated": false, + "totalCharacters": 92, + "score": 0.91, + "source": "mintlify", + "siteName": "nextjs", + "breadcrumbs": [ + "App Router", + "Getting started" + ], + "publishedDate": null + } + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "429": { + "$ref": "#/components/responses/RateLimited" + }, + "500": { + "$ref": "#/components/responses/InternalError" + } + } + } + }, + "/v1/contents": { + "post": { + "operationId": "getIndexContents", + "summary": "Get result contents", + "description": "Retrieves content for Mintlify result IDs or result URLs returned by the search endpoint. A request can include up to 20 items across both fields.", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContentsRequest" + }, + "example": { + "ids": [ + "nextjs:/docs/app/getting-started/caching-and-revalidating" + ], + "query": "revalidate cached data", + "maxCharacters": 12000 + } + } + } + }, + "responses": { + "200": { + "description": "Content retrieval completed. Check each status to determine whether its item succeeded.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContentsResponse" + }, + "example": { + "requestId": "6bf694e4-76cb-4d31-a222-c94b2d9b198a", + "results": [ + { + "id": "nextjs:/docs/app/getting-started/caching-and-revalidating", + "url": "https://nextjs.org/docs/app/getting-started/caching-and-revalidating", + "title": "Caching and revalidating", + "text": "# Caching and revalidating\n\nUse revalidation APIs to refresh cached data.", + "truncated": false, + "totalCharacters": 78, + "score": 0, + "source": "mintlify", + "siteName": "nextjs", + "breadcrumbs": [ + "App Router", + "Getting started" + ], + "publishedDate": null + } + ], + "statuses": [ + { + "id": "nextjs:/docs/app/getting-started/caching-and-revalidating", + "status": "success" + } + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "429": { + "$ref": "#/components/responses/RateLimited" + }, + "500": { + "$ref": "#/components/responses/InternalError" + } + } + } + } + }, + "components": { + "securitySchemes": { + "bearerAuth": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "Mintlify Index API key", + "description": "Mintlify Index API key with the `mint_us_` prefix." + } + }, + "responses": { + "BadRequest": { + "description": "The request body is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "Invalid request body" + } + } + } + }, + "Unauthorized": { + "description": "The API key is missing or invalid, or the organization does not have Index REST API access.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "Unauthorized" + } + } + } + }, + "Forbidden": { + "description": "The request IP is not allowed by the API key.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "IP address is not allowed for this API key" + } + } + } + }, + "RateLimited": { + "description": "The API key or organization exceeded a rate limit.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "Rate limit exceeded. Please try again later" + } + } + } + }, + "InternalError": { + "description": "Index could not complete the request.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "schemas": { + "ContextRequest": { + "type": "object", + "additionalProperties": false, + "required": [ + "query", + "format" + ], + "properties": { + "query": { + "type": "string", + "minLength": 1, + "description": "Implementation question to research." + }, + "product": { + "type": "string", + "minLength": 1, + "description": "Product or company name to use as an additional retrieval hint." + }, + "format": { + "type": "string", + "enum": [ + "txt", + "json" + ], + "description": "Format of the `response` string. `txt` returns Markdown sections. `json` returns a serialized JSON object containing result items." + }, + "includeDomains": { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "minLength": 1 + }, + "description": "Domains to include in retrieval." + }, + "excludeDomains": { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "minLength": 1 + }, + "description": "Domains to exclude from retrieval." + }, + "tokenBudget": { + "type": "integer", + "minimum": 1, + "maximum": 6000, + "default": 3000, + "description": "Maximum number of output tokens." + } + } + }, + "ContextResponse": { + "type": "object", + "additionalProperties": false, + "required": [ + "requestId", + "query", + "response", + "resultsCount", + "outputTokens" + ], + "properties": { + "requestId": { + "type": "string", + "description": "Unique identifier for the request." + }, + "query": { + "type": "string", + "description": "Original query from the request." + }, + "response": { + "type": "string", + "description": "Assembled source content. The value is Markdown for `txt` requests and serialized JSON for `json` requests. The string can be empty when no content fits within the token budget." + }, + "resultsCount": { + "type": "integer", + "minimum": 0, + "description": "Number of source snippets included in the response." + }, + "outputTokens": { + "type": "integer", + "minimum": 0, + "description": "Number of tokens in the assembled response." + } + } + }, + "SearchRequest": { + "type": "object", + "additionalProperties": false, + "required": [ + "query", + "numResults" + ], + "properties": { + "query": { + "type": "string", + "minLength": 1, + "description": "Search query." + }, + "numResults": { + "type": "integer", + "minimum": 1, + "maximum": 20, + "description": "Maximum number of results to return." + }, + "text": { + "default": false, + "description": "Controls result content. Set to `true` to include matched content, `false` to omit it, or provide `maxCharacters` to include truncated content. When omitted, defaults to `false`.", + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "required": [ + "maxCharacters" + ], + "properties": { + "maxCharacters": { + "type": "integer", + "minimum": 1, + "description": "Maximum number of content characters to include per result." + } + } + } + ] + }, + "includeDomains": { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "minLength": 1 + }, + "description": "Domains to include in search results." + }, + "excludeDomains": { + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "minLength": 1 + }, + "description": "Domains to exclude from search results." + } + } + }, + "SearchResponse": { + "type": "object", + "additionalProperties": false, + "required": [ + "requestId", + "results" + ], + "properties": { + "requestId": { + "type": "string", + "description": "Unique identifier for the request." + }, + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchResult" + }, + "description": "Ranked search results." + } + } + }, + "SearchResult": { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "url", + "title", + "text", + "score", + "source", + "siteName", + "breadcrumbs", + "publishedDate" + ], + "properties": { + "id": { + "type": "string", + "description": "Result identifier. Pass IDs from Mintlify results in the contents request's `ids` field. For web results, pass the result URL in `urls`." + }, + "url": { + "type": "string", + "format": "uri", + "description": "Canonical source URL." + }, + "title": { + "type": "string", + "description": "Source title." + }, + "text": { + "type": "string", + "description": "Matched content when requested. Otherwise, an empty string." + }, + "truncated": { + "type": "boolean", + "description": "Whether the returned content is shorter than the available content." + }, + "totalCharacters": { + "type": "integer", + "minimum": 0, + "description": "Number of available characters before truncation. Present when available." + }, + "score": { + "type": "number", + "description": "Relative relevance score. Contents responses use `0` because they retrieve selected items rather than rank results." + }, + "source": { + "type": "string", + "enum": [ + "mintlify", + "web" + ], + "description": "Retrieval source." + }, + "siteName": { + "type": "string", + "description": "Documentation site or web hostname." + }, + "breadcrumbs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Documentation hierarchy for the result." + }, + "publishedDate": { + "type": "string", + "nullable": true, + "description": "Published date when the source provides one. The value can be a full timestamp or a date-only string." + } + } + }, + "ContentsRequest": { + "type": "object", + "additionalProperties": false, + "description": "Provide at least one Mintlify result ID or result URL. You can combine both fields, with up to 20 items total.", + "anyOf": [ + { + "required": [ + "urls" + ] + }, + { + "required": [ + "ids" + ] + } + ], + "properties": { + "urls": { + "type": "array", + "minItems": 1, + "maxItems": 20, + "items": { + "type": "string", + "format": "uri" + }, + "description": "Result URLs to retrieve. Use this field for web results." + }, + "ids": { + "type": "array", + "minItems": 1, + "maxItems": 20, + "items": { + "type": "string", + "minLength": 1 + }, + "description": "Mintlify result IDs to retrieve." + }, + "maxCharacters": { + "type": "integer", + "minimum": 1, + "description": "Maximum number of content characters to return per result." + }, + "query": { + "type": "string", + "minLength": 1, + "description": "Query used to select the most relevant sections when content exceeds `maxCharacters`." + } + } + }, + "ContentsResponse": { + "type": "object", + "additionalProperties": false, + "required": [ + "requestId", + "results", + "statuses" + ], + "properties": { + "requestId": { + "type": "string", + "description": "Unique identifier for the request." + }, + "results": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SearchResult" + }, + "description": "Successfully retrieved results." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContentStatus" + }, + "description": "Retrieval status for each requested item." + } + } + }, + "ContentStatus": { + "oneOf": [ + { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "status" + ], + "properties": { + "id": { + "type": "string", + "description": "Requested ID or URL." + }, + "status": { + "type": "string", + "enum": [ + "success" + ], + "description": "Retrieval status." + } + } + }, + { + "type": "object", + "additionalProperties": false, + "required": [ + "id", + "status", + "error" + ], + "properties": { + "id": { + "type": "string", + "description": "Requested ID or URL." + }, + "status": { + "type": "string", + "enum": [ + "error" + ], + "description": "Retrieval status." + }, + "error": { + "type": "object", + "additionalProperties": false, + "required": [ + "tag", + "httpStatusCode" + ], + "properties": { + "tag": { + "type": "string", + "description": "Machine-readable error category." + }, + "httpStatusCode": { + "type": "integer", + "nullable": true, + "description": "Upstream HTTP status code when available." + } + } + } + } + } + ] + }, + "Error": { + "type": "object", + "additionalProperties": false, + "required": [ + "error" + ], + "properties": { + "error": { + "type": "string", + "description": "Error message." + } + } + } + } + } +} diff --git a/redirects.json b/redirects.json index eb5b2db6de..b690ffadcb 100644 --- a/redirects.json +++ b/redirects.json @@ -1,4 +1,44 @@ [ + { + "source": "/index/overview", + "destination": "/search-index/" + }, + { + "source": "/search-index/overview", + "destination": "/search-index/" + }, + { + "source": "/index/claude-code", + "destination": "/search-index/claude-code" + }, + { + "source": "/index/cursor", + "destination": "/search-index/cursor" + }, + { + "source": "/index/mcp", + "destination": "/search-index/mcp" + }, + { + "source": "/index/benchmarks", + "destination": "/search-index/benchmarks" + }, + { + "source": "/index/api-reference/introduction", + "destination": "/search-index/api-reference/introduction" + }, + { + "source": "/index/api-reference/context", + "destination": "/search-index/api-reference/context" + }, + { + "source": "/index/api-reference/search", + "destination": "/search-index/api-reference/search" + }, + { + "source": "/index/api-reference/contents", + "destination": "/search-index/api-reference/contents" + }, { "source": "/editor/drafts", "destination": "/editor/branching-and-publishing" diff --git a/search-index/api-reference/contents.mdx b/search-index/api-reference/contents.mdx new file mode 100644 index 0000000000..1d3f790ceb --- /dev/null +++ b/search-index/api-reference/contents.mdx @@ -0,0 +1,7 @@ +--- +title: "Get result contents" +sidebarTitle: "Contents" +description: "Retrieve content from Mintlify Index by Mintlify result ID or result URL after searching." +keywords: ["Mintlify Index", "contents API", "result IDs", "URLs"] +openapi: "/index-openapi.json POST /v1/contents" +--- diff --git a/search-index/api-reference/context.mdx b/search-index/api-reference/context.mdx new file mode 100644 index 0000000000..d9921083bf --- /dev/null +++ b/search-index/api-reference/context.mdx @@ -0,0 +1,7 @@ +--- +title: "Build implementation context" +sidebarTitle: "Context" +description: "Assemble source-cited technical context within a token budget for an application or agent." +keywords: ["Mintlify Index", "context", "citations", "token budget"] +openapi: "/index-openapi.json POST /v1/context" +--- diff --git a/search-index/api-reference/introduction.mdx b/search-index/api-reference/introduction.mdx new file mode 100644 index 0000000000..fc248c9753 --- /dev/null +++ b/search-index/api-reference/introduction.mdx @@ -0,0 +1,93 @@ +--- +title: "Mintlify Index REST API" +sidebarTitle: "Overview" +description: "Authenticate with the Mintlify Index REST API and use its search, context, and contents endpoints." +keywords: ["Mintlify Index API", "REST API", "authentication", "API key"] +--- + +Use the Mintlify Index REST API to retrieve technical knowledge for applications and agents. The API supports three retrieval patterns: + +- [`context`](/search-index/api-reference/context) assembles source-cited content within a token budget. +- [`search`](/search-index/api-reference/search) returns ranked documentation and web results. +- [`contents`](/search-index/api-reference/contents) retrieves content for selected Mintlify result IDs or result URLs. + + + The REST API requires access for your organization. The public [Index MCP server](/search-index/mcp) does not require an API key. + + +## Base URL + +Send REST API requests to: + +```text +https://leaves.mintlify.com/api/universal-search +``` + +Endpoints use the `/v1` path. + +## Authentication + +Authenticate each request with an Index API key in the `Authorization` header: + +```http +Authorization: Bearer mint_us_... +``` + +Index API keys begin with `mint_us_`. + + + + Open the [API keys page](https://app.mintlify.com/settings/organization/api-keys) in the dashboard and create an Index API key. + + If this key type is unavailable, your organization does not currently have Index REST API access. + + + Save the key in a server-side environment variable. Mintlify displays the complete key only when you create it. + + ```bash + export MINTLIFY_INDEX_API_KEY="mint_us_..." + ``` + + + Do not expose an Index API key in client-side code or commit it to version control. + + + + Send your first request to the `context` endpoint: + + ```bash + curl -X POST "https://leaves.mintlify.com/api/universal-search/v1/context" \ + -H "Authorization: Bearer $MINTLIFY_INDEX_API_KEY" \ + -H "Content-Type: application/json" \ + -d '{ + "query": "How should I configure caching in Next.js 16?", + "product": "Next.js", + "format": "txt", + "tokenBudget": 3000 + }' + ``` + + A successful response includes assembled context with source URLs, the number of results used, and the output token count. + + + +## Rate limits + +REST API limits apply per API key and per Mintlify organization: + +| Window | Limit | +| --- | ---: | +| Per second | 10 requests | +| Per day | 1,000 requests | + +Requests above either limit return `429 Too Many Requests`. Use exponential backoff before retrying. + +## Errors + +| Status | Meaning | +| --- | --- | +| `400` | The request body is invalid. | +| `401` | The API key is missing or invalid, or the organization does not have Index REST API access. | +| `403` | The request IP is not allowed by the API key. | +| `429` | The API key or organization exceeded a rate limit. | +| `500` | Index could not complete the request. | diff --git a/search-index/api-reference/search.mdx b/search-index/api-reference/search.mdx new file mode 100644 index 0000000000..5690c8a5b3 --- /dev/null +++ b/search-index/api-reference/search.mdx @@ -0,0 +1,7 @@ +--- +title: "Search technical knowledge" +sidebarTitle: "Search" +description: "Search Mintlify Index for ranked technical documentation and web results." +keywords: ["Mintlify Index", "search API", "technical documentation", "ranked results"] +openapi: "/index-openapi.json POST /v1/search" +--- diff --git a/search-index/benchmarks.mdx b/search-index/benchmarks.mdx new file mode 100644 index 0000000000..690cd0a0e9 --- /dev/null +++ b/search-index/benchmarks.mdx @@ -0,0 +1,86 @@ +--- +title: "Mintlify Index benchmark methodology and results" +sidebarTitle: "Benchmarks" +description: "Review the task sets, evaluation method, results, and limitations of the Mintlify Index comparison with Context7." +keywords: ["Mintlify Index", "Context7", "benchmark", "evaluation", "retrieval quality"] +--- + +We evaluated Mintlify Index against Context7 in two name-blinded benchmarks covering 250 developer tasks. The pairwise judge preferred the Index-backed response in 175 of 245 decisive comparisons, or 71.4%. Five comparisons were ties. + + + The combined result is a descriptive summary, not a single experiment. The two benchmarks used different task sets and adjacent Index versions, so interpret each benchmark separately. + + +## Pairwise results + +| Benchmark | Tasks | Index wins | Context7 wins | Ties | Index win rate, excluding ties | +| --- | ---: | ---: | ---: | ---: | ---: | +| Context7-style | 100 | 79 | 20 | 1 | 79.8% | +| Broad implementation | 150 | 96 | 50 | 4 | 65.8% | +| Combined, descriptive | 250 | 175 | 70 | 5 | 71.4% | + +### Results by task type + +Each task type contained 50 questions. + +| Task type | Index wins | Context7 wins | Ties | Index win rate, excluding ties | +| --- | ---: | ---: | ---: | ---: | +| General or conceptual questions | 41 | 8 | 1 | 83.7% | +| Context7-style production implementation | 38 | 12 | 0 | 76.0% | +| Cross-product implementation | 34 | 15 | 1 | 69.4% | +| Documentation lookup | 31 | 16 | 3 | 66.0% | +| Single-product synthesis | 31 | 19 | 0 | 62.0% | + +### End-to-end completion time + +The timing measurement covers the planner's retrieval and response generation. It excludes reference construction and judging and does not represent raw Index API latency. + +| Benchmark | Change in mean completion time | +| --- | ---: | +| Context7-style | 39% lower with Index | +| Broad implementation | 48% lower with Index | + +## Task sets + +### Context7-style benchmark + +This benchmark was designed to approximate Context7's core use cases: + +- 50 general or conceptual developer questions. +- 50 production implementation questions. + +### Broad implementation benchmark + +This benchmark covers a wider range of retrieval and planning work: + +- 50 documentation lookups. +- 50 single-product synthesis tasks. +- 50 cross-product implementation tasks. + +## Evaluation method + + + + Each task includes a planning request, implementation constraints, and required information. + + + Separate research runs collect official setup instructions, API contracts, version constraints, failure modes, security considerations, and operational guidance. Their evidence-backed claims form the reference used by the judges. + + + Within each benchmark, both arms use the same task set and planner configuration with different retrieval integrations. + + + The pairwise judge does not see the retrieval-system names, and response order is randomized. It selects an overall winner or tie and records criterion-level preferences, critical errors, and a rationale. + + + +A separate absolute scoring pass rates each criterion from 0 to 4 and normalizes scores to a 0–1 scale. The criteria cover factual correctness, required-information coverage, implementation actionability, citation entailment, constraint and security handling, and freshness. + +## Limitations + +- Mintlify designed and ran this LLM-judged evaluation. It has not been independently validated by a third party. +- Name blinding hides the retrieval-system names and randomizes response order. It does not hide response content or citations. +- The tasks focus on products with documentation hosted on Mintlify. +- The two task sets differ in scope and difficulty. +- Pairwise preferences are not calculated directly from the absolute scores. +- Completion time measures the planner run, not raw API latency. diff --git a/search-index/claude-code.mdx b/search-index/claude-code.mdx new file mode 100644 index 0000000000..e4837bd6e4 --- /dev/null +++ b/search-index/claude-code.mdx @@ -0,0 +1,52 @@ +--- +title: "Connect Mintlify Index to Claude Code" +sidebarTitle: "Claude Code" +description: "Connect Claude Code to the Mintlify Index MCP server for current, source-cited technical context." +keywords: ["Mintlify Index", "Claude Code", "MCP", "technical documentation"] +--- + +Connect Claude Code to Mintlify Index so it can retrieve current technical documentation and web context while it plans and writes code. + + + You do not need a Mintlify account or API key to connect to the public Index MCP server. + + +## Add the Index MCP server + + + + Run the following command: + + ```bash + claude mcp add --transport http mintlify-index https://index.mintlify.com + ``` + + + List your configured MCP servers: + + ```bash + claude mcp list + ``` + + The output should include `mintlify-index` with a connected status. + + + Start a new Claude Code session and ask an implementation question. For example: + + ```text + Use Mintlify Index to find the current recommended way to configure caching in Next.js 16. Cite the sources you use. + ``` + + Claude Code calls the Index `context` tool when it needs technical context and includes the returned source links in its work. + + + +## Remove the connection + +Run: + +```bash +claude mcp remove mintlify-index +``` + +See the [Index MCP reference](/search-index/mcp) for tool inputs and rate limits. diff --git a/search-index/cursor.mdx b/search-index/cursor.mdx new file mode 100644 index 0000000000..044f657a95 --- /dev/null +++ b/search-index/cursor.mdx @@ -0,0 +1,56 @@ +--- +title: "Connect Mintlify Index to Cursor" +sidebarTitle: "Cursor" +description: "Connect Cursor to the Mintlify Index MCP server for current, source-cited technical context." +keywords: ["Mintlify Index", "Cursor", "MCP", "technical documentation"] +--- + +import { PreviewButton } from "/snippets/previewbutton.jsx" + +Connect Cursor to Mintlify Index so its agent can retrieve current technical documentation and web context while you work. + + + You do not need a Mintlify account or API key to connect to the public Index MCP server. + + +## Install in Cursor + +Install in Cursor + +Select **Install in Cursor**, review the MCP configuration, and approve the installation. + +## Configure Cursor manually + + + + 1. Open the command palette with Command + Shift + P (Ctrl + Shift + P on Windows). + 2. Search for **Open MCP settings**. + 3. Select **Add custom MCP** to open `mcp.json`. + + + Add the following server: + + ```json + { + "mcpServers": { + "mintlify-index": { + "url": "https://index.mintlify.com" + } + } + } + ``` + + + Reload Cursor, then open **Settings → Tools & MCP**. The `mintlify-index` server should show as connected with the `context` tool available. + + + +## Use Index + +Ask the agent an implementation question and tell it to use Index when you want to ensure it retrieves current sources. For example: + +```text +Use Mintlify Index to find the current recommended way to configure caching in Next.js 16. Cite the sources you use. +``` + +See the [Index MCP reference](/search-index/mcp) for tool inputs and rate limits. diff --git a/search-index/index.mdx b/search-index/index.mdx new file mode 100644 index 0000000000..15bf9b4b86 --- /dev/null +++ b/search-index/index.mdx @@ -0,0 +1,51 @@ +--- +title: "Mintlify Index" +description: "Give coding agents current technical context from publisher-maintained documentation and the web through one MCP server or REST API." +keywords: ["Mintlify Index", "technical search", "coding agents", "MCP", "REST API"] +--- + +Mintlify Index gives coding agents one search layer for technical knowledge. It routes questions about covered products to publisher-maintained documentation hosted on Mintlify and uses web search for questions outside that corpus. + +Use Index through the public MCP server or the access-controlled REST API: + +- **MCP server**: Connect an AI tool and let it retrieve source-cited context while you work. It does not require an API key. +- **REST API**: Search for ranked sources, assemble context within a token budget, or retrieve the contents of selected results. REST API access requires an Index API key. + +## Get started + + + + Connect Claude Code to Index from the command line. + + + Add Index to Cursor with one click or configure it manually. + + + Review the `context` tool, input fields, output, and rate limits. + + + Use `search`, `context`, and `contents` in an application or agent. + + + +## How Index retrieves context + + + + Index identifies whether the question concerns a product in its documentation corpus or requires broader web results. + + + Product-specific questions search current documentation from the publisher. Other questions search the technical web. + + + Index ranks the results and returns source URLs with the relevant content. The MCP `context` tool and REST `context` endpoint assemble that content within a token budget. + + + +## Choose a retrieval operation + +- **`context`**: Use this for most agent tasks. It returns a compact set of cited source material in one request. +- **`search`**: Use this when your application needs ranked results and controls which sources to read. Available through the REST API. +- **`contents`**: Use this after `search` to retrieve content for selected Mintlify result IDs or result URLs. Available through the REST API. + +For details about how Index was evaluated, see [Benchmark methodology and results](/search-index/benchmarks). diff --git a/search-index/mcp.mdx b/search-index/mcp.mdx new file mode 100644 index 0000000000..50de1e7dd3 --- /dev/null +++ b/search-index/mcp.mdx @@ -0,0 +1,77 @@ +--- +title: "Mintlify Index MCP server" +sidebarTitle: "MCP reference" +description: "Reference for the public Mintlify Index MCP server, including its context tool, parameters, output, and rate limits." +keywords: ["Mintlify Index", "MCP server", "context tool", "rate limits"] +--- + +The Mintlify Index MCP server gives AI tools read-only access to technical documentation and web context. It is hosted at: + +```text +https://index.mintlify.com +``` + +You do not need to authenticate to the public server. Connect it to a supported client using the [Claude Code](/search-index/claude-code) or [Cursor](/search-index/cursor) guide. + + + The Index MCP searches across covered product documentation and the technical web. To search only the content on a specific Mintlify-hosted site, use that site's [search MCP server](/ai/model-context-protocol). + + +## `context` tool + +Use `context` to research an implementation task and return compact, source-cited context in one call. The tool is read-only and can access the open web. + + + Implementation question to research. + + + + Product or company name to use as an additional retrieval hint. + + + + Domains to include in retrieval. When set, results are limited to these domains. + + + + Domains to exclude from retrieval. + + + + Maximum number of tokens to return. The maximum value is `6000`. Use the default for focused questions and a larger budget for complex, multi-part tasks. + + +### Output + +The tool returns Markdown-formatted context assembled from ranked sources. Each section includes a title, source URL, and the relevant source content. + +```text +### Configure caching + +Source: https://nextjs.org/docs/app/getting-started/caching-and-revalidating + +Relevant source content appears here. + +-------------------------------- +``` + +The MCP server returns source material for the connected agent to use. The agent decides how to apply that context to your task. + +## Rate limits + +Index applies the following per-IP limits to the public MCP server: + +| Window | Limit | +| --- | ---: | +| Per second | 10 requests | +| Per day | 1,000 requests | + +Requests above either limit return `429 Too Many Requests`. Wait before retrying, and use exponential backoff for automated clients. + +## Protocol behavior + +The Index MCP uses stateless Streamable HTTP: + +- Send each JSON-RPC request as an HTTP `POST`. +- Send one JSON-RPC request per HTTP request. Batching is not supported. +- Do not persist or send an MCP session ID between requests. From d918821f1d9e1e69de9c21d5b4c9d6f2dc8553dd Mon Sep 17 00:00:00 2001 From: Kyan Yang Date: Tue, 4 Aug 2026 23:36:48 -0700 Subject: [PATCH 02/29] fix(navigation): move Index to sidebar Keep Mintlify Index in the main documentation hierarchy instead of adding a separate top navigation tab. Co-authored-by: Cursor --- docs.json | 73 ++++++++++++++++++++++++++----------------------------- 1 file changed, 35 insertions(+), 38 deletions(-) diff --git a/docs.json b/docs.json index 2fa711ee7e..9bfa251fde 100644 --- a/docs.json +++ b/docs.json @@ -44,6 +44,41 @@ "ai-native" ] }, + { + "group": "Mintlify Index", + "icon": "search", + "root": "search-index/index", + "pages": [ + { + "group": "Get started", + "pages": [ + "search-index/claude-code", + "search-index/cursor" + ] + }, + { + "group": "MCP", + "pages": [ + "search-index/mcp" + ] + }, + { + "group": "REST API", + "pages": [ + "search-index/api-reference/introduction", + "search-index/api-reference/context", + "search-index/api-reference/search", + "search-index/api-reference/contents" + ] + }, + { + "group": "Benchmarks", + "pages": [ + "search-index/benchmarks" + ] + } + ] + }, { "group": "Organize", "icon": "map", @@ -305,44 +340,6 @@ } ] }, - { - "tab": "Index", - "groups": [ - { - "group": "Get started", - "icon": "search", - "pages": [ - "search-index/index", - "search-index/claude-code", - "search-index/cursor" - ] - }, - { - "group": "MCP", - "icon": "plug", - "pages": [ - "search-index/mcp" - ] - }, - { - "group": "REST API", - "icon": "file-braces", - "pages": [ - "search-index/api-reference/introduction", - "search-index/api-reference/context", - "search-index/api-reference/search", - "search-index/api-reference/contents" - ] - }, - { - "group": "Benchmarks", - "icon": "chart-line", - "pages": [ - "search-index/benchmarks" - ] - } - ] - }, { "tab": "API reference", "groups": [ From d4a0d3d3dbb377ad4fe45a65f98e3e43778f0425 Mon Sep 17 00:00:00 2001 From: Kyan Yang Date: Tue, 4 Aug 2026 23:38:27 -0700 Subject: [PATCH 03/29] style(navigation): flatten Index sidebar nesting Remove single-page subgroups and the duplicate "Get started" label so the Index section reads as one scannable list. Co-authored-by: Cursor --- docs.json | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/docs.json b/docs.json index 9bfa251fde..af3cc9fdf7 100644 --- a/docs.json +++ b/docs.json @@ -49,34 +49,19 @@ "icon": "search", "root": "search-index/index", "pages": [ - { - "group": "Get started", - "pages": [ - "search-index/claude-code", - "search-index/cursor" - ] - }, - { - "group": "MCP", - "pages": [ - "search-index/mcp" - ] - }, + "search-index/claude-code", + "search-index/cursor", + "search-index/mcp", { "group": "REST API", + "root": "search-index/api-reference/introduction", "pages": [ - "search-index/api-reference/introduction", "search-index/api-reference/context", "search-index/api-reference/search", "search-index/api-reference/contents" ] }, - { - "group": "Benchmarks", - "pages": [ - "search-index/benchmarks" - ] - } + "search-index/benchmarks" ] }, { From 0129c14b52e0d7ee4c48ffc910a25ea5663c9c19 Mon Sep 17 00:00:00 2001 From: Kyan Yang Date: Tue, 4 Aug 2026 23:44:13 -0700 Subject: [PATCH 04/29] refactor(navigation): nest Index under Optimize Group Index with the existing MCP and search pages instead of giving it a top-level section of its own. Co-authored-by: Cursor --- docs.json | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/docs.json b/docs.json index af3cc9fdf7..05479b0c0a 100644 --- a/docs.json +++ b/docs.json @@ -44,26 +44,6 @@ "ai-native" ] }, - { - "group": "Mintlify Index", - "icon": "search", - "root": "search-index/index", - "pages": [ - "search-index/claude-code", - "search-index/cursor", - "search-index/mcp", - { - "group": "REST API", - "root": "search-index/api-reference/introduction", - "pages": [ - "search-index/api-reference/context", - "search-index/api-reference/search", - "search-index/api-reference/contents" - ] - }, - "search-index/benchmarks" - ] - }, { "group": "Organize", "icon": "map", @@ -267,6 +247,25 @@ "ai/llmstxt", "ai/skillmd", "ai/model-context-protocol", + { + "group": "Mintlify Index", + "root": "search-index/index", + "pages": [ + "search-index/claude-code", + "search-index/cursor", + "search-index/mcp", + { + "group": "REST API", + "root": "search-index/api-reference/introduction", + "pages": [ + "search-index/api-reference/context", + "search-index/api-reference/search", + "search-index/api-reference/contents" + ] + }, + "search-index/benchmarks" + ] + }, "optimize/search", "optimize/seo", "ai/markdown-export", From 12860aee00bc019dd14730ec92ae96c297056372 Mon Sep 17 00:00:00 2001 From: Kyan Yang Date: Tue, 4 Aug 2026 23:57:16 -0700 Subject: [PATCH 05/29] refactor(navigation): split Index docs by content type Move the Index REST API into the API reference tab alongside the other endpoint reference, and keep the product pages next to ai-native so each audience finds them where similar content already lives. Co-authored-by: Cursor --- docs.json | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/docs.json b/docs.json index 05479b0c0a..6d15b1ade0 100644 --- a/docs.json +++ b/docs.json @@ -41,7 +41,17 @@ "cli/commands" ] }, - "ai-native" + "ai-native", + { + "group": "Mintlify Index", + "root": "search-index/index", + "pages": [ + "search-index/claude-code", + "search-index/cursor", + "search-index/mcp", + "search-index/benchmarks" + ] + } ] }, { @@ -247,25 +257,6 @@ "ai/llmstxt", "ai/skillmd", "ai/model-context-protocol", - { - "group": "Mintlify Index", - "root": "search-index/index", - "pages": [ - "search-index/claude-code", - "search-index/cursor", - "search-index/mcp", - { - "group": "REST API", - "root": "search-index/api-reference/introduction", - "pages": [ - "search-index/api-reference/context", - "search-index/api-reference/search", - "search-index/api-reference/contents" - ] - }, - "search-index/benchmarks" - ] - }, "optimize/search", "optimize/seo", "ai/markdown-export", @@ -390,6 +381,16 @@ "api/static-export/get-job-status", "api/static-export/generate-bundle" ] + }, + { + "group": "Mintlify Index", + "icon": "search", + "root": "search-index/api-reference/introduction", + "pages": [ + "search-index/api-reference/context", + "search-index/api-reference/search", + "search-index/api-reference/contents" + ] } ] }, From 6d467a4f0b9909ba15a91e0656ac1c5bffd83891 Mon Sep 17 00:00:00 2001 From: Kyan Yang Date: Wed, 5 Aug 2026 00:02:01 -0700 Subject: [PATCH 06/29] docs(index): remove benchmarks page from docs Competitive benchmark results are point-in-time evaluation content that reads as a current claim in reference documentation, so the comparison moves to the launch blog post. Co-authored-by: Cursor --- changelog.mdx | 1 - docs.json | 3 +- redirects.json | 4 -- search-index/benchmarks.mdx | 86 ------------------------------------- search-index/index.mdx | 2 - 5 files changed, 1 insertion(+), 95 deletions(-) delete mode 100644 search-index/benchmarks.mdx diff --git a/changelog.mdx b/changelog.mdx index 53522e745d..032c4d0491 100644 --- a/changelog.mdx +++ b/changelog.mdx @@ -13,7 +13,6 @@ noindex: true - **Public MCP server:** Connect [Claude Code](/search-index/claude-code) or [Cursor](/search-index/cursor) without an API key. The `context` tool returns source-cited material for implementation tasks. - **Access-controlled REST API:** Search ranked sources, assemble token-budgeted context, and retrieve selected contents through separate API endpoints. - - **Benchmark results:** Review Mintlify's [methodology, results, and limitations](/search-index/benchmarks) from two name-blinded comparisons with Context7 covering 250 developer tasks. diff --git a/docs.json b/docs.json index 6d15b1ade0..ec5938c748 100644 --- a/docs.json +++ b/docs.json @@ -48,8 +48,7 @@ "pages": [ "search-index/claude-code", "search-index/cursor", - "search-index/mcp", - "search-index/benchmarks" + "search-index/mcp" ] } ] diff --git a/redirects.json b/redirects.json index b690ffadcb..f197a902a2 100644 --- a/redirects.json +++ b/redirects.json @@ -19,10 +19,6 @@ "source": "/index/mcp", "destination": "/search-index/mcp" }, - { - "source": "/index/benchmarks", - "destination": "/search-index/benchmarks" - }, { "source": "/index/api-reference/introduction", "destination": "/search-index/api-reference/introduction" diff --git a/search-index/benchmarks.mdx b/search-index/benchmarks.mdx deleted file mode 100644 index 690cd0a0e9..0000000000 --- a/search-index/benchmarks.mdx +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: "Mintlify Index benchmark methodology and results" -sidebarTitle: "Benchmarks" -description: "Review the task sets, evaluation method, results, and limitations of the Mintlify Index comparison with Context7." -keywords: ["Mintlify Index", "Context7", "benchmark", "evaluation", "retrieval quality"] ---- - -We evaluated Mintlify Index against Context7 in two name-blinded benchmarks covering 250 developer tasks. The pairwise judge preferred the Index-backed response in 175 of 245 decisive comparisons, or 71.4%. Five comparisons were ties. - - - The combined result is a descriptive summary, not a single experiment. The two benchmarks used different task sets and adjacent Index versions, so interpret each benchmark separately. - - -## Pairwise results - -| Benchmark | Tasks | Index wins | Context7 wins | Ties | Index win rate, excluding ties | -| --- | ---: | ---: | ---: | ---: | ---: | -| Context7-style | 100 | 79 | 20 | 1 | 79.8% | -| Broad implementation | 150 | 96 | 50 | 4 | 65.8% | -| Combined, descriptive | 250 | 175 | 70 | 5 | 71.4% | - -### Results by task type - -Each task type contained 50 questions. - -| Task type | Index wins | Context7 wins | Ties | Index win rate, excluding ties | -| --- | ---: | ---: | ---: | ---: | -| General or conceptual questions | 41 | 8 | 1 | 83.7% | -| Context7-style production implementation | 38 | 12 | 0 | 76.0% | -| Cross-product implementation | 34 | 15 | 1 | 69.4% | -| Documentation lookup | 31 | 16 | 3 | 66.0% | -| Single-product synthesis | 31 | 19 | 0 | 62.0% | - -### End-to-end completion time - -The timing measurement covers the planner's retrieval and response generation. It excludes reference construction and judging and does not represent raw Index API latency. - -| Benchmark | Change in mean completion time | -| --- | ---: | -| Context7-style | 39% lower with Index | -| Broad implementation | 48% lower with Index | - -## Task sets - -### Context7-style benchmark - -This benchmark was designed to approximate Context7's core use cases: - -- 50 general or conceptual developer questions. -- 50 production implementation questions. - -### Broad implementation benchmark - -This benchmark covers a wider range of retrieval and planning work: - -- 50 documentation lookups. -- 50 single-product synthesis tasks. -- 50 cross-product implementation tasks. - -## Evaluation method - - - - Each task includes a planning request, implementation constraints, and required information. - - - Separate research runs collect official setup instructions, API contracts, version constraints, failure modes, security considerations, and operational guidance. Their evidence-backed claims form the reference used by the judges. - - - Within each benchmark, both arms use the same task set and planner configuration with different retrieval integrations. - - - The pairwise judge does not see the retrieval-system names, and response order is randomized. It selects an overall winner or tie and records criterion-level preferences, critical errors, and a rationale. - - - -A separate absolute scoring pass rates each criterion from 0 to 4 and normalizes scores to a 0–1 scale. The criteria cover factual correctness, required-information coverage, implementation actionability, citation entailment, constraint and security handling, and freshness. - -## Limitations - -- Mintlify designed and ran this LLM-judged evaluation. It has not been independently validated by a third party. -- Name blinding hides the retrieval-system names and randomizes response order. It does not hide response content or citations. -- The tasks focus on products with documentation hosted on Mintlify. -- The two task sets differ in scope and difficulty. -- Pairwise preferences are not calculated directly from the absolute scores. -- Completion time measures the planner run, not raw API latency. diff --git a/search-index/index.mdx b/search-index/index.mdx index 15bf9b4b86..f556af1f1c 100644 --- a/search-index/index.mdx +++ b/search-index/index.mdx @@ -47,5 +47,3 @@ Use Index through the public MCP server or the access-controlled REST API: - **`context`**: Use this for most agent tasks. It returns a compact set of cited source material in one request. - **`search`**: Use this when your application needs ranked results and controls which sources to read. Available through the REST API. - **`contents`**: Use this after `search` to retrieve content for selected Mintlify result IDs or result URLs. Available through the REST API. - -For details about how Index was evaluated, see [Benchmark methodology and results](/search-index/benchmarks). From 67147424eee9795112b3f0233b4f06eeb52c1216 Mon Sep 17 00:00:00 2001 From: Kyan Yang Date: Wed, 5 Aug 2026 01:44:41 -0700 Subject: [PATCH 07/29] docs(index): consolidate agent setup into single Connect page Merge the Claude Code and Cursor setup guides into one tabbed page. Drop the Index redirects as well, since none of the old URLs were ever published. Co-authored-by: Cursor --- changelog.mdx | 2 +- docs.json | 3 +- redirects.json | 36 ------------- search-index/claude-code.mdx | 52 ------------------- search-index/connect.mdx | 99 ++++++++++++++++++++++++++++++++++++ search-index/cursor.mdx | 56 -------------------- search-index/index.mdx | 11 ++-- search-index/mcp.mdx | 2 +- 8 files changed, 106 insertions(+), 155 deletions(-) delete mode 100644 search-index/claude-code.mdx create mode 100644 search-index/connect.mdx delete mode 100644 search-index/cursor.mdx diff --git a/changelog.mdx b/changelog.mdx index 032c4d0491..a9ae359e1d 100644 --- a/changelog.mdx +++ b/changelog.mdx @@ -11,7 +11,7 @@ noindex: true [Mintlify Index](/search-index/) gives coding agents one retrieval layer for publisher-maintained technical documentation and the web. - - **Public MCP server:** Connect [Claude Code](/search-index/claude-code) or [Cursor](/search-index/cursor) without an API key. The `context` tool returns source-cited material for implementation tasks. + - **Public MCP server:** [Connect](/search-index/connect) Claude Code or Cursor without an API key. The `context` tool returns source-cited material for implementation tasks. - **Access-controlled REST API:** Search ranked sources, assemble token-budgeted context, and retrieve selected contents through separate API endpoints. diff --git a/docs.json b/docs.json index ec5938c748..7d13f8a0c6 100644 --- a/docs.json +++ b/docs.json @@ -46,8 +46,7 @@ "group": "Mintlify Index", "root": "search-index/index", "pages": [ - "search-index/claude-code", - "search-index/cursor", + "search-index/connect", "search-index/mcp" ] } diff --git a/redirects.json b/redirects.json index f197a902a2..eb5b2db6de 100644 --- a/redirects.json +++ b/redirects.json @@ -1,40 +1,4 @@ [ - { - "source": "/index/overview", - "destination": "/search-index/" - }, - { - "source": "/search-index/overview", - "destination": "/search-index/" - }, - { - "source": "/index/claude-code", - "destination": "/search-index/claude-code" - }, - { - "source": "/index/cursor", - "destination": "/search-index/cursor" - }, - { - "source": "/index/mcp", - "destination": "/search-index/mcp" - }, - { - "source": "/index/api-reference/introduction", - "destination": "/search-index/api-reference/introduction" - }, - { - "source": "/index/api-reference/context", - "destination": "/search-index/api-reference/context" - }, - { - "source": "/index/api-reference/search", - "destination": "/search-index/api-reference/search" - }, - { - "source": "/index/api-reference/contents", - "destination": "/search-index/api-reference/contents" - }, { "source": "/editor/drafts", "destination": "/editor/branching-and-publishing" diff --git a/search-index/claude-code.mdx b/search-index/claude-code.mdx deleted file mode 100644 index e4837bd6e4..0000000000 --- a/search-index/claude-code.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "Connect Mintlify Index to Claude Code" -sidebarTitle: "Claude Code" -description: "Connect Claude Code to the Mintlify Index MCP server for current, source-cited technical context." -keywords: ["Mintlify Index", "Claude Code", "MCP", "technical documentation"] ---- - -Connect Claude Code to Mintlify Index so it can retrieve current technical documentation and web context while it plans and writes code. - - - You do not need a Mintlify account or API key to connect to the public Index MCP server. - - -## Add the Index MCP server - - - - Run the following command: - - ```bash - claude mcp add --transport http mintlify-index https://index.mintlify.com - ``` - - - List your configured MCP servers: - - ```bash - claude mcp list - ``` - - The output should include `mintlify-index` with a connected status. - - - Start a new Claude Code session and ask an implementation question. For example: - - ```text - Use Mintlify Index to find the current recommended way to configure caching in Next.js 16. Cite the sources you use. - ``` - - Claude Code calls the Index `context` tool when it needs technical context and includes the returned source links in its work. - - - -## Remove the connection - -Run: - -```bash -claude mcp remove mintlify-index -``` - -See the [Index MCP reference](/search-index/mcp) for tool inputs and rate limits. diff --git a/search-index/connect.mdx b/search-index/connect.mdx new file mode 100644 index 0000000000..334aa1f0f8 --- /dev/null +++ b/search-index/connect.mdx @@ -0,0 +1,99 @@ +--- +title: "Connect Mintlify Index to your coding agent" +sidebarTitle: "Connect" +description: "Connect Claude Code or Cursor to the Mintlify Index MCP server for current, source-cited technical context." +keywords: ["Mintlify Index", "Claude Code", "Cursor", "MCP", "technical documentation"] +--- + +import { PreviewButton } from "/snippets/previewbutton.jsx" + +Connect your coding agent to Mintlify Index so it can retrieve current technical documentation and web context while it plans and writes code. + + + You do not need a Mintlify account or API key to connect to the public Index MCP server. + + +## Add the Index MCP server + +Select your coding agent. Your selection applies to every set of instructions on this page. + + + + + + Run the following command: + + ```bash + claude mcp add --transport http mintlify-index https://index.mintlify.com + ``` + + + List your configured MCP servers: + + ```bash + claude mcp list + ``` + + The output should include `mintlify-index` with a connected status. + + + + + Select **Install in Cursor**, review the MCP configuration, and approve the installation. + + Install in Cursor + + To configure Cursor manually instead: + + + + 1. Open the command palette with Command + Shift + P (Ctrl + Shift + P on Windows). + 2. Search for **Open MCP settings**. + 3. Select **Add custom MCP** to open `mcp.json`. + + + Add the following server: + + ```json + { + "mcpServers": { + "mintlify-index": { + "url": "https://index.mintlify.com" + } + } + } + ``` + + + Reload Cursor, then open **Settings → Tools & MCP**. The `mintlify-index` server should show as connected with the `context` tool available. + + + + + +## Use Index in a session + +Ask an implementation question and tell your agent to use Index when you want to ensure it retrieves current sources. For example: + +```text +Use Mintlify Index to find the current recommended way to configure caching in Next.js 16. Cite the sources you use. +``` + +The agent calls the Index `context` tool when it needs technical context and includes the returned source links in its work. + +## Remove the connection + + + + Run the following command: + + ```bash + claude mcp remove mintlify-index + ``` + + + Open **Settings → Tools & MCP**, then delete the `mintlify-index` entry from `mcp.json`. + + + +See the [Index MCP reference](/search-index/mcp) for tool inputs and rate limits. diff --git a/search-index/cursor.mdx b/search-index/cursor.mdx deleted file mode 100644 index 044f657a95..0000000000 --- a/search-index/cursor.mdx +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Connect Mintlify Index to Cursor" -sidebarTitle: "Cursor" -description: "Connect Cursor to the Mintlify Index MCP server for current, source-cited technical context." -keywords: ["Mintlify Index", "Cursor", "MCP", "technical documentation"] ---- - -import { PreviewButton } from "/snippets/previewbutton.jsx" - -Connect Cursor to Mintlify Index so its agent can retrieve current technical documentation and web context while you work. - - - You do not need a Mintlify account or API key to connect to the public Index MCP server. - - -## Install in Cursor - -Install in Cursor - -Select **Install in Cursor**, review the MCP configuration, and approve the installation. - -## Configure Cursor manually - - - - 1. Open the command palette with Command + Shift + P (Ctrl + Shift + P on Windows). - 2. Search for **Open MCP settings**. - 3. Select **Add custom MCP** to open `mcp.json`. - - - Add the following server: - - ```json - { - "mcpServers": { - "mintlify-index": { - "url": "https://index.mintlify.com" - } - } - } - ``` - - - Reload Cursor, then open **Settings → Tools & MCP**. The `mintlify-index` server should show as connected with the `context` tool available. - - - -## Use Index - -Ask the agent an implementation question and tell it to use Index when you want to ensure it retrieves current sources. For example: - -```text -Use Mintlify Index to find the current recommended way to configure caching in Next.js 16. Cite the sources you use. -``` - -See the [Index MCP reference](/search-index/mcp) for tool inputs and rate limits. diff --git a/search-index/index.mdx b/search-index/index.mdx index f556af1f1c..fd411289fa 100644 --- a/search-index/index.mdx +++ b/search-index/index.mdx @@ -13,14 +13,11 @@ Use Index through the public MCP server or the access-controlled REST API: ## Get started - - - Connect Claude Code to Index from the command line. + + + Add Index to Claude Code or Cursor. - - Add Index to Cursor with one click or configure it manually. - - + Review the `context` tool, input fields, output, and rate limits. diff --git a/search-index/mcp.mdx b/search-index/mcp.mdx index 50de1e7dd3..5566f0482c 100644 --- a/search-index/mcp.mdx +++ b/search-index/mcp.mdx @@ -11,7 +11,7 @@ The Mintlify Index MCP server gives AI tools read-only access to technical docum https://index.mintlify.com ``` -You do not need to authenticate to the public server. Connect it to a supported client using the [Claude Code](/search-index/claude-code) or [Cursor](/search-index/cursor) guide. +You do not need to authenticate to the public server. See [Connect](/search-index/connect) for Claude Code and Cursor setup instructions. The Index MCP searches across covered product documentation and the technical web. To search only the content on a specific Mintlify-hosted site, use that site's [search MCP server](/ai/model-context-protocol). From 8a7ddfef664f01075b5494cdc51fccc28adee260 Mon Sep 17 00:00:00 2001 From: Kyan Yang Date: Wed, 5 Aug 2026 08:55:04 -0700 Subject: [PATCH 08/29] refactor(navigation): rename Index overview page to overview.mdx Update internal links and add redirects from legacy /search-index paths. Co-authored-by: Cursor --- ai-native.mdx | 2 +- ai/model-context-protocol.mdx | 2 +- changelog.mdx | 2 +- docs.json | 2 +- redirects.json | 8 ++++++++ search-index/{index.mdx => overview.mdx} | 0 6 files changed, 12 insertions(+), 4 deletions(-) rename search-index/{index.mdx => overview.mdx} (100%) diff --git a/ai-native.mdx b/ai-native.mdx index ef620bf54f..467c5d832c 100644 --- a/ai-native.mdx +++ b/ai-native.mdx @@ -39,7 +39,7 @@ Mintlify hosts `llms.txt` and `skill.md` files for your documentation. These ind 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. -For implementation questions that span products, [Mintlify Index](/search-index/) gives coding agents one MCP server and REST API for retrieving context from publisher-maintained documentation and the technical web. +For implementation questions that span products, [Mintlify Index](/search-index/overview) gives coding agents one MCP server and REST API for retrieving context from publisher-maintained documentation and the technical web. Full-text search and semantic understanding help users and AI tools find relevant information quickly. Search understands user intent rather than just matching keywords. And if a user encounters a 404 error, your site suggests related pages to help them find what they're looking for. No configuration required. diff --git a/ai/model-context-protocol.mdx b/ai/model-context-protocol.mdx index 8c1c3d8704..e2f2dafd19 100644 --- a/ai/model-context-protocol.mdx +++ b/ai/model-context-protocol.mdx @@ -14,7 +14,7 @@ The Model Context Protocol (MCP) is an open protocol that creates standardized c Your search MCP server exposes tools for AI applications to search and retrieve your content. Your users must connect your search MCP server to their tools. - To let trusted agents edit your content, use the [admin MCP server](/ai/mintlify-mcp). To give coding agents one retrieval source across product documentation and the technical web, use [Mintlify Index](/search-index/). + To let trusted agents edit your content, use the [admin MCP server](/ai/mintlify-mcp). To give coding agents one retrieval source across product documentation and the technical web, use [Mintlify Index](/search-index/overview). ### How MCP servers work diff --git a/changelog.mdx b/changelog.mdx index a9ae359e1d..13fdf7b9d8 100644 --- a/changelog.mdx +++ b/changelog.mdx @@ -9,7 +9,7 @@ noindex: true ## Mintlify Index - [Mintlify Index](/search-index/) gives coding agents one retrieval layer for publisher-maintained technical documentation and the web. + [Mintlify Index](/search-index/overview) gives coding agents one retrieval layer for publisher-maintained technical documentation and the web. - **Public MCP server:** [Connect](/search-index/connect) Claude Code or Cursor without an API key. The `context` tool returns source-cited material for implementation tasks. - **Access-controlled REST API:** Search ranked sources, assemble token-budgeted context, and retrieve selected contents through separate API endpoints. diff --git a/docs.json b/docs.json index 7d13f8a0c6..01b4a1d692 100644 --- a/docs.json +++ b/docs.json @@ -44,7 +44,7 @@ "ai-native", { "group": "Mintlify Index", - "root": "search-index/index", + "root": "search-index/overview", "pages": [ "search-index/connect", "search-index/mcp" diff --git a/redirects.json b/redirects.json index eb5b2db6de..e2d32f4cff 100644 --- a/redirects.json +++ b/redirects.json @@ -486,5 +486,13 @@ { "source": "/guides/use-workflows", "destination": "/guides/use-automations" + }, + { + "source": "/search-index", + "destination": "/search-index/overview" + }, + { + "source": "/search-index/index", + "destination": "/search-index/overview" } ] diff --git a/search-index/index.mdx b/search-index/overview.mdx similarity index 100% rename from search-index/index.mdx rename to search-index/overview.mdx From 10f7abd89bfa1123be7cec8548f5dac09074be6e Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 13:36:42 -0700 Subject: [PATCH 09/29] update MCP comparison table --- ai/mintlify-mcp.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ai/mintlify-mcp.mdx b/ai/mintlify-mcp.mdx index 1c96f440f5..e6a665d03e 100644 --- a/ai/mintlify-mcp.mdx +++ b/ai/mintlify-mcp.mdx @@ -21,10 +21,10 @@ The admin MCP is a hosted Mintlify service at `https://mcp.mintlify.com`. Every | | Admin MCP | Search MCP | Index MCP | | :-- | :-- | :-- | :-- | -| **Audience** | Your team | Your end users | Developers and coding agents | -| **Access** | Read, edit, restructure, save, create workflows, manage settings | Read and search one site's published pages | Read technical documentation and web context | +| **Audience** | Your team | Your end users | All developers and agents | +| **Access** | Read, edit, restructure, save, create workflows, manage settings | Read and search one site's published pages | Read and search all Mintlify sites | | **Endpoint** | `https://mcp.mintlify.com` | `/mcp` on your site domain | `https://index.mintlify.com` | -| **Output** | Content edits, navigation changes, pull requests, workflow runs | Search results and page content | Source-cited technical context | +| **Output** | Content edits, navigation changes, pull requests, workflow runs | Search results and page content from your site | Search results and page content from all Mintlify sites | See the [Mintlify Index MCP reference](/search-index/mcp) for its tool inputs and rate limits. From 9827f70d87bd99e7a19580e7446081a8d11d0a04 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 13:37:54 -0700 Subject: [PATCH 10/29] update MCP selection tip --- ai/model-context-protocol.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ai/model-context-protocol.mdx b/ai/model-context-protocol.mdx index e2f2dafd19..41b4f22b86 100644 --- a/ai/model-context-protocol.mdx +++ b/ai/model-context-protocol.mdx @@ -14,7 +14,7 @@ The Model Context Protocol (MCP) is an open protocol that creates standardized c Your search MCP server exposes tools for AI applications to search and retrieve your content. Your users must connect your search MCP server to their tools. - To let trusted agents edit your content, use the [admin MCP server](/ai/mintlify-mcp). To give coding agents one retrieval source across product documentation and the technical web, use [Mintlify Index](/search-index/overview). + To let trusted agents edit your content, use the [admin MCP server](/ai/mintlify-mcp). To give coding agents one retrieval source across all Mintlify sites, use [Mintlify Index](/search-index). ### How MCP servers work From 4288e5abfbec9ec66b5679f7b65c5ed5b7216ebf Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 13:38:04 -0700 Subject: [PATCH 11/29] rename overview.mdx to index.mdx --- search-index/{overview.mdx => index.mdx} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename search-index/{overview.mdx => index.mdx} (100%) diff --git a/search-index/overview.mdx b/search-index/index.mdx similarity index 100% rename from search-index/overview.mdx rename to search-index/index.mdx From 54638bafa7634230211448660e07726b52b2eaf7 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 13:38:39 -0700 Subject: [PATCH 12/29] remove unused redirects --- redirects.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/redirects.json b/redirects.json index e2d32f4cff..eb5b2db6de 100644 --- a/redirects.json +++ b/redirects.json @@ -486,13 +486,5 @@ { "source": "/guides/use-workflows", "destination": "/guides/use-automations" - }, - { - "source": "/search-index", - "destination": "/search-index/overview" - }, - { - "source": "/search-index/index", - "destination": "/search-index/overview" } ] From 7eb7f19659db37d07484bb06b737448f59a3757b Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 13:49:37 -0700 Subject: [PATCH 13/29] copyedit API introduction --- api/introduction.mdx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/api/introduction.mdx b/api/introduction.mdx index 79d46fb83f..824dcb0d7d 100644 --- a/api/introduction.mdx +++ b/api/introduction.mdx @@ -6,7 +6,9 @@ boost: 3 --- - The platform REST API requires a [Pro or Enterprise plan](https://mintlify.com/pricing?ref=api). The [Mintlify Index REST API](/search-index/api-reference/introduction) uses a separate API key and base URL. + The platform REST API requires a [Pro or Enterprise plan](https://mintlify.com/pricing?ref=api). + + The [Mintlify Index REST API](/search-index/api-reference/introduction) uses a separate API key and base URL. The Mintlify REST (Representational State Transfer) API enables you to programmatically interact with your documentation, trigger updates, embed AI-powered chat experiences, and export analytics data. @@ -45,9 +47,9 @@ The Mintlify REST (Representational State Transfer) API enables you to programma ## 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 are organization-scoped. Assistant API keys are scoped 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 withing the same organization. Assistant API keys belong to the deployment where you create them. -You can create up to 10 admin API keys per hour per organization. +You can create up to 10 API keys per hour per organization. When you create a key, you can set it to expire in 7, 30, 60, or 90 days, or select **No expiration**. New keys default to 90 days. The API keys page shows an **Expires in …** badge for keys that expire within 7 days and an **Expired** badge for keys that have already expired. Expired keys stop working, so rotate or replace them before the expiration date. @@ -105,7 +107,7 @@ Assistant API keys begin with the `mint_dsc_` prefix. ### Index API key -Use an Index API key to authenticate requests to the [Mintlify Index REST API](/search-index/api-reference/introduction). Index API keys begin with the `mint_us_` prefix and are available to organizations with Index REST API access. +Use an Index API key to authenticate requests to the [Mintlify Index](/search-index) REST API. Index API keys begin with the `mint_us_` prefix. The Index API key is a server-side secret. Do not expose it in client-side code. @@ -143,7 +145,7 @@ The scope only accepts `read` and `write`. Any other value returns a `400` respo ### Set an expiration date -Optionally set an expiration date on any API key at creation. After the expiration timestamp passes, requests using the key return a `401` response. Admin, assistant, and Index API keys support expiration. +Optionally set an expiration date on any API key at creation. After the expiration timestamp passes, requests using the key return a `401` response. All API keys support expiration. Set the expiration on the [API keys page](https://app.mintlify.com/settings/organization/api-keys) in your dashboard. You set the expiration for the lifetime of the key. To change it, you must create a new key. If you don't set an expiration, the key never expires. From a6a76ca1597fb6a5fd926bffe9941df67a91ee54 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 13:50:25 -0700 Subject: [PATCH 14/29] move endpoint pages to API group --- {search-index/api-reference => api/search-index}/contents.mdx | 0 {search-index/api-reference => api/search-index}/context.mdx | 0 {search-index/api-reference => api/search-index}/introduction.mdx | 0 {search-index/api-reference => api/search-index}/search.mdx | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {search-index/api-reference => api/search-index}/contents.mdx (100%) rename {search-index/api-reference => api/search-index}/context.mdx (100%) rename {search-index/api-reference => api/search-index}/introduction.mdx (100%) rename {search-index/api-reference => api/search-index}/search.mdx (100%) diff --git a/search-index/api-reference/contents.mdx b/api/search-index/contents.mdx similarity index 100% rename from search-index/api-reference/contents.mdx rename to api/search-index/contents.mdx diff --git a/search-index/api-reference/context.mdx b/api/search-index/context.mdx similarity index 100% rename from search-index/api-reference/context.mdx rename to api/search-index/context.mdx diff --git a/search-index/api-reference/introduction.mdx b/api/search-index/introduction.mdx similarity index 100% rename from search-index/api-reference/introduction.mdx rename to api/search-index/introduction.mdx diff --git a/search-index/api-reference/search.mdx b/api/search-index/search.mdx similarity index 100% rename from search-index/api-reference/search.mdx rename to api/search-index/search.mdx From f4ccabe0548c376e0ce2815580e15669c805a0a7 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 13:56:42 -0700 Subject: [PATCH 15/29] update docs.json for moved endpoint pages --- docs.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs.json b/docs.json index 01b4a1d692..69430fb519 100644 --- a/docs.json +++ b/docs.json @@ -358,6 +358,16 @@ "api/assistant/get-page-content" ] }, + { + "group": "Mintlify Index", + "icon": "library", + "pages": [ + "api/search-index/introduction", + "api/search-index/context", + "api/search-index/search", + "api/search-index/contents" + ] + }, { "group": "Analytics", "icon": "chart-line", @@ -379,16 +389,6 @@ "api/static-export/get-job-status", "api/static-export/generate-bundle" ] - }, - { - "group": "Mintlify Index", - "icon": "search", - "root": "search-index/api-reference/introduction", - "pages": [ - "search-index/api-reference/context", - "search-index/api-reference/search", - "search-index/api-reference/contents" - ] } ] }, From cbf815683235e3097a916cb2cf475b4edb572b99 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:02:36 -0700 Subject: [PATCH 16/29] update nav --- docs.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs.json b/docs.json index 69430fb519..0e5373c2c1 100644 --- a/docs.json +++ b/docs.json @@ -41,15 +41,7 @@ "cli/commands" ] }, - "ai-native", - { - "group": "Mintlify Index", - "root": "search-index/overview", - "pages": [ - "search-index/connect", - "search-index/mcp" - ] - } + "ai-native" ] }, { @@ -256,6 +248,14 @@ "ai/skillmd", "ai/model-context-protocol", "optimize/search", + { + "group": "Mintlify Index", + "pages": [ + "search-index/index", + "search-index/connect", + "search-index/mcp" + ] + }, "optimize/seo", "ai/markdown-export", "optimize/pdf-exports", From eec9a0d7508c7afd7b077aecdf27b238a141315e Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:08:09 -0700 Subject: [PATCH 17/29] copy edit API intro --- api/search-index/introduction.mdx | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/api/search-index/introduction.mdx b/api/search-index/introduction.mdx index fc248c9753..1a3699b93a 100644 --- a/api/search-index/introduction.mdx +++ b/api/search-index/introduction.mdx @@ -1,18 +1,18 @@ --- title: "Mintlify Index REST API" sidebarTitle: "Overview" -description: "Authenticate with the Mintlify Index REST API and use its search, context, and contents endpoints." +description: "Use the Mintlify Index REST API to search documentation and the web, assemble source-cited context, and retrieve page contents for applications and agents." keywords: ["Mintlify Index API", "REST API", "authentication", "API key"] --- Use the Mintlify Index REST API to retrieve technical knowledge for applications and agents. The API supports three retrieval patterns: -- [`context`](/search-index/api-reference/context) assembles source-cited content within a token budget. -- [`search`](/search-index/api-reference/search) returns ranked documentation and web results. -- [`contents`](/search-index/api-reference/contents) retrieves content for selected Mintlify result IDs or result URLs. +- [`context`](/api/search-index/context) assembles source-cited content within a token budget. +- [`search`](/api/search-index/search) returns ranked documentation and web results. +- [`contents`](/api/search-index/contents) retrieves content for selected Mintlify result IDs or result URLs. - The REST API requires access 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 MCP server](/search-index/mcp) does not require an API key. ## Base URL @@ -20,10 +20,10 @@ Use the Mintlify Index REST API to retrieve technical knowledge for applications Send REST API requests to: ```text -https://leaves.mintlify.com/api/universal-search +https://leaves.mintlify.com/api/universal-search/v1 ``` -Endpoints use the `/v1` path. +Append an endpoint path to this base URL, for example `/context`, `/search`, or `/contents`. ## Authentication @@ -37,12 +37,12 @@ Index API keys begin with `mint_us_`. - Open the [API keys page](https://app.mintlify.com/settings/organization/api-keys) in the dashboard and create an Index API key. + Open the [API keys page](https://app.mintlify.com/settings/organization/api-keys) in your dashboard and create an Index API key. - If this key type is unavailable, your organization does not currently have Index REST API access. + If this key type is unavailable, your organization does not have access to the Index REST API. - Save the key in a server-side environment variable. Mintlify displays the complete key only when you create it. + Save the key in a server-side environment variable. Mintlify only displays the complete key when you first create it. Store it securely. ```bash export MINTLIFY_INDEX_API_KEY="mint_us_..." @@ -80,7 +80,7 @@ REST API limits apply per API key and per Mintlify organization: | Per second | 10 requests | | Per day | 1,000 requests | -Requests above either limit return `429 Too Many Requests`. Use exponential backoff before retrying. +Requests exceeding either limit return `429 Too Many Requests`. Use exponential backoff before retrying. ## Errors From ef27257eddefe301db8d4b8ab1b4b0b7d6bd01df Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:08:58 -0700 Subject: [PATCH 18/29] update endpoint descriptions --- api/search-index/contents.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/search-index/contents.mdx b/api/search-index/contents.mdx index 1d3f790ceb..fd28cb9743 100644 --- a/api/search-index/contents.mdx +++ b/api/search-index/contents.mdx @@ -1,7 +1,7 @@ --- title: "Get result contents" sidebarTitle: "Contents" -description: "Retrieve content from Mintlify Index by Mintlify result ID or result URL after searching." +description: "Retrieve content from Mintlify Index by result ID or result URL after searching." keywords: ["Mintlify Index", "contents API", "result IDs", "URLs"] openapi: "/index-openapi.json POST /v1/contents" --- From b7cf77420e1300ef2cecdfbc0f8c3cd55d14bfc4 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:14:36 -0700 Subject: [PATCH 19/29] fix broken links --- api/introduction.mdx | 2 +- search-index/index.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/introduction.mdx b/api/introduction.mdx index 824dcb0d7d..5781adc490 100644 --- a/api/introduction.mdx +++ b/api/introduction.mdx @@ -8,7 +8,7 @@ boost: 3 The platform REST API requires a [Pro or Enterprise plan](https://mintlify.com/pricing?ref=api). - The [Mintlify Index REST API](/search-index/api-reference/introduction) uses a separate API key and base URL. + The [Mintlify Index REST API](/api/search-index/introduction) uses a separate API key and base URL. The Mintlify REST (Representational State Transfer) API enables you to programmatically interact with your documentation, trigger updates, embed AI-powered chat experiences, and export analytics data. diff --git a/search-index/index.mdx b/search-index/index.mdx index fd411289fa..5884b5efe0 100644 --- a/search-index/index.mdx +++ b/search-index/index.mdx @@ -20,7 +20,7 @@ Use Index through the public MCP server or the access-controlled REST API: Review the `context` tool, input fields, output, and rate limits. - + Use `search`, `context`, and `contents` in an application or agent. From 1f7b2ae2af74f0bbfea7228a770334cf35febffa Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:16:33 -0700 Subject: [PATCH 20/29] update 400 response in API schema --- index-openapi.json | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/index-openapi.json b/index-openapi.json index 16acd2ae5e..c65d0639e4 100644 --- a/index-openapi.json +++ b/index-openapi.json @@ -171,6 +171,19 @@ } }, "responses": { + "400": { + "description": "The request body is invalid.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + }, + "example": { + "error": "A request may reference at most 20 items across urls and ids" + } + } + } + }, "200": { "description": "Content retrieval completed. Check each status to determine whether its item succeeded.", "content": { @@ -208,9 +221,6 @@ } } }, - "400": { - "$ref": "#/components/responses/BadRequest" - }, "401": { "$ref": "#/components/responses/Unauthorized" }, From 632a4fe5764444d21df517c6933f4171bcb427c5 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:19:38 -0700 Subject: [PATCH 21/29] clarify `publishedDate` --- index-openapi.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index-openapi.json b/index-openapi.json index c65d0639e4..7fb138d227 100644 --- a/index-openapi.json +++ b/index-openapi.json @@ -549,7 +549,7 @@ "publishedDate": { "type": "string", "nullable": true, - "description": "Published date when the source provides one. The value can be a full timestamp or a date-only string." + "description": "Published date when the source provides one, otherwise `null`. `search` results normalize this to a full ISO 8601 timestamp. `contents` results retrieved by `urls` pass the source's original date string through unnormalized, which can be a full timestamp or a date-only string." } } }, From 2be411350672a1702fe560bad4b3970d60c5c365 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:22:24 -0700 Subject: [PATCH 22/29] clarify rate limits --- api/search-index/introduction.mdx | 4 ++-- index-openapi.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/api/search-index/introduction.mdx b/api/search-index/introduction.mdx index 1a3699b93a..623547045a 100644 --- a/api/search-index/introduction.mdx +++ b/api/search-index/introduction.mdx @@ -73,7 +73,7 @@ Index API keys begin with `mint_us_`. ## Rate limits -REST API limits apply per API key and per Mintlify organization: +REST API limits apply per Mintlify organization. All API keys in an organization share the same limit: | Window | Limit | | --- | ---: | @@ -89,5 +89,5 @@ Requests exceeding either limit return `429 Too Many Requests`. Use exponential | `400` | The request body is invalid. | | `401` | The API key is missing or invalid, or the organization does not have Index REST API access. | | `403` | The request IP is not allowed by the API key. | -| `429` | The API key or organization exceeded a rate limit. | +| `429` | The organization exceeded a rate limit. | | `500` | Index could not complete the request. | diff --git a/index-openapi.json b/index-openapi.json index 7fb138d227..24d0d8e5ee 100644 --- a/index-openapi.json +++ b/index-openapi.json @@ -287,7 +287,7 @@ } }, "RateLimited": { - "description": "The API key or organization exceeded a rate limit.", + "description": "The organization exceeded a rate limit.", "content": { "application/json": { "schema": { From 6e034e138e0b8a6fe9cf283236070f2dce12b861 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:22:31 -0700 Subject: [PATCH 23/29] add sidbarTitle --- search-index/index.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/search-index/index.mdx b/search-index/index.mdx index 5884b5efe0..023eef3039 100644 --- a/search-index/index.mdx +++ b/search-index/index.mdx @@ -1,5 +1,6 @@ --- title: "Mintlify Index" +sidebarTitle: "Overview" description: "Give coding agents current technical context from publisher-maintained documentation and the web through one MCP server or REST API." keywords: ["Mintlify Index", "technical search", "coding agents", "MCP", "REST API"] --- From 9337d95f3feb4e5b9b762bea6fe1162e701e1dc6 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 14:29:59 -0700 Subject: [PATCH 24/29] copy edit Index overview page --- search-index/index.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/search-index/index.mdx b/search-index/index.mdx index 023eef3039..beb228721e 100644 --- a/search-index/index.mdx +++ b/search-index/index.mdx @@ -5,18 +5,18 @@ description: "Give coding agents current technical context from publisher-mainta keywords: ["Mintlify Index", "technical search", "coding agents", "MCP", "REST API"] --- -Mintlify Index gives coding agents one search layer for technical knowledge. It routes questions about covered products to publisher-maintained documentation hosted on Mintlify and uses web search for questions outside that corpus. +Mintlify Index gives coding agents one search layer for technical knowledge. It routes questions about indexed products to publisher-maintained documentation hosted on Mintlify and uses web search for questions outside that corpus. -Use Index through the public MCP server or the access-controlled REST API: +Use Index through the public MCP server or the access-controlled REST API. -- **MCP server**: Connect an AI tool and let it retrieve source-cited context while you work. It does not require an API key. -- **REST API**: Search for ranked sources, assemble context within a token budget, or retrieve the contents of selected results. REST API access requires an Index API key. +- **MCP server**: Connect an AI tool and let it retrieve source-cited context while you work. Publicly available. Does not require an API key. +- **REST API**: Search for ranked sources, assemble context within a token budget, or retrieve the contents of selected results. Access-controlled. Requires an Index API key. ## Get started - Add Index to Claude Code or Cursor. + Add Index to Claude Code, Codex, Cursor, and other coding agents. Review the `context` tool, input fields, output, and rate limits. @@ -33,7 +33,7 @@ Use Index through the public MCP server or the access-controlled REST API: Index identifies whether the question concerns a product in its documentation corpus or requires broader web results. - Product-specific questions search current documentation from the publisher. Other questions search the technical web. + Product-specific questions search current documentation from the publisher. Other questions search the web. Index ranks the results and returns source URLs with the relevant content. The MCP `context` tool and REST `context` endpoint assemble that content within a token budget. @@ -42,6 +42,6 @@ Use Index through the public MCP server or the access-controlled REST API: ## Choose a retrieval operation -- **`context`**: Use this for most agent tasks. It returns a compact set of cited source material in one request. -- **`search`**: Use this when your application needs ranked results and controls which sources to read. Available through the REST API. -- **`contents`**: Use this after `search` to retrieve content for selected Mintlify result IDs or result URLs. Available through the REST API. +- **[`context`](/api/search-index/context)**: Use this for most agent tasks. It returns a compact set of cited source material in one request. +- **[`search`](/api/search-index/search)**: Use this when your application needs ranked results and controls which sources to read. Available through the REST API. +- **[`contents`](/api/search-index/contents)**: Use this after `search` to retrieve content for selected Mintlify result IDs or result URLs. Available through the REST API. From dad0fc6d70d518f68b54acdc1f7e4668d7fee427 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 15:07:15 -0700 Subject: [PATCH 25/29] use `mint index` command for connecting --- search-index/connect.mdx | 44 +++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/search-index/connect.mdx b/search-index/connect.mdx index 334aa1f0f8..bcd232bc45 100644 --- a/search-index/connect.mdx +++ b/search-index/connect.mdx @@ -1,21 +1,53 @@ --- title: "Connect Mintlify Index to your coding agent" sidebarTitle: "Connect" -description: "Connect Claude Code or Cursor to the Mintlify Index MCP server for current, source-cited technical context." -keywords: ["Mintlify Index", "Claude Code", "Cursor", "MCP", "technical documentation"] +description: "Set up the Mintlify Index MCP server in Claude Code, Cursor, VS Code, Codex, OpenCode, Windsurf, or Zed with the CLI or manual configuration." +keywords: ["Mintlify Index", "CLI", "Claude Code", "Cursor", "MCP", "technical documentation"] --- import { PreviewButton } from "/snippets/previewbutton.jsx" -Connect your coding agent to Mintlify Index so it can retrieve current technical documentation and web context while it plans and writes code. +Connect your coding agent to Mintlify Index so it can retrieve current technical documentation and web context while it plans and writes code. Index supports Claude Code, Cursor, VS Code, Codex, OpenCode, Windsurf, and Zed. You do not need a Mintlify account or API key to connect to the public Index MCP server. -## Add the Index MCP server +## Set up with the CLI -Select your coding agent. Your selection applies to every set of instructions on this page. +Run the Index setup command to configure one or more coding agents in a single step: + +```bash +npx mint index +``` + +The command detects which supported coding agents you have installed and prompts you to choose which ones to configure. For each agent you select, it adds the Index MCP server to that agent's configuration and installs a rule telling the agent when to use the `context` tool. + +To skip the picker, pass one or more agent flags instead: + +```bash +npx mint index --claude --cursor +``` + +| Flag | Coding agent | +| --- | --- | +| `--claude` | Claude Code | +| `--cursor` | Cursor | +| `--vscode` | VS Code | +| `--codex` | Codex | +| `--opencode` | OpenCode | +| `--windsurf` | Windsurf | +| `--zed` | Zed | + + + Add `--yes` to configure every detected agent without prompting, or `--project` to write the configuration to the current project instead of your global agent settings. Not every agent supports project-level configuration. Those agents always receive the global configuration. + + +Run the command again to update an existing setup or add another agent. + +## Set up manually + +To configure Claude Code or Cursor manually, or to verify what the CLI changed, follow the steps for your agent. @@ -96,4 +128,6 @@ The agent calls the Index `context` tool when it needs technical context and inc +For VS Code, Codex, OpenCode, Windsurf, or Zed, remove the `mintlify-index` entry from that agent's MCP server configuration. + See the [Index MCP reference](/search-index/mcp) for tool inputs and rate limits. From cbea0d8d051cc6fb49e29b2ad5ae7e0092679c94 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 15:07:36 -0700 Subject: [PATCH 26/29] copyedit mcp page --- search-index/mcp.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/search-index/mcp.mdx b/search-index/mcp.mdx index 5566f0482c..09e0328048 100644 --- a/search-index/mcp.mdx +++ b/search-index/mcp.mdx @@ -5,7 +5,7 @@ description: "Reference for the public Mintlify Index MCP server, including its keywords: ["Mintlify Index", "MCP server", "context tool", "rate limits"] --- -The Mintlify Index MCP server gives AI tools read-only access to technical documentation and web context. It is hosted at: +The Mintlify Index MCP server gives AI tools read-only access to technical documentation and web context. Connect to it at: ```text https://index.mintlify.com @@ -30,7 +30,7 @@ Use `context` to research an implementation task and return compact, source-cite - Domains to include in retrieval. When set, results are limited to these domains. + Domains to include in retrieval. When set, retrieval limits results to these domains. @@ -66,7 +66,7 @@ Index applies the following per-IP limits to the public MCP server: | Per second | 10 requests | | Per day | 1,000 requests | -Requests above either limit return `429 Too Many Requests`. Wait before retrying, and use exponential backoff for automated clients. +Requests exceeding either limit return `429 Too Many Requests`. Wait before retrying, and use exponential backoff for automated clients. ## Protocol behavior From fce1cd4195e4efe9e557488756ecdef3e6008ed6 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 15:08:27 -0700 Subject: [PATCH 27/29] =?UTF-8?q?=F0=9F=92=85=20AI=20native=20page?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ai-native.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ai-native.mdx b/ai-native.mdx index 467c5d832c..6606049d52 100644 --- a/ai-native.mdx +++ b/ai-native.mdx @@ -39,7 +39,7 @@ Mintlify hosts `llms.txt` and `skill.md` files for your documentation. These ind 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. -For implementation questions that span products, [Mintlify Index](/search-index/overview) gives coding agents one MCP server and REST API for retrieving context from publisher-maintained documentation and the technical web. +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. Full-text search and semantic understanding help users and AI tools find relevant information quickly. Search understands user intent rather than just matching keywords. And if a user encounters a 404 error, your site suggests related pages to help them find what they're looking for. No configuration required. From b5672890348b7984deb085fa196bec3ae77ccbd6 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 15:08:53 -0700 Subject: [PATCH 28/29] remove changelog --- changelog.mdx | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/changelog.mdx b/changelog.mdx index 13fdf7b9d8..d5abe274ee 100644 --- a/changelog.mdx +++ b/changelog.mdx @@ -5,17 +5,6 @@ rss: true noindex: true --- - - - ## Mintlify Index - - [Mintlify Index](/search-index/overview) gives coding agents one retrieval layer for publisher-maintained technical documentation and the web. - - - **Public MCP server:** [Connect](/search-index/connect) Claude Code or Cursor without an API key. The `context` tool returns source-cited material for implementation tasks. - - **Access-controlled REST API:** Search ranked sources, assemble token-budgeted context, and retrieve selected contents through separate API endpoints. - - - ## Mintlify widget From cda4e9b908ae31487e9cd6a7bbd09f6c6d5fe556 Mon Sep 17 00:00:00 2001 From: Ethan Palm <56270045+ethanpalm@users.noreply.github.com> Date: Wed, 5 Aug 2026 15:09:29 -0700 Subject: [PATCH 29/29] Update changelog.mdx --- changelog.mdx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/changelog.mdx b/changelog.mdx index d5abe274ee..1bc80bf337 100644 --- a/changelog.mdx +++ b/changelog.mdx @@ -5,6 +5,17 @@ rss: true noindex: true --- + + + ## Mintlify Index + + [Mintlify Index](/search-index) gives coding agents one retrieval layer for publisher-maintained technical documentation and the web. + + - **Public MCP server:** [Connect](/search-index/connect) coding agents without an API key. The `context` tool returns source-cited material for implementation tasks. + - **Access-controlled REST API:** Search ranked sources, assemble context within a token budget, and retrieve selected contents through separate API endpoints. Requires an Index API key. + + + ## Mintlify widget