diff --git a/src/vs/workbench/contrib/void/common/mcpService.ts b/src/vs/workbench/contrib/void/common/mcpService.ts index e5690521..e33ffce6 100644 --- a/src/vs/workbench/contrib/void/common/mcpService.ts +++ b/src/vs/workbench/contrib/void/common/mcpService.ts @@ -15,7 +15,7 @@ import { IProductService } from '../../../../platform/product/common/productServ import { VSBuffer } from '../../../../base/common/buffer.js'; import { IChannel } from '../../../../base/parts/ipc/common/ipc.js'; import { IMainProcessService } from '../../../../platform/ipc/common/mainProcessService.js'; -import { MCPServers, MCPConfig, MCPServerEventParam, MCPServerEventAddParam, MCPServerEventUpdateParam, MCPServerEventDeleteParam, MCPServerEventLoadingParam, MCPConfigParseError } from './mcpServiceTypes.js'; +import { MCPServers, MCPConfig, MCPServerEventParam, MCPServerEventAddParam, MCPServerEventUpdateParam, MCPServerEventDeleteParam, MCPServerEventLoadingParam, MCPConfigParseError, MCPGenericToolResponse, MCPToolCallParams } from './mcpServiceTypes.js'; import { Event, Emitter } from '../../../../base/common/event.js'; import { InternalToolInfo } from './prompt/prompts.js'; import { IVoidSettingsService } from './voidSettingsService.js'; @@ -348,6 +348,11 @@ class MCPService extends Disposable implements IMCPService { return updatedServers; } + + public async callMCPTool(toolData: MCPToolCallParams): Promise { + const response = await this.channel.call('callTool', toolData); + return response; + } } registerSingleton(IMCPService, MCPService, InstantiationType.Eager); diff --git a/src/vs/workbench/contrib/void/common/mcpServiceTypes.ts b/src/vs/workbench/contrib/void/common/mcpServiceTypes.ts index 071a088a..edf10765 100644 --- a/src/vs/workbench/contrib/void/common/mcpServiceTypes.ts +++ b/src/vs/workbench/contrib/void/common/mcpServiceTypes.ts @@ -272,3 +272,9 @@ export type MCPToolImageResponse = MCPToolEventResponse<'image'>; export type MCPToolAudioResponse = MCPToolEventResponse<'audio'>; export type MCPToolResourceResponse = MCPToolEventResponse<'resource'>; export type MCPGenericToolResponse = MCPToolTextResponse | MCPToolErrorResponse | MCPToolImageResponse | MCPToolAudioResponse | MCPToolResourceResponse; + +export interface MCPToolCallParams { + serverName: string; + toolName: string; + params: Record; +}