Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/src/extension/chatSessions/copilotcli/vscode-node/tools/index.ts
13406 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
7
import { registerOpenDiffTool } from './openDiff';
8
import { registerCloseDiffTool } from './closeDiff';
9
import { registerGetDiagnosticsTool } from './getDiagnostics';
10
import { registerGetSelectionTool, SelectionState } from './getSelection';
11
import { registerGetVscodeInfoTool } from './getVscodeInfo';
12
import { registerUpdateSessionNameTool } from './updateSessionName';
13
import { ILogger } from '../../../../../platform/log/common/logService';
14
import { DiffStateManager } from '../diffState';
15
import { ReadonlyContentProvider } from '../readonlyContentProvider';
16
import { ICopilotCLISessionTracker } from '../copilotCLISessionTracker';
17
18
export { getSelectionInfo, SelectionState } from './getSelection';
19
export type { SelectionInfo } from './getSelection';
20
21
export function registerTools(server: McpServer, logger: ILogger, diffState: DiffStateManager, selectionState: SelectionState, contentProvider: ReadonlyContentProvider, sessionTracker: ICopilotCLISessionTracker, sessionId: string): void {
22
logger.debug('Registering MCP tools...');
23
registerGetVscodeInfoTool(server, logger);
24
registerGetSelectionTool(server, logger, selectionState);
25
registerOpenDiffTool(server, logger, diffState, contentProvider, sessionId);
26
registerCloseDiffTool(server, logger, diffState);
27
registerGetDiagnosticsTool(server, logger);
28
registerUpdateSessionNameTool(server, logger, sessionTracker, sessionId);
29
logger.debug('All MCP tools registered');
30
}
31
32