# Search MCP (/search/mcp)



Search MCP lets apps such as Claude, Codex, and Cursor search your organization's sources and read results. MCP (Model Context Protocol) connects an app to tools. Each person signs in to Sim; their current membership, provider access, and source restrictions apply.

## Connect an app [#connect-an-app]

First confirm you can find a document in the organization's **Search**. [Connect your source account](/search/connect-your-account) if required.

1. Open **Settings → Search MCP** in the organization view.
2. Select your **App** and copy its displayed URL, command, or configuration.
3. Add it in your app using the instructions below, sign in to Sim, and approve Search access. Each teammate signs in separately; this flow needs no API key.

These are common client setups. Use the instructions displayed in Sim for other listed apps.

| App | Finish setup |
| - | - |
| **Claude** | Add the **Server URL** as a custom connector, then connect it. On Team or Enterprise, an authorized owner/admin first adds it under **Organization settings → Connectors**, then members connect individually. [Claude setup](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp). |
| **Codex** | Run the copied **Terminal command**, then `codex mcp login sim-search` to complete browser sign-in or reconnect. [Codex MCP](https://learn.chatgpt.com/docs/extend/mcp?surface=cli). |
| **Claude Code** | Run the copied **Terminal command**, then open `/mcp` and authenticate. [Claude Code setup](https://code.claude.com/docs/en/mcp). |
| **Cursor** | Add the copied `sim-search` entry to `mcpServers` in `~/.cursor/mcp.json`, preserving other entries. Enable it and sign in. [Cursor setup](https://cursor.com/docs/mcp). |
| **Other** | Use a client supporting remote MCP with OAuth. Choose **Streamable HTTP** if asked. |

Claude's hosted connectors reach Sim from Anthropic's servers. Your deployment must be publicly reachable from those servers; a localhost URL will not work. [Claude network requirements](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp).

## Search and read [#search-and-read]

Ask your app: “Use Sim Search to find our launch checklist, read it, and cite the source.” It can use these tools:

| Tool | Behavior |
| - | - |
| `search` | Searches live providers. Narrow with `source`, dates, or `documentIds`. Use `nativeQueries` for provider syntax, pagination, Lucid folder browsing, or Notion sidebar lists. `live.accounts` reports status and cursors; `live.guidance` describes supported syntax. |
| `read_document` | Reads one exact `documentId` returned by Search, or 1–10 IDs in `documentIds`. It does not accept arbitrary URLs. Continue an individual read using its returned `next.startChunkIndex` and `next.startOffset` when `hasMore` is true. |
| `chat` | Asks Sim to research a question and return an answer with citations. Each call starts a private Sim conversation. Shared source/date filters apply; provider-native queries belong to `search`. |

Keep each opaque `documentId` unchanged: it binds the result to the reader, account, source, and organization. Titles and raw provider IDs are not substitutes. Cite the returned `citationUrl` when available.

Batch reads start each document at the beginning. Use `documentId` with the returned offsets to continue one document; batch `documentIds` cannot include offsets. An unreadable document returns its own error while other reads can succeed. Each document counts separately against read rate limits.

The tools do not edit source content. Sim policy and usage limits apply to `chat`.

## Limits [#limits]

| Input or output | Limit |
| - | - |
| `search.topK` | 20 results by default; 1–50 allowed |
| Search query | 2,000 characters |
| `nativeQueries` | Up to four per provider account in one call |
| Live document ID | 4,000 characters |
| `read_document.limit` | 3 chunks by default; up to 8, with larger requests capped |
| Batched `documentIds` | 1–10 documents; no continuation offsets |
| `chat` question | 8,192 characters |
| Tool response | 1 MiB |

A search query can be empty with date bounds, newest/oldest sorting where supported, or an explicit native browse mode. Provider filtering and limits may return fewer matches or chunks. Continue with the provider's cursor on the same query and account; for multiple native queries, match the status's `queryIndex` to the query being continued. An empty page does not prove complete coverage. Follow the read's `next` object instead of calculating offsets.

API rate limits apply; follow the returned retry delay. Provider failures and incomplete retrieval are explicit. The tools do not fall back to a stored index when a provider is unavailable.

## Reconnect or revoke access [#reconnect-or-revoke-access]

The connection applies to the organization whose URL you copied. It does not add sources, connect provider accounts, or grant extra access. Search and reads recheck membership, settings, and provider permissions.

If sign-in expires, reconnect in your app. To revoke its Sim authorization, open **Settings → General → Authorized apps**, find the app, and revoke it. This blocks future requests but does not remove content already returned to the app.

If MCP is unavailable, ask an admin to check Search availability and MCP policy. For missing results, check the same query in Sim Search, your provider connection, and source settings.

## Related docs [#related-docs]

* [Connect your account](/search/connect-your-account)
* [Workspace MCP tools](/agents/mcp) — connect external servers to Sim agents
* [Workflow MCP deployment](/workflows/deployment/mcp) — expose workflows as tools

Workspace and workflow MCP setups do not automatically add workspace content to organization Search.
