# Connect the Ovok MCP server

Canonical page: https://docs.ovok.com/working-with-ai-agents/mcp-server

The [Ovok skill](/working-with-ai-agents/ovok-skill) guides an agent; the Ovok MCP server lets it act. Once a project admin connects it, Claude, or any MCP client, can read and set up that project through [named tools](/working-with-ai-agents/mcp-tools), as that admin.

## Server URL [#server-url]

```text
https://api.sandbox.ovok.com/mcp
```

The server speaks MCP over Streamable HTTP (`POST /mcp`) and signs clients in with standard MCP OAuth: dynamic client registration and an authorization code with PKCE. It has no SSE stream.

## Add it to your client [#add-it-to-your-client]

### Claude Code [#claude-code]

```bash
claude mcp add --transport http ovok https://api.sandbox.ovok.com/mcp
```

Then run `/mcp` in Claude Code and authenticate the `ovok` server.

### Claude and Claude Desktop [#claude-and-claude-desktop]

Add a custom connector with the server URL, then select **Connect**.

### ChatGPT, VS Code and other clients [#chatgpt-vs-code-and-other-clients]

Add a remote MCP server with the server URL. Any client that supports Streamable HTTP and MCP OAuth works the same way; you don't need to create a client ID or an API key.

## Sign in and approve [#sign-in-and-approve]

The client opens the OVOK Console in your browser. Sign in, choose the project, check what is asking for access, and select **Allow**.

- Only an admin of the project can connect it. The Super Admin project can't be connected.
- The Console shows where the approval goes. If that isn't a known MCP client (Claude, ChatGPT or VS Code) or your own computer, the Console warns you, and you must confirm before allowing.
- There is one level of access: the agent can use every [tool](/working-with-ai-agents/mcp-tools), on that one project. To work on another project, connect again and choose it.

## Limits and lifetime [#limits-and-lifetime]

- The agent acts as you. Each tool follows the same rules as the matching API route, and it loses access as soon as you stop being an admin of the project.
- The connection ends 90 days after you approve it, even if the client keeps refreshing its token. Connect again to continue.
- Each admin may send 300 MCP messages a minute, and one address 3000. Each tool allows 60 calls a minute, except:
  - `invite_member` and `create_app`: 10 a minute;
  - `get_requests`, `get_failed_requests` and `get_request_details`: 30 a minute.
- A call over a limit answers `429`. Wait a minute and try again.
- MCP calls don't count toward your plan's API usage.
- To disconnect, remove the server from your client.

<Callout type="warn" title="The agent changes your real project">

Tools change live settings, send invitation emails, create credentials and publish CMS content. Ask the agent to explain each change before it makes it, and review your client's tool-approval prompts. A secret from `create_app` appears in the conversation: store it in your secret manager and keep it out of code and logs.

</Callout>

## Troubleshooting [#troubleshooting]

| What you see | Why | What to do |
| --- | --- | --- |
| The client asks you to sign in again | The connection reached its 90 days, or it was revoked. | Authenticate the server again. |
| `403 insufficient_scope` on every call | You are no longer an admin of the project, or it is the Super Admin project. | Ask an admin to restore your role, or connect another project. |
| `403 not_parent_project` from `get_usage_details` | The project is a sub-tenant; it bills to its parent. | Connect the parent project. |
| `404 unknown_collection` from a CMS tool | The collection isn't one `get_cms_schema` lists. | Call `get_cms_schema` and use one of its slugs. |
| `422` from a tool | An input failed validation. The answer names the field. | Fix the input. |
| No CMS tools listed | The CMS isn't configured on this deployment. | Manage content in the Console. |
