Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/test/mcp/src/automationTools/index.ts
3520 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 { McpServer, RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js';
7
8
// Import all tool modules
9
import { applyCoreTools } from './core.js';
10
import { applyEditorTools } from './editor.js';
11
import { applyTerminalTools } from './terminal.js';
12
import { applyDebugTools } from './debug.js';
13
import { applySearchTools } from './search.js';
14
import { applyExtensionsTools } from './extensions.js';
15
import { applyQuickAccessTools } from './quickAccess.js';
16
import { applyExplorerTools } from './explorer.js';
17
import { applyActivityBarTools } from './activityBar.js';
18
import { applySCMTools } from './scm.js';
19
import { applyStatusBarTools } from './statusbar.js';
20
import { applyProblemsTools } from './problems.js';
21
import { applySettingsTools } from './settings.js';
22
import { applyKeybindingsTools } from './keybindings.js';
23
import { applyNotebookTools } from './notebook.js';
24
import { applyLocalizationTools } from './localization.js';
25
import { applyTaskTools } from './task.js';
26
import { applyProfilerTools } from './profiler.js';
27
import { ApplicationService } from '../application';
28
29
/**
30
* Apply all VS Code automation tools to the MCP server
31
* @param server - The MCP server instance
32
* @param appService - The application service instance
33
* @returns The registered tools from the server
34
*/
35
export function applyAllTools(server: McpServer, appService: ApplicationService): RegisteredTool[] {
36
let tools: RegisteredTool[] = [];
37
38
// Core Application Management Tools
39
tools = tools.concat(applyCoreTools(server, appService));
40
41
// Editor Management Tools
42
tools = tools.concat(applyEditorTools(server, appService));
43
44
// Terminal Management Tools
45
tools = tools.concat(applyTerminalTools(server, appService));
46
47
// Debug Tools
48
tools = tools.concat(applyDebugTools(server, appService));
49
50
// Search Tools
51
tools = tools.concat(applySearchTools(server, appService));
52
53
// Extensions Tools
54
tools = tools.concat(applyExtensionsTools(server, appService));
55
56
// Command Palette and Quick Access Tools
57
tools = tools.concat(applyQuickAccessTools(server, appService));
58
59
// Explorer and File Management Tools
60
tools = tools.concat(applyExplorerTools(server, appService));
61
62
// Activity Bar Tools
63
tools = tools.concat(applyActivityBarTools(server, appService));
64
65
// Source Control Management Tools
66
tools = tools.concat(applySCMTools(server, appService));
67
68
// Status Bar Tools
69
tools = tools.concat(applyStatusBarTools(server, appService));
70
71
// Problems Panel Tools
72
tools = tools.concat(applyProblemsTools(server, appService));
73
74
// Settings Editor Tools
75
tools = tools.concat(applySettingsTools(server, appService));
76
77
// Keybindings Editor Tools
78
tools = tools.concat(applyKeybindingsTools(server, appService));
79
80
// Notebook Tools
81
tools = tools.concat(applyNotebookTools(server, appService));
82
83
// Localization Tools
84
tools = tools.concat(applyLocalizationTools(server, appService));
85
86
// Task Tools
87
tools = tools.concat(applyTaskTools(server, appService));
88
89
// Profiler Tools
90
tools = tools.concat(applyProfilerTools(server, appService));
91
92
// Return all registered tools
93
return tools;
94
}
95
96
// Re-export individual tool functions for selective use
97
export {
98
applyCoreTools,
99
applyEditorTools,
100
applyTerminalTools,
101
applyDebugTools,
102
applySearchTools,
103
applyExtensionsTools,
104
applyQuickAccessTools,
105
applyExplorerTools,
106
applyActivityBarTools,
107
applySCMTools,
108
applyStatusBarTools,
109
applyProblemsTools,
110
applySettingsTools,
111
applyKeybindingsTools,
112
applyNotebookTools,
113
applyLocalizationTools,
114
applyTaskTools,
115
applyProfilerTools
116
};
117
118