---
title: "Connect an MCP client to the documentation server"
description: "The Duale AI MCP server lets clients search documentation and fetch complete pages with canonical URLs without an account or API key."
lang: en
status: public-preview
lastUpdated: 2026-09-04
url: https://duale.ai/en/docs/mcp
---

## AI-generated summary

Connect an MCP client to the Duale AI documentation server to search and fetch pages using a public, read-only endpoint with no authentication.

- Search returns up to eight matches with page IDs; fetch returns the full indexed page.
- Published changes become searchable within six minutes, and page IDs remain stable across updates.
- Raw query text is excluded from telemetry; derived embeddings may persist about one year.
- Discovery complies with AI Catalog 1.0 and MCP Server Card specifications at a well-known URL.

Summaries were generated by AI. Generative AI is experimental.

---

Connect an MCP client to the Duale AI documentation server to search documentation and fetch complete pages with
canonical URLs. The public, read-only server requires no account or API key.

This server searches Duale AI documentation. It is separate from the [Web search](https://duale.ai/en/docs/web.md) that an agent can use
inside a task to find and read public pages.

```text
Suggested name: duale-docs
URL: https://api.beta.duale.ai/mcp
Transport: Streamable HTTP
Authentication: None
```

For a client not listed below, add a remote Streamable HTTP server with these values and leave authentication empty.

## How clients find this server

Duale AI's public MCP discovery complies with the [AI Catalog 1.0 specification](https://ai-catalog.io/spec/) and the
[MCP Server Card specification](https://github.com/modelcontextprotocol/experimental-ext-server-card). Clients can
retrieve the catalog at
[`https://duale.ai/.well-known/ai-catalog.json`](/.well-known/ai-catalog.json).

## Connect a client

Choose your client below, add the same read-only endpoint, then run the verification step for that client.

### Codex

Add the server:

```bash
codex mcp add duale-docs --url https://api.beta.duale.ai/mcp
```

Verify with `codex mcp list`. The ChatGPT desktop app, Codex CLI, and Codex IDE extension share this configuration. See
the [Codex MCP documentation](https://learn.chatgpt.com/docs/extend/mcp) for other scopes and interfaces.

### Claude.ai and Claude Desktop

On Team and Enterprise plans, an owner must first add the custom connector under **Admin settings → Connectors**.
Members can then find it under **Settings → Connectors**. On Free, Pro, and Max plans, select
**Settings → Connectors → Add custom connector**.

1. Enter `https://api.beta.duale.ai/mcp`, then add or connect the connector.
2. In a conversation, select the **+** button, open **Connectors**, and enable the Duale AI connector.

See the [Claude custom connector documentation](https://claude.com/docs/connectors/custom/remote-mcp) for plan-specific
controls.

### Claude Code

Add the server for all projects:

```bash
claude mcp add --transport http --scope user duale-docs https://api.beta.duale.ai/mcp
```

Verify with `claude mcp list`; use `/mcp` to inspect the tools. See the
[Claude Code MCP documentation](https://code.claude.com/docs/en/mcp) for project and managed configuration.

### ChatGPT

Availability and setup depend on your plan and workspace role.

1. **Enable developer mode**

   Follow OpenAI's plan-specific developer-mode instructions. Your plan can require a workspace administrator to grant
   access.
2. **Create the app**

   Under **Settings → Apps** or **Workspace settings → Apps**, start creating an app with
   `https://api.beta.duale.ai/mcp` and no authentication. Select **Scan tools**, confirm that the app exposes `search`
   and `fetch`, then select **Create**.
3. **Use it in a conversation**

   Start a new chat and select the app from the tools menu.

See OpenAI's
[developer mode and MCP apps documentation](https://help.openai.com/en/articles/12584461-developer-mode-apps-and-full-mcp-connectors-in-chatgpt-beta)
for plan and role requirements.

### Cursor

Add the server globally in `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "duale-docs": {
      "url": "https://api.beta.duale.ai/mcp"
    }
  }
}
```

Verify with `agent mcp list`. See the [Cursor MCP documentation](https://cursor.com/docs/mcp) for project-scoped
configuration.

## Verify the connection

Use this prompt:

```text
Use the Duale AI documentation server to explain how model routing works. Fetch the most relevant page and cite its
canonical URL.
```

Success means the client calls `search`, passes one returned page ID to `fetch`, and cites a `https://duale.ai/` URL. If
it answers without using the tools, enable `duale-docs` for the conversation and retry.

## Use search and fetch

Choose the tool from the result you need:

| Tool     | Input                                            | Result                                                                                                                       |
| -------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| `search` | A natural-language `query` of 1–1,000 characters | Up to eight matches from distinct pages. Each match contains an opaque page `id`, matched title, excerpt, and canonical URL. |
| `fetch`  | An exact page `id` returned by `search`          | The current indexed page, including its `id`, page title, complete indexed text, and canonical URL.                          |

Pass a page ID returned by `search` to `fetch`. IDs are opaque, and `fetch` returns the current full page even when
`search` matched a section.

## Content updates

Published changes normally become searchable within six minutes. Page IDs remain stable across updates, and `fetch`
returns the current indexed page. If a page was removed and `fetch` rejects its ID, search again.

## Protect search data

Use the server for public documentation questions. Do not put secrets or personal data in a query. The service excludes
raw query text from application telemetry, but it can retain a derived query embedding for about one year. See the
[Privacy notice](https://duale.ai/en/legal/privacy.md).

## Troubleshoot the MCP connection

Match the symptom to the first recovery action:

| Symptom                            | Action                                                                                         |
| ---------------------------------- | ---------------------------------------------------------------------------------------------- |
| The client cannot connect          | Use the exact `/mcp` URL, Streamable HTTP transport, and no authentication.                    |
| The client does not show the tools | Refresh or reconnect the server, then confirm that `search` and `fetch` are enabled.           |
| Search is unavailable or times out | Retry the request. If it still fails, reconnect the server and keep the exact error to report. |

If these actions do not restore access, keep the exact error and the client details for support.

## Related content

- [Security controls for production agents](https://duale.ai/en/product/security.md)
- [Protect data across every boundary](https://duale.ai/en/docs/security/data-protection.md)
- [Provider capability and compatibility](https://duale.ai/en/docs/model-routing/provider-capabilities.md)
- [Technical documentation for developers](https://duale.ai/en/docs.md)
- [Privacy policy for personal data and AI services](https://duale.ai/en/legal/privacy.md)
- [Govern AI agents while they move to production](https://duale.ai/en/solutions/governance.md)

---

## Sitemap

See the full [Markdown sitemap](https://duale.ai/sitemap.md) for all pages.
