MCP Server Config for Claude

Playing around with the Stape GTM MCP Server in Claude and having a bit of trouble getting it to pop the OAuth prompt.

If I run npx mcp-remote https://gtm-mcp.stape.ai/mcp manually I get the prompt, but Claude never displays it. I also get the following errors in mcp-server-google-tag-manager-mcp-server.log:

2026-02-04T23:14:35.788Z [google-tag-manager-mcp-server] [info] Initializing server... { metadata: undefined }
2026-02-04T23:14:35.793Z [google-tag-manager-mcp-server] [info] Server transport closed { metadata: undefined }
2026-02-04T23:14:35.793Z [google-tag-manager-mcp-server] [info] Client transport closed { metadata: undefined }
2026-02-04T23:14:35.800Z [google-tag-manager-mcp-server] [info] Using MCP server command: /Users/dvbsknd/.nvm/versions/node/v14.17.1/bin/npx with args and path: {
  metadata: {
    args: [ '-y', 'mcp-remote', 'https://gtm-mcp.stape.ai/mcp', [length]: 3 ],
    paths: [
      '/Users/dvbsknd/.nvm/versions/node/v14.17.1/bin',
      '/Users/dvbsknd/.nvm/versions/node/v15.14.0/bin',
      '/Users/dvbsknd/.nvm/versions/node/v16.3.0/bin',
      '/Users/dvbsknd/.nvm/versions/node/v18.12.1/bin',
      '/Users/dvbsknd/.nvm/versions/node/v18.18.2/bin',
      '/Users/dvbsknd/.nvm/versions/node/v20.15.0/bin',
      '/Users/dvbsknd/.nvm/versions/node/v24.13.0/bin',
      '/Users/dvbsknd/.nvm/versions/node/v25.6.0/bin',
      '/Users/dvbsknd/.nvm/versions/node/v8.17.0/bin',
      '/usr/local/bin',
      '/opt/homebrew/bin',
      '/usr/bin',
      '/bin',
      '/usr/sbin',
      '/sbin',
      [length]: 15
    ]
  }
} %o
2026-02-04T23:14:35.803Z [google-tag-manager-mcp-server] [info] Server started and connected successfully { metadata: undefined }
2026-02-04T23:14:35.971Z [google-tag-manager-mcp-server] [info] Message from client: {"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{"extensions":{"io.modelcontextprotocol/ui":{"mimeTypes":["text/html;profile=mcp-app"]}}},"clientInfo":{"name":"claude-ai","version":"0.1.0"}},"jsonrpc":"2.0","id":0} { metadata: undefined }
npm ERR! code E401
npm ERR! Unable to authenticate, need: Bearer realm="OAuth", error="invalid_token", error_description="Missing or invalid access token"

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/dvbsknd/.npm/_logs/2026-02-04T23_14_36_708Z-debug.log
Install for [ 'https://gtm-mcp.stape.ai/mcp' ] failed with code 1
2026-02-04T23:14:36.720Z [google-tag-manager-mcp-server] [info] Server transport closed { metadata: undefined }
2026-02-04T23:14:36.720Z [google-tag-manager-mcp-server] [info] Client transport closed { metadata: undefined }
2026-02-04T23:14:36.720Z [google-tag-manager-mcp-server] [info] Server transport closed unexpectedly, this is likely due to the process exiting early. If you are developing this MCP server you can add output to stderr (i.e. `console.error('...')` in JavaScript, `print('...', file=sys.stderr)` in python) and it will appear in this log. { metadata: undefined }
2026-02-04T23:14:36.721Z [google-tag-manager-mcp-server] [error] Server disconnected. For troubleshooting guidance, please visit our [debugging documentation](https://modelcontextprotocol.io/docs/tools/debugging) { metadata: { context: 'connection', stack: undefined } }
2026-02-04T23:14:36.721Z [google-tag-manager-mcp-server] [info] Client transport closed { metadata: undefined }

I noticed it was trying to use node v14 so I manually edited the config as follows:

{
  "mcpServers": {
    "google-tag-manager-mcp-server": {
      "command": "nvm use 24 && npx",
      "args": ["-y", "mcp-remote", "https://gtm-mcp.stape.ai/mcp"]
    }
  }
}

This improved the errors slightly, but still didn’t pop the OAuth:

2026-02-04T23:19:01.940Z [google-tag-manager-mcp-server] [info] Initializing server... { metadata: undefined }
2026-02-04T23:19:01.946Z [google-tag-manager-mcp-server] [info] Using MCP server command: nvm use 24 && npx with args and path: {
  metadata: {
    args: [ '-y', 'mcp-remote', 'https://gtm-mcp.stape.ai/mcp', [length]: 3 ],
    paths: [
      '/Users/dvbsknd/.nvm/versions/node/v14.17.1/bin',
      '/Users/dvbsknd/.nvm/versions/node/v15.14.0/bin',
      '/Users/dvbsknd/.nvm/versions/node/v16.3.0/bin',
      '/Users/dvbsknd/.nvm/versions/node/v18.12.1/bin',
      '/Users/dvbsknd/.nvm/versions/node/v18.18.2/bin',
      '/Users/dvbsknd/.nvm/versions/node/v20.15.0/bin',
      '/Users/dvbsknd/.nvm/versions/node/v24.13.0/bin',
      '/Users/dvbsknd/.nvm/versions/node/v25.6.0/bin',
      '/Users/dvbsknd/.nvm/versions/node/v8.17.0/bin',
      '/usr/local/bin',
      '/opt/homebrew/bin',
      '/usr/bin',
      '/bin',
      '/usr/sbin',
      '/sbin',
      [length]: 15
    ]
  }
} %o
2026-02-04T23:19:01.948Z [google-tag-manager-mcp-server] [info] Server started and connected successfully { metadata: undefined }
Failed to spawn process: No such file or directory
2026-02-04T23:19:01.964Z [google-tag-manager-mcp-server] [info] Server transport closed { metadata: undefined }
2026-02-04T23:19:01.964Z [google-tag-manager-mcp-server] [info] Client transport closed { metadata: undefined }
2026-02-04T23:19:01.964Z [google-tag-manager-mcp-server] [info] Server transport closed unexpectedly, this is likely due to the process exiting early. If you are developing this MCP server you can add output to stderr (i.e. `console.error('...')` in JavaScript, `print('...', file=sys.stderr)` in python) and it will appear in this log. { metadata: undefined }
2026-02-04T23:19:01.964Z [google-tag-manager-mcp-server] [error] Server disconnected. For troubleshooting guidance, please visit our [debugging documentation](https://modelcontextprotocol.io/docs/tools/debugging) { metadata: { context: 'connection', stack: undefined } }
2026-02-04T23:19:01.964Z [google-tag-manager-mcp-server] [info] Client transport closed { metadata: undefined }

Has anyone else had success getting this working with Claude?

Updated the command to explicitly use node/v24.13.0:

{
  "mcpServers": {
    "google-tag-manager-mcp-server": {
      "command": "/Users/dvbsknd/.nvm/versions/node/v24.13.0/bin/npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://gtm-mcp.stape.ai/mcp"
      ]
    }
  }
}

This results in a new error:

2026-02-04T23:49:19.678Z [google-tag-manager-mcp-server] [info] Message from client: {"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{"extensions":{"io.modelcontextprotocol/ui":{"mimeTypes":["text/html;profile=mcp-app"]}}},"clientInfo":{"name":"claude-ai","version":"0.1.0"}},"jsonrpc":"2.0","id":0} { metadata: undefined }
internal/modules/cjs/loader.js:905
  throw err;
  ^

Error: Cannot find module 'node:path'
Require stack:
- /Users/dvbsknd/.nvm/versions/node/v24.13.0/lib/node_modules/npm/lib/cli.js
- /Users/dvbsknd/.nvm/versions/node/v24.13.0/lib/node_modules/npm/bin/npx-cli.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
    at Function.Module._load (internal/modules/cjs/loader.js:746:27)
    at Module.require (internal/modules/cjs/loader.js:974:19)
    at require (internal/modules/cjs/helpers.js:92:18)
    at Object.<anonymous> (/Users/dvbsknd/.nvm/versions/node/v24.13.0/lib/node_modules/npm/lib/cli.js:10:18)
    at Module._compile (internal/modules/cjs/loader.js:1085:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
    at Module.load (internal/modules/cjs/loader.js:950:32)
    at Function.Module._load (internal/modules/cjs/loader.js:790:14)
    at Module.require (internal/modules/cjs/loader.js:974:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/Users/dvbsknd/.nvm/versions/node/v24.13.0/lib/node_modules/npm/lib/cli.js',
    '/Users/dvbsknd/.nvm/versions/node/v24.13.0/lib/node_modules/npm/bin/npx-cli.js'
  ]
}

I’ll keep updating if/as I troubleshoot.

Hey @daveb the issue is in mc-remote versions, there’s a conflict that we need to resolve, a temporary ad-hoc fix would be using below as config (forcing 0.1.30 on mcp-remote):

{
  "mcpServers": {
    "ga4-mcp-server": {
     "command": "npx",
      "args": [
        "-y",
        "mcp-remote@0.1.30",
        "https://mcp-ga.stape.ai/mcp"
      ]
    }
  }
}

Thanks @Dan, despite adding the version for mcp-remote, I still get the same combination of errors I first posted depending on which version of node I try to execute with.

I see your example is for the GA4 MCP, not GTM but assume it’s the same, right?

Trying to reply to the thread with a solution but getting a 403 error.

The forum doesn’t like something about my Markdown in my full reply, so here’s a PNG of it: