Routines UI should auto-allow MCP tools when MCP servers are connected
Problem
When setting up a routine (remote trigger) via the claude.ai web app or the Claude desktop app, you can connect MCP servers (e.g., Slack, GitHub). However, the routine's session_context.allowed_tools only includes basic tools (Bash, Read, Write, Edit, Glob, Grep, WebFetch, WebSearch) by default. The MCP tools from connected servers are not automatically added.
This means the agent cannot call any MCP tools at runtime — even though the MCP connection is visually present in the routine config. The only way to fix this is to call the trigger API directly and manually add each MCP tool name to the allowed_tools array, e.g.:
"allowed_tools": [
"Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch",
"mcp__slackgustoofficialmcp__slack_read_channel",
"mcp__slackgustoofficialmcp__slack_send_message"
]
There is no way to do this through either UI. A normal user setting up a routine with MCP would have no idea why their agent can't use the connected tools.
Affected surfaces
- Claude.ai web app (claude.ai/code/routines)
- Claude Desktop app (Schedule page)
- Both create routines with MCP connections visible but tools not in
allowed_tools
Expected behavior
When an MCP server is added to a routine, the routine should automatically allow all tools from that server (or expose a UI toggle to select which tools to allow). The allowed_tools array should be populated automatically based on connected MCP servers.
Actual behavior
MCP servers appear connected in the routine config, but their tools are not in allowed_tools. The agent reports "No [MCP] tools are connected" at runtime. The only fix is a manual API call to POST /v1/code/triggers/{id} with the correct tool names.
Steps to reproduce
- Create a routine via claude.ai/code/routines or Claude Desktop app's Schedule page
- Connect an MCP server (e.g., Slack via Runlayer)
- Set a prompt that uses MCP tools
- Run the routine
- Observe the agent cannot call MCP tools
Additional context
- Discovered while setting up a daily Slack briefing routine
- The
mcp_connectionsarray in the trigger config correctly lists the server URLs and connector UUIDs - The issue is specifically that
session_context.allowed_toolsdoesn't include MCP tool names - Also: CLI support for routine management (
/schedule) likely has the same gap - Feature request: expose
allowed_toolsconfiguration in the UI, or better yet, auto-populate it from connected MCP servers
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗