Skip to content

Commit b5317e2

Browse files
author
Lasim
committed
feat(satellite): filter out stdio servers during tool discovery
1 parent a253bc6 commit b5317e2

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

services/satellite/src/services/remote-tool-discovery-manager.ts

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,18 +79,26 @@ export class RemoteToolDiscoveryManager {
7979
const enabledServers = this.configManager.getEnabledMcpServers();
8080
const serverNames = Object.keys(enabledServers);
8181

82+
// Filter out stdio servers - they don't have URLs and are handled by StdioToolDiscoveryManager
83+
const httpServers = serverNames.filter(name => {
84+
const config = enabledServers[name];
85+
return config.transport_type !== 'stdio';
86+
});
87+
8288
this.logger.info({
8389
operation: 'tool_discovery_servers',
84-
server_count: serverNames.length,
85-
servers: serverNames
86-
}, `Discovering tools from ${serverNames.length} remote MCP servers`);
90+
server_count: httpServers.length,
91+
total_servers: serverNames.length,
92+
stdio_servers_filtered: serverNames.length - httpServers.length,
93+
servers: httpServers
94+
}, `Discovering tools from ${httpServers.length} remote HTTP/SSE MCP servers (${serverNames.length - httpServers.length} stdio servers filtered out)`);
8795

88-
// Discover tools from each enabled server
96+
// Discover tools from each enabled HTTP/SSE server (stdio servers filtered out)
8997
const allDiscoveredTools: CachedTool[] = [];
9098
let successCount = 0;
9199
let failureCount = 0;
92100

93-
for (const serverName of serverNames) {
101+
for (const serverName of httpServers) {
94102
try {
95103
const serverConfig = enabledServers[serverName];
96104
const serverTools = await this.discoverServerTools(serverName);
@@ -505,6 +513,17 @@ export class RemoteToolDiscoveryManager {
505513
continue;
506514
}
507515

516+
// Skip stdio servers - they are handled by StdioToolDiscoveryManager
517+
if (serverConfig.transport_type === 'stdio') {
518+
this.logger.debug({
519+
operation: 'server_discovery_skipped',
520+
server_name: serverName,
521+
reason: 'stdio_transport',
522+
transport_type: serverConfig.transport_type
523+
}, `Skipping stdio server in remote discovery: ${serverName}`);
524+
continue;
525+
}
526+
508527
// Remove existing tools for this server
509528
this.cachedTools = this.cachedTools.filter(tool => tool.serverName !== serverName);
510529

0 commit comments

Comments
 (0)