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

# Connect Strapi to Semji

> Connect your Strapi instance to Semji via its MCP endpoint and an admin token, so AI agents can read and update your content.

Semji connects to Strapi through your instance's **MCP endpoint**. You
provide the endpoint URL and an **admin token**; Semji sends the token as a
bearer credential on every request. Once connected, Semji's AI agents can
read and update content in Strapi. Semji uses Strapi's built-in MCP server —
see the [Strapi MCP server documentation](https://docs.strapi.io/cms/features/strapi-mcp-server)
for how to enable it on your instance.

Compatible from **Strapi 5.47.0**.

## Prerequisites

* A **Strapi 5.47.0 or newer** instance exposing its MCP endpoint.
* The MCP endpoint served over **HTTPS**, reachable from the **public
  internet**, at a URL ending in `/mcp` (e.g.
  `https://your-cms.example.com/mcp`).
* An **admin token** for that endpoint, created as described in the
  [Strapi MCP server documentation](https://docs.strapi.io/cms/features/strapi-mcp-server).
  Semji sends it as `Authorization: Bearer <token>` on every request.
* You are a **workspace owner** in Semji. The connection is shared with the
  whole workspace.

<Note>
  Availability of the Strapi integration depends on your Semji plan. If the
  **Connect** button opens an upgrade dialog instead, contact your account
  manager.
</Note>

## Connect from Semji

<Steps>
  <Step title="Open the CMS integrations">
    In Semji, go to **Settings → Integrations**, open the **CMS** tab, and
    click **Connect** on the Strapi row.
  </Step>

  <Step title="Enter your MCP endpoint and token">
    Fill in the two fields:

    * **MCP server URL** — your Strapi MCP endpoint, e.g.
      `https://your-cms.example.com/mcp`. It must use HTTPS and end with
      `/mcp`.
    * **Admin token** — the token from your Strapi instance.
  </Step>

  <Step title="Connect">
    Click **Connect**. The Strapi row now shows as connected for the whole
    workspace.
  </Step>
</Steps>

<Warning>
  Semji does **not** test the token or the endpoint when you connect — a
  mistyped token or unreachable URL still shows as "Connected". Verify the
  connection by asking an AI agent to list content from Strapi: if the agent
  reports that no Strapi tools are available or hits an authentication
  error, reconnect with a corrected token, or set up the connection again
  with the right URL.
</Warning>

## What Semji can do once connected

The available actions are provided by your Strapi MCP endpoint — typically
reading and updating content. AI agents discover the available tools at run
time, and Semji's publishing agents never delete content, even when a delete
tool is exposed.

## Manage or disconnect

From **Settings → Integrations → CMS**, the Strapi row offers **Disconnect**,
which clears the stored token for the whole workspace. Reconnecting asks for
the token again. The MCP server URL cannot be edited in place — to change
it, disconnect and set up the connection again with the new URL.

## Firewalls and IP allowlisting

Your Strapi MCP endpoint must be reachable from the public internet.

Semji's servers reach the internet through a fixed set of outbound IP addresses. If a firewall, WAF, or anti-bot protection (Cloudflare, Akamai, Sucuri, …) sits in front of your site, it can block Semji's requests — typically with a `403 Forbidden` — before they ever reach your CMS, even when your credentials are correct.

Allow the following Semji IP addresses:

```text theme={null}
63.34.75.122
63.35.78.179
54.228.104.165
18.200.156.37
34.248.117.83
52.213.28.177
```

<Warning>
  Do **not** restrict access to your MCP endpoint to the IP list above alone.
  AI agent tool calls are executed from Semji's AI provider infrastructure,
  whose addresses are not fixed — rely on the admin token for
  authentication, and use the IP list to exempt Semji from WAF or anti-bot
  challenges rather than as an exclusive allowlist.
</Warning>

## Troubleshooting

<AccordionGroup>
  <Accordion title="&#x22;The MCP server URL must end with /mcp.&#x22;">
    Enter the full MCP endpoint URL, not your Strapi root URL — e.g.
    `https://your-cms.example.com/mcp`.
  </Accordion>

  <Accordion title="&#x22;Failed to create the CMS connector.&#x22;">
    The connector could not be created. Check that the URL starts with
    `https://`, that the same URL is not already connected in this
    workspace, and that you are a workspace owner.
  </Accordion>

  <Accordion title="&#x22;Failed to connect to the CMS connector.&#x22;">
    The token could not be stored. Make sure it is not empty and try again.
  </Accordion>

  <Accordion title="Agents say they have no Strapi tools, or hit authentication errors">
    The stored token is wrong or revoked, or the endpoint is unreachable or
    blocked by a firewall. Verify the endpoint answers at its URL, check your
    WAF (see the firewall section above), then disconnect and reconnect with
    a valid token.
  </Accordion>
</AccordionGroup>
