ClawLink

How to connect Contentful to Hermes Agent

Connect Contentful to Hermes with ClawLink via hosted OAuth, no Contentful PAT to create, scope, or rotate. 106 tools your agent can call from chat.

Get started for free
Hermes Agent
Hermes Agent
ClawLink
ClawLink
Contentful
Contentful
ContentfulOAUTH2MCP

Headless CMS for structured content and digital experiences. Once connected, Hermes Agent can read and act on Contentful from chat — pairing, token refresh, and tool wiring handled for you.

106 tools

Most guides for giving Hermes Agent Contentful access start with registering your own OAuth app or pasting API keys into env files, then leave the token refresh and tool wiring to you. ClawLink gives Hermes a more practical Contentful setup: pair once in the browser and your always-on Hermes agent can act on Contentful for you, reading and doing real work on your behalf with no auth, token refresh, or tool wiring to build yourself.

Copy this prompt into Hermes to install the plugin and pair your account.

Prompt for Hermes
Set up ClawLink for Hermes and tell me when it's ready.

1. Install the plugin:
hermes plugins install ClawLink-HQ/hermes-plugin --enable

2. Start pairing. It prints an approval link, so show me the link and stop, don't wait:
hermes clawlink begin

3. I'll approve it in my browser, then reply "approved".

4. When I say approved, finish setup:
hermes clawlink finish

5. Then run `hermes clawlink test` and tell me whether ClawLink is ready.

Setup

It takes three steps to connect Hermes to Contentful.

  1. 1

    Install and pair

    Install the ClawLink plugin, then pair Hermes with a one-time browser approval:

    hermes plugins install ClawLink-HQ/hermes-plugin --enable
  2. 2

    Connect Contentful

    One-click OAuth in the dashboard.

  3. 3

    Use it from chat

    Ask Hermes Agent: "What can you do with Contentful?"

Install by command

The prompt above walks Hermes through this. By hand, it is four commands and a browser approval:

hermes plugins install ClawLink-HQ/hermes-plugin --enable
hermes clawlink begin    # prints an approval link — open it and approve
hermes clawlink finish   # after approving in the browser
hermes clawlink test

Then connect Contentful in the ClawLink dashboard — a one-click OAuth approval, no API keys.

Verify the connection by asking Hermes:

Use contentful_get_content_types for the environment I name and list the content types. Do not fetch entries yet, I want the top level first.

Using a different agent?

The Hermes plugin is one client of ClawLink's MCP server. Claude Code, Cursor, Codex, or any agent that can run a shell command pairs with the same ClawLink account through the CLI:

npx -y @useclawlink/cli login

login opens the same browser approval and stores a credential locally. Once Contentful is connected in the dashboard, that agent calls the same 106 Contentful tools over MCP. Full setup for MCP clients and shell agents: connect apps to any AI agent.

Contentful MCP for Hermes

Looking for a Contentful MCP server for Hermes Agent? ClawLink connects Contentful to Hermes Agent and exposes 106 Contentful tools your agent can call over MCP, with hosted auth and nothing to run or maintain yourself. Using OpenClaw instead? The OpenClaw Contentful integration works the same way.

Contentful is one of the pages where the headline claim is literally true: this connection uses hosted OAuth, so no Contentful personal access token is ever created, and no PAT expiry or scope audit sits on your to-do list. The manual path search results teach is the opposite of that: generate a CMA token, run an npx MCP server, keep the token current. Here the plugin pairing happens once, Contentful authorization happens in the browser, and the 106 tools below appear in chat. The PAT-shaped questions people search for, expiry, scope inheritance, delivery-token-vs-management-token mistakes, all of them stop existing once there is no token for you to manage.

What the Hermes Agent Contentful integration can do

106 Contentful tools are ready for Hermes Agent once the account is connected. The 30 below are the ones people reach for most; your agent can call all 106.

30 of 106 Contentful tools for Hermes

ToolWhat it does
Activate content type contentful_activate_content_typeActivate (publish) a content type
Archive asset contentful_archive_assetArchive an asset
Archive entry contentful_archive_entryArchive an entry
Archive release contentful_archive_releaseArchive a release
Get app definition contentful_get_app_definitionRetrieve details of a specific app definition
Get asset contentful_get_assetRetrieve a single asset by ID
Get content types contentful_get_content_typesRetrieve all content types in an environment
Get editor interface contentful_get_editor_interfaceRetrieve editor interface configuration
Get app bundle contentful_get_app_bundleRetrieves details of a specific app bundle by its ID
Get content type snapshot contentful_get_content_type_snapshotRetrieve a snapshot of a content type by snapshot ID
Get content type snapshots contentful_get_content_type_snapshotsGet all snapshots of a content type in Contentful
Get entry comment contentful_get_entry_commentRetrieve a specific comment from an entry in Contentful
Get entry references contentful_get_entry_referencesRetrieve references to a specific entry in Contentful
Get entry snapshots contentful_get_entry_snapshotsGet all snapshots of an entry in Contentful
Get environment contentful_get_environmentRetrieve details of a specific environment by its ID within a space
Get organization contentful_get_organizationRetrieves details of a specific organization by its ID
Get organization access grant contentful_get_organization_access_grantRetrieves the access grant status for a specific organization
Get organizations contentful_get_organizationsGet all organizations an account has access to in Contentful
Get organizations AI providers contentful_get_organizations_ai_providersRetrieves all AI providers configured for an organization in Contentful
Get organizations app actions categories contentful_get_organizations_app_actions_categoriesRetrieves app action categories for a Contentful organization
Get organizations app def event subscription contentful_get_organizations_app_def_event_subscriptionRetrieve details of an app event subscription by organization and app definition ID
Get organizations app definitions contentful_get_organizations_app_definitionsRetrieves all app definitions for a specific organization
Get organizations app definitions access grants contentful_get_organizations_app_definitions_access_grantsGet all app access grants for a specific app definition within an organization
Get organizations app definitions actions contentful_get_organizations_app_definitions_actionsGet all actions of an app definition within an organization
Get organizations app definitions actions2 contentful_get_organizations_app_definitions_actions2Read a specific app action from an app definition within an organization
Get organizations app definitions app bundles contentful_get_organizations_app_definitions_app_bundlesGet all app bundles for a specific app definition within an organization
Get organizations app definitions functions contentful_get_organizations_app_definitions_functionsGet all functions of an app definition within an organization
Get organizations app definitions keys contentful_get_organizations_app_definitions_keysRetrieve all app keys for a specific app definition in a Contentful organization
Get organizations app definitions signing secret contentful_get_organizations_app_definitions_signing_secretRetrieve the current app signing secret for an app definition
Get organizations enablements contentful_get_organizations_enablementsRetrieves feature enablements for a specific organization in Contentful

Try it: find the Contentful tool you need

Browse the 30 Contentful tools

Click any tool to see exactly what Hermes can do and copy a ready-to-use prompt.

Example prompts

Use contentful_get_content_types for the environment I name and list the content types. Do not fetch entries yet, I want the top level first.

Pull the snapshots for entry <id> with contentful_get_entry_snapshots and the comments with contentful_get_entry_comment. Tell me what changed in the last week and what people are discussing.

Use contentful_get_entry_references for entry <id> and tell me which other entries link to it. Flag anything that would break if this entry was archived.

List the app definitions in my organization with contentful_get_organizations_app_definitions and their functions and keys. Tell me which apps hold signing secrets and when they were last touched.

How the Contentful tools behave

Details that decide whether a Contentful prompt is a quick answer or a long crawl.

  • Ids, not names, and space plus environment. Content types, entries, assets, and environments are addressed by id, and most objects live in a space and an environment pair. An id from documentation fails exactly like a typo, and a missing environment id fails like a permission error.
  • Environments are separate worlds. Roles and membership are per space, and content is per environment. The agent can only see what the connected account can see, so confirm the environment in the prompt when you are not getting expected entries.
  • Snapshots are the version history. contentful_get_entry_snapshots and contentful_get_content_type_snapshots read past versions, which is how an agent audits what changed without the audit log.
  • Comments and references are entry-level. contentful_get_entry_comment and contentful_get_entry_references are the cheapest way to answer "what is waiting on a decision" and "what depends on this".
  • Writes are shared and visible. Activating a content type or archiving an entry, asset, or release lands in content other people are working in, so a confirmation step in the prompt is worth it.
  • App definitions are org-level. The contentful_get_organizations_app_* family reads the extension surface: app bundles, functions, keys, signing secrets, and access grants. That is where the admin questions live.

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Contentful working from chat.

ManualClawLink
Connection flowRegister a Contentful app, configure redirect URLs, manage consent details, and reconnect users when auth settings drift.Users connect Contentful through the hosted browser flow and ClawLink keeps the token lifecycle out of your app code.
Ongoing maintenanceYou own refresh logic, permission debugging, environment config, and every provider-specific edge case for Contentful.ClawLink handles the repetitive integration plumbing so your team can focus on the workflow instead of the infrastructure.
Agent usabilityYou still need to expose the right Contentful actions to the runtime in a format your agent can reliably use.106 tools for Contentful are already exposed through ClawLink, so the agent can read and act from chat immediately.

Composio also exposes Contentful to AI agents. It is developer infrastructure: Python and TypeScript SDKs, an MCP server, and a catalog past 1,000 apps, aimed at teams shipping agent products. ClawLink is built for Hermes Agent users instead. You install the plugin once, connect Contentful in the browser, and the 106 tools above work from chat. There is no SDK, no config file, and no API key handling. Choosing between them? Read the full Composio alternatives comparison.

Troubleshooting

Hermes paired but still can't use Contentful

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.

Connection succeeds but no tools appear

Reconnect Contentful from the dashboard, then start a fresh chat if the runtime still has the old tool catalog loaded.

"Tool schema not loaded yet" error when calling Contentful tools

Contentful tool schemas load on demand the first time a tool runs and are cached after that, so this error usually clears on its own: wait a few seconds and retry the same request. If every Contentful call keeps failing with it in a fresh chat, reconnect from the dashboard, and contact support if it still persists — that pattern points to a configuration problem on our side, not something you can fix by reconnecting again.

Contentful returns 403 or "permission denied" on one action while others work

Two usual causes. The connected account may not have access to the specific workspace, inbox, store, or project in the request — check that first. If access looks right, the agent may have sent a placeholder value (like "YOUR_ID" or an example id from documentation) instead of a real one: ask it to run a list or search tool first, then retry the action with a real id from those results. Most failures at this stage are one of these two, not ClawLink bugs.

Contentful returns 403 or insufficient permissions on some calls while others work

This is the shape the engines answer with Contentful-side permission logic, and the answers are right, so start there: an entry or asset lives in a space and an environment, and the connected account must have roles in that space and be a member of that environment. Using a Delivery token for management writes, or an account missing org-level roles, produces exactly this error. Two causes are specific to hosted agents and worth checking before re-authorizing anything. The first is placeholder values: an id like YOUR_ID or example entry id from documentation fails as a permission error because the call targets an object you do not have, and the error does not say so. The second is environment drift: the call targets environment A while the connection and the content you care about are in environment B. Have the agent tell you the exact space, environment, and id from the failed call before changing any roles.

Ask the agent to diagnose it:

Call contentful_get_content_types and contentful_get_environment for the space and environment you were using. Tell me the exact error body from the failed call and which id it mentioned. Do not retry the failed call yet.
A Contentful tool name is not found, or no Contentful tools appear at all

Two different failures again. If Hermes shows no Contentful tools, the connection or pairing is incomplete: confirm the plugin was installed with --enable, both hermes clawlink begin and hermes clawlink finish ran, and Contentful shows as connected. If most tools work and one name fails, the name is wrong, and the error lists the closest real ones. There is also the first-call timing case unique to this setup: schemas load on demand, so the opening Contentful call in a fresh session can arrive before the catalog and needs one retry. The advice search results give for this symptom, wrong token type and local config files, assumes a server you are not running.

Ask the agent to diagnose it:

List the Contentful tools you have access to. If there are none, say so plainly and do not call Contentful again. If there are, tell me which one reads an entry by id and use that exact name.
Contentful starts returning rate-limit or throttling errors mid-task

Contentful rate-limits API traffic by plan and endpoint, and an agent walking a whole space is the traffic shape that meets it: every content type, then every entry, one call at a time. The fix is not to retry immediately, it is to change the shape of the work: ask for one environment or one content type instead of a full audit, and have the agent say what it intends to enumerate before it starts. If a bulk pass is genuinely needed, run it in stages across turns. The response headers describe the remaining allowance, so the agent can report where it stands instead of guessing.

Ask the agent to diagnose it:

Tell me how many Contentful calls you have made in the last minute and what you were enumerating. Quote any rate-limit headers from the last response. Do not call Contentful again until I reply.
OAuth finished in the browser but the account is still missing

Try reconnecting Contentful and complete the consent flow in the same browser session. Partial OAuth approvals or switching accounts mid-flow can leave the connection incomplete.

FAQ

Is there a Hermes Agent Contentful integration?

Yes. ClawLink is the fastest way to connect Hermes to Contentful: link your Contentful account once in the browser and Hermes Agent can call the Contentful API through 106 ready-made tools — no custom code or token handling.

How do I connect Contentful to Hermes with ClawLink?

Install the plugin with hermes plugins install ClawLink-HQ/hermes-plugin --enable, then pair once: run hermes clawlink begin, approve the link in your browser, and run hermes clawlink finish. Connect Contentful in the dashboard and Hermes can use it from the next message — no config files or API keys to manage.

How long does it take to connect Contentful to Hermes Agent?

About two minutes. Sign in, click Connect next to Contentful in the dashboard, authenticate, and Hermes Agent can use it from the next chat message.

Why use ClawLink instead of wiring Contentful up myself?

The alternative to ClawLink is usually manual OAuth app setup plus your own token handling, permission troubleshooting, and tool plumbing for Hermes Agent. That is fine if you want to build and maintain the integration yourself. Most teams just want Contentful working from chat.

Do I still need a Contentful personal access token?

No. This connection authenticates through hosted OAuth, so there is no PAT for you to generate, and no token file on the machine running Hermes. The official Contentful MCP server is where the token requirement lives: its setup teaches you to create a Contentful Management API token and run npx @contentful/mcp-server yourself. That is the path this page removes. One search shape worth separating: when people ask about Contentful "without an API key", Google sometimes answers about the LLM vendor key instead, because Contentful's own AI skills need one. This page's claim is narrower and true: no Contentful credential is yours to manage.

What can the agent actually do in Contentful?

Read and write the content surface a team argues about: entries and their comments, references, and version snapshots; assets and their archives; content types and their snapshots; environments; and the organization-level app definitions, app bundles, functions, and signing secrets that Contentful apps are built from. The reads dominate the tool list, which is the safe default. The writes that exist, activating a content type or archiving an entry, asset, or release, change shared content, so treat them as changes people will see. Pulling an entry's references and snapshots is the underrated part: that is how an agent grounds itself in what content depends on what before touching anything.

How is this different from the official Contentful MCP server?

The official contentful-mcp-server is a real product and it is the answer search engines give for "best contentful mcp server". It is also a local-server setup: you install it, supply a CMA token, and point a client at it. The capability overlap is real, so the choice is about operations. Here there is no server process to keep alive, no token lifecycle to own, and the connection shows up alongside your other accounts with one place to revoke. The roundup queries will keep being won by Contentful's own docs, and that is fine; the connect query is what this page answers.

The agent says a Contentful tool is not found

The searches for this error teach local-server fixes: the wrong token type, a claude_desktop_config.json typo, a stale npx cache. None of those apply here because nothing runs locally. On this setup a missing tool is almost always a timing case: schemas load on demand, so the first Contentful call in a fresh session can arrive before the catalog and needs one retry. If tools stay missing after that, the pairing is the suspect, and the fix is checking that both hermes clawlink begin and hermes clawlink finish ran and that Contentful shows as connected in the dashboard.

Hermes paired but still can't use Contentful

Pairing is a two-step handshake: run hermes clawlink begin, approve the link in your browser, then run hermes clawlink finish. If you ran finish before approving, or the approval link expired, run hermes clawlink begin again to get a fresh link. Confirm the plugin was installed with --enable, then verify with hermes clawlink test.