MCP connectors not loaded in CCR scheduled trigger sessions

Resolved 💬 3 comments Opened Apr 7, 2026 by tgevorgyan-provectus Closed Apr 10, 2026

Bug

MCP connectors attached to a scheduled trigger via mcp_connections are not available as tools in the CCR agent session. The agent reports "No MCP tools available" despite connectors being properly configured.

Environment

  • Claude Code version: 2.1.42
  • CCR environment type: cloud_default
  • Container: sandbox-ccr-default

Steps to reproduce

  1. Connect Google Calendar and Slack connectors on claude.ai/settings/connectors
  2. Create a scheduled trigger with mcp_connections referencing the connector UUIDs:
"mcp_connections": [
  {"connector_uuid": "...", "name": "Slack", "url": "https://mcp.slack.com/mcp"},
  {"connector_uuid": "...", "name": "Google-Calendar", "url": "https://gcal.mcp.claude.com/mcp"}
]
  1. Run the trigger (manually or on schedule)
  2. Agent reports: "No MCP tools available"

Root cause (from diagnostics)

We ran extensive diagnostics inside the CCR container and found:

  1. The platform generates an MCP config file at /tmp/mcp-config-<session-id>.json with correct proxy URLs routed through api.anthropic.com/v2/ccr-sessions/<session>/mcp:
{
  "mcpServers": {
    "Google-Calendar": {
      "url": "https://api.anthropic.com/v2/ccr-sessions/<session-id>/mcp?...",
      "type": "http"
    },
    "Slack": {
      "url": "https://api.anthropic.com/v2/ccr-sessions/<session-id>/mcp?...",
      "type": "http"
    }
  }
}
  1. However, ~/.claude/settings.json in the container has NO MCP entries. Claude Code loads MCP servers from settings.json at startup only.
  1. The MCP config in /tmp/ is never copied to settings.json before Claude Code starts.
  1. Injecting the config mid-session doesn't work — we tested writing the MCP config into settings.json via bash during the session. The agent confirmed: "MCP tools configured mid-session are only available when Claude Code starts a new session — they can't be loaded dynamically."
  1. The proxy endpoint requires authenticationcurl to the MCP proxy URL from inside the container returns "authentication required", so the agent can't call the APIs directly via bash either.

Expected behavior

MCP connectors attached via the trigger API (mcp_connections) should be available as tools in the CCR session. The platform should either:

  • Copy /tmp/mcp-config-*.json into ~/.claude/settings.json before starting Claude Code
  • Or have Claude Code read the /tmp/mcp-config-*.json file at startup

Workaround

None found. The MCP config exists in the container but Claude Code never reads it.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗