Scheduled tasks should have access to MCP servers

Resolved 💬 4 comments Opened Mar 12, 2026 by largerich Closed Apr 10, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Scheduled tasks created via create_scheduled_task do not have access to MCP servers when they run automatically. The agent spawned by a scheduled task only sees core tools (file system, browser automation, web search, scheduled tasks) — no MCP integrations at all.

This means any scheduled task that depends on MCP tools (Slack, Gmail, Google Calendar, Granola, etc.) will always fail when triggered automatically, even though the same skill works perfectly in an interactive session.

Error observed: When a scheduled task fires and tries to use an MCP tool like slack_search_public_and_private, the agent reports: "I don't have access to a slack_search_public_and_private tool."

Workarounds attempted (none worked):

  • MCP servers configured globally in ~/.claude.json
  • - Tool permissions pre-approved via "Always allow" in interactive sessions
  • - - Claude Desktop app running when tasks fire

My use case: I have 5 scheduled tasks (daily/weekly/monthly coaching reports, team digests) that pull data from Granola meeting transcripts and post results to Slack. All work perfectly when run manually but fail every time as scheduled tasks.

Proposed Solution

Scheduled tasks should inherit MCP server connections from the user's configuration (~/.claude.json or project .mcp.json), the same way interactive sessions do. When a scheduled task fires, it should initialize MCP connections before executing the task prompt, so MCP tools are available to the agent.

Ideally:

  1. Scheduled task agent starts up
  2. 2. MCP servers from config are connected (same as an interactive session)
  3. 3. Task prompt executes with full tool access including MCP
  4. 4. MCP connections are torn down after task completes

Alternative Solutions

Current workaround is to run each skill manually in an interactive session (/daily-coaching, /weekly-coaching, etc.) where MCP is available. This works but defeats the purpose of scheduling. Another option would be rewriting tasks to use direct HTTP/curl API calls via Bash instead of MCP tools, but this requires managing OAuth tokens manually and is fragile.

Priority

High - Significant impact on productivity

Feature Category

MCP server integration

Use Case Example

  1. I have a daily scheduled task that runs at 9:30 AM on weekdays
  2. 2. It pulls yesterday's meeting transcripts from Granola (MCP tool: list_meetings, get_meeting_transcript)
  3. 3. Analyzes them against a leadership coaching framework (local file read)
  4. 4. Creates a Slack Canvas with the coaching report (MCP tool: slack_create_canvas)
  5. 5. Sends a notification DM with a summary (MCP tool: slack_send_message)

Steps 2, 4, and 5 require MCP access. The task works flawlessly when run manually via /daily-coaching in an interactive session, but fails at step 2 every time as a scheduled task because the Granola MCP tool is not available.

Additional Context

_No response_

View original on GitHub ↗

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