[BUG] Agents Don't Inherit MCP Tool Access Despite Connected MCP Servers

Status Closed — not planned
Maintainer reply ✓ Yes — localden
Activity 9 comments · opened Sep 8, 2025 · closed May 6, 2026
💡 Likely answer: A maintainer (localden, collaborator) responded on this thread — see the highlighted reply below.

Claude Code Bug Report: Agent MCP Tool Access Inheritance Issue

Summary

Agents launched via the Task tool do not inherit access to MCP (Model Context Protocol) tools, despite MCP servers being properly installed, connected, and accessible to the main Claude instance.

Environment

  • Claude Code Version: Latest (as of 2025-01-08)
  • Platform: Linux 6.15.8-zen1-1-zen
  • Project Path: /home/persist/repos/work/vazio/gateway-coin
  • Date Reported: 2025-01-08

Expected Behavior

According to the Task tool description, specialized agents should have access to specific MCP tools:

  • Project Manager: Should have access to mcp__pdl__*, mcp__nabu__*, mcp__telos__*, mcp__worktree__*
  • Engineering Manager: Should have access to mcp__pdl__*, mcp__nabu__*, mcp__telos__*, mcp__serena__*, mcp__context7__*, mcp__worktree__*, mcp__shamash__*
  • Software Engineer: Should have access to mcp__pdl__*, mcp__nabu__*, mcp__telos__*, mcp__serena__*, mcp__context7__*, mcp__worktree__*

Actual Behavior

All agents launched via Task tool report they only have access to basic file operations:

  • ✅ Read, Write, Edit, MultiEdit
  • ✅ Bash, Glob, Grep
  • ❌ NO access to any MCP tools (mcp__pdl__*, mcp__nabu__*, mcp__telos__*, etc.)

Evidence

MCP Servers Are Properly Installed and Connected

$ claude mcp list
Checking MCP server health...

playwright: npx @playwright/mcp@latest - ✓ Connected
context7: https://mcp.context7.com/mcp (HTTP) - ✓ Connected
nabu: node /home/persist/repos/lib/mcp_nabu/dist/index.js - ✓ Connected
telos: uvx --from /home/persist/repos/lib/mcp_telos telos - ✓ Connected
pdl: /usr/bin/node /home/persist/repos/lib/mcp_pdl/dist/server.js - ✓ Connected
shamash: node /home/persist/repos/lib/mcp_shamash/dist/index.js - ✓ Connected
worktree: node /home/persist/repos/lib/mcp-worktree/server.js - ✓ Connected
scribe: /home/persist/repos/lib/mcp_scribe/dist/index.js - ✓ Connected
kr8: node /home/persist/repos/lib/mcp_kr8/mcp-server/dist/index.js - ✓ Connected

Main Claude Instance Has Full MCP Access

  • ✅ Can use mcp__pdl__get_status
  • ✅ Can use mcp__nabu__active_ports
  • ✅ Can use mcp__telos__telos_store
  • ✅ Can use all other MCP functions

Agent Test Results

Project Manager Agent Test:

❌ NO PDL Functions Available - I do not have access to mcp__pdl__* functions
❌ NO Nabu Functions Available - I do not have access to mcp__nabu__* functions  
❌ NO Telos Memory Functions Available - I do not have access to mcp__telos__* functions
❌ NO Other MCP Tools Available - Context7, Serena, Worktree, Playwright, Shamash not accessible

✅ Basic file operations (Read, Write, Edit, MultiEdit)
✅ Bash command execution  
✅ File searching (Glob, Grep)

Engineering Manager Agent Test:

❌ NO PDL Functions Available - I do not have access to mcp__pdl__* functions
❌ NO Nabu Functions Available - I do not have access to mcp__nabu__* functions  
❌ NO Telos Memory Functions Available - I do not have access to mcp__telos__* functions
❌ NO Other MCP Tools Available - Context7, Serena, Worktree, Playwright, Shamash not accessible

Reproduction Steps

  1. Install and configure MCP servers (PDL, Nabu, Telos, etc.)
  2. Verify MCP servers are connected with claude mcp list
  3. Verify main Claude instance can access MCP functions
  4. Use Task tool to launch any specialized agent (Project Manager, Engineering Manager, etc.)
  5. Ask agent to test access to MCP functions they should have according to their description
  6. Observe that agents report no MCP access

Impact

This issue breaks the entire agent delegation workflow described in project documentation:

  • Project Manager cannot coordinate PDL phases
  • Agents cannot communicate via Nabu
  • No memory persistence via Telos
  • No feature branch management via Worktree
  • Forces workarounds that bypass the intended agent architecture

Configuration Details

Critical Configuration Information

  • MCP Servers: Installed at USER LEVEL (scope: user config, available in all projects)
  • Agents: NOT installed globally - launched via Task tool on-demand
  • Project Scope: Local project in /home/persist/repos/work/vazio/gateway-coin

PDL Server Config

pdl:
  Scope: User config (available in all your projects)
  Status: ✓ Connected
  Type: stdio
  Command: /usr/bin/node
  Args: /home/persist/repos/lib/mcp_pdl/dist/server.js

Nabu Server Config

nabu:
  Scope: User config (available in all your projects)
  Status: ✓ Connected
  Type: stdio
  Command: node
  Args: /home/persist/repos/lib/mcp_nabu/dist/index.js

Scope Mismatch Theory

Potential Issue: MCP servers are installed at USER scope, but agents launched via Task tool may not be inheriting user-scoped MCP access. This could be a scope inheritance problem where:

  • Main Claude instance ✅ inherits user-scoped MCP servers
  • Task-launched agents ❌ don't inherit user-scoped MCP servers

Workaround

Currently using main Claude instance to handle MCP coordination directly instead of delegating to specialized agents, which defeats the purpose of the agent system.

Request

Please investigate why agents launched via Task tool don't inherit MCP server access when:

  1. MCP servers are properly configured and connected at USER scope
  2. Main Claude instance has full access to user-scoped MCP servers
  3. Agent descriptions explicitly state they should have MCP access
  4. This appears to be a scope inheritance issue where user-scoped MCP servers aren't passed to Task-launched agents
  5. Key Question: Do Task-launched agents inherit user-scoped MCP server access, or do they need different configuration?

Contact

Please respond via the Claude Code interface or GitHub issues if this should be filed elsewhere.

View original on GitHub ↗

9 Comments

FellowTraveler · 10 months ago

I thought I was going crazy but I guess it's just a bug. Subagents can't be given tools I guess.

AgathaCrystal · 9 months ago

I have the same issue. My research agent defaults to websearch and refuses to use context7 or deepwiki.

github-actions[bot] · 8 months ago

This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

K3UL · 8 months ago

This is still an issue.

briansunter · 8 months ago

I'm hitting this too

maddog986 · 7 months ago

Still an issue.

AlmightyChan · 6 months ago

Workaround found: Replace mcp__* with explicit server-level entries

We were experiencing the same issue — all MCP tools denied in background sub-agents with "Permission denied," despite mcp__* being in our
permissions.allow array.

Root cause: The mcp__* wildcard pattern does not propagate to the background sub-agent pre-approval set. The glob resolution appears to
fail across the __ boundaries in MCP tool names during the pre-launch permission gathering step.

Fix: Replace the wildcard with explicit server-level entries:

// Before (broken in background sub-agents):
"allow": ["mcp__*"]

// After (works in background sub-agents):
"allow": ["mcp__xcode", "mcp__github", "mcp__supabase", "mcp__context7"]

Per the https://code.claude.com/docs/en/permissions, mcp__puppeteer (bare server name) "matches any tool provided by the server" — so
mcp__xcode covers all 20 Xcode MCP tools without needing mcp__xcode__*.

Testing methodology:

  • Dispatched background sub-agents (run_in_background: true) calling mcp__xcode__XcodeListWindows and mcp__xcode__DocumentationSearch
  • With mcp__*: 7 consecutive failures across 4 permission modes (default, dontAsk, bypassPermissions, acceptEdits)
  • With explicit mcp__xcode: immediate success, including 3 concurrent background agents all using MCP tools simultaneously
  • Foreground sub-agents worked with either pattern

Environment: Claude Code v2.1.52, macOS Tahoe, Xcode 26.3 RC2

This workaround doesn't require any code changes — just updating the permissions allow list in settings.local.json.

localden collaborator · 3 months ago

Thank you for your report — we are currently in the process of triaging MCP-related issues and this one appears to describe the same problem as #30280. To keep the discussion and any fix in one place, we're consolidating into that issue and closing this one. If you have logs, repro steps, or environment details that aren't already covered in #30280, please add them there — it'll help us track this down faster.

github-actions[bot] · 2 months ago

This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.