Skip to content

Goal: connect your coding agent to your site’s MCP server and make one tool call that returns real content from the site.

  • The MCP Server experimental feature enabled on your site.
  • Your coding agent connected to the Source CMS MCP Server over streamable HTTP (MCP’s plain-HTTP transport; nothing extra to install or run), authorized via OAuth.
  • One successful tool call that returns real site content.
  1. In your site’s admin UI, in the left sidebar click Configurations, then Experimental features. Locate the MCP Server section, toggle Enable MCP Server to ON, and click Save configuration.

  2. Still on the Experimental features page, click Configure to open the MCP server connection details. Copy the URL shown under MCP client configuration: it is your site URL with /mcp appended ({DRUPAL_SITE_URL}/mcp). You don’t need to change any other settings on this page.

  3. Replace <URL> with the MCP URL you copied in the previous step.

    In your project directory, run:

    Terminal window
    claude mcp add acquia-source-mcp <URL> \
    --transport http --scope project

    The command confirms:

    Added HTTP MCP server acquia-source-mcp with URL:
    <your MCP URL> to project config
    File modified: /path/to/project/.mcp.json

    --scope project stores the server in a .mcp.json file at the project root, so teammates who open the same project get the same server.

  4. Your browser opens the site’s OAuth authorization flow; sign in with your site account if prompted, then click Allow.

    Open Claude Code (claude), then type /mcp to manage MCP servers. Select acquia-source-mcp and choose Authenticate. After the browser flow, the server’s status changes to connected.

  5. Make one call that returns real site content

    Section titled “Make one call that returns real site content”

    Ask your agent to read from your site:

    > Use acquia-source-mcp to list the most recent
    > articles on this site.

    The agent asks permission to use the list_entities tool. Approve it. The response comes from your site’s actual content; in Claude Code the exchange looks like this:

    ⏺ acquia-source-mcp - list_entities (MCP)
    ⏺ Your site has 3 published articles:
    1. "Spring launch announcement"
    2. "How we redesigned onboarding"
    3. "Meet the new dashboard"

    The titles you see are your site’s real entries; the agent read them through the MCP server, not from training data.

Your site now runs an MCP server: a standard interface AI agents use to discover read-only resources and call tools that create or update data. Your agent connected to it over streamable HTTP, and the OAuth flow you approved in the browser is what authorizes every subsequent request. The list_entities call was a real round trip: your agent → your site’s MCP server → your site’s content, back as structured data the agent can act on.

The failure states below are shown with Claude Code’s commands; the same causes apply in every client, each surfacing them through its own MCP status view.

✗ Failed to connect next to acquia-source-mcp in claude mcp list

the site isn’t serving MCP at that URL. Confirm Enable MCP Server is toggled ON under Configurations > Experimental features and saved, then re-copy the URL from the Configure panel; the feature is per-site, so check you enabled it on the same site whose URL you pasted.

No MCP servers configured when you type /mcp

you added the server with --scope project but launched Claude Code from a different directory. Run claude from the directory containing .mcp.json, or re-run the claude mcp add command from step 3 in the directory you actually work in.

The server is in .mcp.json but never appears in /mcp

Claude Code asks for approval the first time it sees a project-scoped server, and remembers a rejection. Run claude mcp reset-project-choices and restart Claude Code to get the approval prompt again.

Tool calls fail with 401 Unauthorized, or the server status shows it needs authentication

the OAuth authorization was never completed or has expired. In /mcp, select acquia-source-mcp, choose Authenticate, and complete the browser flow through the Allow button. More OAuth failure cases are in the auth guide’s troubleshooting.

Was this page helpful?