> ## 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 Contentful to Semji

> Connect Contentful to Semji in one click through Contentful's hosted MCP server — sign in, approve access, done.

Semji connects to Contentful through **Contentful's official hosted MCP
server** (`https://mcp.contentful.com/mcp`) using OAuth. There are no API
keys, space IDs, or tokens to copy — you sign in to Contentful and approve
the access. Once connected, Semji's AI agents can read and update content in
Contentful. To learn more about the server Semji connects to, see the
[Contentful MCP server documentation](https://www.contentful.com/developers/docs/tools/mcp-server/).

Compatible with **all Contentful versions**.

## Prerequisites

* A **Contentful account** with access to the space you want Semji to work
  in.
* You are a **workspace owner** in Semji. The connection is shared with the
  whole workspace.
* Your browser allows **popups** from the Semji app (the Contentful consent
  screen opens in a new tab).

<Note>
  Availability of the Contentful 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 Contentful row.
  </Step>

  <Step title="Start the connection">
    Click **Connect Contentful**. A new browser tab opens on Contentful's
    sign-in and consent screen.
  </Step>

  <Step title="Sign in and approve">
    Sign in with your Contentful account and approve the requested access.
    Complete this within **10 minutes** — after that the connection attempt
    expires and you have to start over.
  </Step>

  <Step title="Done">
    The tab closes and you land back in Semji, where the Contentful row now
    shows as connected for the whole workspace.
  </Step>
</Steps>

## What Semji can do once connected

The available actions are provided by Contentful's MCP server — typically
reading and updating entries. 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 Contentful row offers
**Disconnect**, which revokes the stored access for the whole workspace. To
switch to a different Contentful account, disconnect and reconnect with the
other account.

## Network requirements

The connection runs between Semji and Contentful's cloud — Semji never calls
your own infrastructure, so there is **nothing to allowlist on your side**
for Contentful.

## Troubleshooting

<AccordionGroup>
  <Accordion title="&#x22;The popup was blocked by your browser. Allow popups to connect to the MCP server.&#x22;">
    Your browser prevented the Contentful consent tab from opening. Allow
    popups for the Semji app domain and click **Connect Contentful** again.
  </Accordion>

  <Accordion title="The consent tab closed but nothing happened">
    Retry the connection. If it keeps failing, complete the consent within 10
    minutes of clicking **Connect Contentful** — the connection attempt is
    single-use and expires after that.
  </Accordion>

  <Accordion title="&#x22;Failed to connect to the CMS connector.&#x22;">
    The connection could not be completed — you may have denied the consent,
    or the attempt expired. Click **Connect Contentful** and try again.
  </Accordion>

  <Accordion title="The connection shows as Expired">
    Contentful stopped accepting Semji's stored access and agents skip
    Contentful until it is reconnected. A workspace owner must open the
    Contentful integration and reconnect.
  </Accordion>

  <Accordion title="Agents say they have no Contentful tools">
    The connection was disconnected or expired. A workspace owner must
    reconnect Contentful under **Settings → Integrations → CMS**.
  </Accordion>
</AccordionGroup>
