> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryordinal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrating from the old MCP

> How to migrate from the old API-key Ordinal MCP server to the new OAuth-based server at app.tryordinal.com/mcp.

## Why migrate?

The old MCP server at `https://app.tryordinal.com/api/mcp` used a workspace API key that you pasted into your assistant's config. It's been replaced by the new server at `https://app.tryordinal.com/mcp`, which signs you in with OAuth — no key-pasting, and you can reach every workspace you belong to from one connection.

<Warning>
  **Remove the old server first.** If you leave both servers installed, your assistant sees duplicate tool names (e.g. two versions of `create_post`) and may pick the wrong one or refuse to run either. Always delete the old entry before installing the new one.
</Warning>

## Step 1 — Remove the old server

Pick your client below.

<Tabs>
  <Tab title="Claude">
    The old Ordinal server was installed as a **local MCP server** in Claude Desktop, configured via `claude_desktop_config.json`. Remove it like this:

    <Steps>
      <Step title="Open Claude Desktop settings">
        Press `Cmd + ,` (Mac) or `Ctrl + ,` (Windows).
      </Step>

      <Step title="Go to Developer">
        In the sidebar under **Desktop app**, click **Developer**.
      </Step>

      <Step title="Edit Config">
        Click **Edit Config**, then **Open File** to open `claude_desktop_config.json` in your editor.
      </Step>

      <Step title="Remove the ordinal entry">
        Find the `"ordinal"` block under `mcpServers` and delete it. It looks like this:

        ```json theme={null}
        {
          "mcpServers": {
            "ordinal": {
              "command": "npx",
              "args": [
                "mcp-remote@latest",
                "https://app.tryordinal.com/api/mcp",
                "--header",
                "Authorization:Bearer ord_XXXXXXXX"
              ]
            }
          }
        }
        ```

        Save the file. If `ordinal` was the only entry, leave `"mcpServers": {}`.
      </Step>

      <Step title="Restart Claude Desktop">
        Fully quit and relaunch. In **Settings → Developer**, the `Ordinal` entry should be gone from **Local MCP servers**.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Claude Code">
    Run:

    ```bash theme={null}
    claude mcp remove ordinal
    ```

    Then verify with:

    ```bash theme={null}
    claude mcp list
    ```

    `ordinal` should no longer be listed.
  </Tab>

  <Tab title="Cursor">
    <Steps>
      <Step title="Open MCP settings">
        Command palette (`Cmd+Shift+P` / `Ctrl+Shift+P`) → **Open MCP settings**.
      </Step>

      <Step title="Remove the ordinal entry">
        Delete the `"ordinal": { ... }` block from the config. If the entry uses `"command": "npx"` with `mcp-remote` and an `Authorization` header, that's the old server.
      </Step>

      <Step title="Restart Cursor">
        Fully quit and reopen Cursor. In MCP settings, the `ordinal` server should be gone.
      </Step>
    </Steps>
  </Tab>

  <Tab title="VS Code">
    <Steps>
      <Step title="Open the MCP config">
        Open `.vscode/mcp.json` in your project (or your user-level `settings.json` if you installed it globally).
      </Step>

      <Step title="Remove the ordinal entry">
        Delete the `"ordinal": { ... }` block under `servers`. If the entry references `/api/mcp` or includes an `Authorization` header, that's the old server.
      </Step>

      <Step title="Reload VS Code">
        Run **Developer: Reload Window** from the command palette (`Cmd+Shift+P` / `Ctrl+Shift+P`). The MCP view should no longer list `ordinal`.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Step 2 — (Optional) Revoke the old API key

Since the old server used a workspace API key, revoke it so it can't be used again:

<Steps>
  <Step title="Open API Keys">
    Go to [Settings → Integrations → API Keys](https://app.tryordinal.com/settings/integrations/api) in your workspace.
  </Step>

  <Step title="Revoke the key">
    Find the key you used for MCP, click the `...` menu, and select **Revoke**. This is permanent and immediate.
  </Step>
</Steps>

<Info>
  You can skip this step if the same API key is still used for something else (for example, the REST API). The old MCP server will stop accepting requests regardless.
</Info>

## Step 3 — Install the new server

Follow the [install guide](/mcp/install/overview) for your client — Claude, Claude Code, Codex, Cursor, or VS Code.

## After migrating

<AccordionGroup>
  <Accordion title="Tool names have changed">
    The new server's tools are named and organized differently. For example, the old server had separate `create_post` and `update_post` tools — the new server uses `ordinal_create_post` and `ordinal_manage_post`. See the full [tools reference](/mcp/tools).
  </Accordion>

  <Accordion title="You now pass workspaceSlug explicitly">
    The old API key was tied to a single workspace. The new server signs you in as a user, so every tool call takes a `workspaceSlug` argument. Call `ordinal_get_workspace_context` with no arguments to list your workspaces and get the slug.
  </Accordion>

  <Accordion title="My assistant still shows the old tools">
    You probably didn't fully restart the client, or the old entry is still in config. Double-check the config file, fully quit the app (not just close the window), and relaunch.
  </Accordion>
</AccordionGroup>
