Skip to content

Commit 84fd183

Browse files
committed
feat: auto-omit MCP content when no servers are configured
- Modify system prompt generation to detect when no MCP servers are defined - Only include MCP sections when mode has mcp group AND servers exist - Pass undefined mcpHub to capabilities and tools when no servers available - Reduces system prompt verbosity when MCP functionality is not in use
1 parent 38d8edf commit 84fd183

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/core/prompts/system.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,14 @@ async function generatePrompt(
7171
const modeConfig = getModeBySlug(mode, customModeConfigs) || modes.find((m) => m.slug === mode) || modes[0]
7272
const { roleDefinition, baseInstructions } = getModeSelection(mode, promptComponent, customModeConfigs)
7373

74+
// Check if MCP functionality should be included
75+
const hasMcpGroup = modeConfig.groups.some((groupEntry) => getGroupName(groupEntry) === "mcp")
76+
const hasMcpServers = mcpHub && mcpHub.getServers().length > 0
77+
const shouldIncludeMcp = hasMcpGroup && hasMcpServers
78+
7479
const [modesSection, mcpServersSection] = await Promise.all([
7580
getModesSection(context),
76-
modeConfig.groups.some((groupEntry) => getGroupName(groupEntry) === "mcp")
81+
shouldIncludeMcp
7782
? getMcpServersSection(mcpHub, effectiveDiffStrategy, enableMcpServerCreation)
7883
: Promise.resolve(""),
7984
])
@@ -93,7 +98,7 @@ ${getToolDescriptionsForMode(
9398
codeIndexManager,
9499
effectiveDiffStrategy,
95100
browserViewportSize,
96-
mcpHub,
101+
shouldIncludeMcp ? mcpHub : undefined,
97102
customModeConfigs,
98103
experiments,
99104
partialReadsEnabled,
@@ -104,7 +109,7 @@ ${getToolUseGuidelinesSection(codeIndexManager)}
104109
105110
${mcpServersSection}
106111
107-
${getCapabilitiesSection(cwd, supportsComputerUse, mcpHub, effectiveDiffStrategy, codeIndexManager)}
112+
${getCapabilitiesSection(cwd, supportsComputerUse, shouldIncludeMcp ? mcpHub : undefined, effectiveDiffStrategy, codeIndexManager)}
108113
109114
${modesSection}
110115

0 commit comments

Comments
 (0)