@theia/ai-mcp 1.63.0-next.52 → 1.63.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/mcp-command-contribution.d.ts.map +1 -1
- package/lib/browser/mcp-command-contribution.js +2 -1
- package/lib/browser/mcp-command-contribution.js.map +1 -1
- package/lib/browser/mcp-frontend-application-contribution.d.ts +10 -2
- package/lib/browser/mcp-frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/mcp-frontend-application-contribution.js +30 -9
- package/lib/browser/mcp-frontend-application-contribution.js.map +1 -1
- package/lib/browser/mcp-frontend-service.d.ts +5 -2
- package/lib/browser/mcp-frontend-service.d.ts.map +1 -1
- package/lib/browser/mcp-frontend-service.js +29 -1
- package/lib/browser/mcp-frontend-service.js.map +1 -1
- package/lib/browser/mcp-preferences.d.ts.map +1 -1
- package/lib/browser/mcp-preferences.js +24 -4
- package/lib/browser/mcp-preferences.js.map +1 -1
- package/lib/common/mcp-server-manager.d.ts +45 -17
- package/lib/common/mcp-server-manager.d.ts.map +1 -1
- package/lib/common/mcp-server-manager.js +12 -1
- package/lib/common/mcp-server-manager.js.map +1 -1
- package/lib/node/mcp-server-manager-impl.d.ts +4 -1
- package/lib/node/mcp-server-manager-impl.d.ts.map +1 -1
- package/lib/node/mcp-server-manager-impl.js +17 -3
- package/lib/node/mcp-server-manager-impl.js.map +1 -1
- package/lib/node/mcp-server.d.ts +7 -7
- package/lib/node/mcp-server.d.ts.map +1 -1
- package/lib/node/mcp-server.js +119 -49
- package/lib/node/mcp-server.js.map +1 -1
- package/package.json +6 -6
- package/src/browser/mcp-command-contribution.ts +2 -1
- package/src/browser/mcp-frontend-application-contribution.ts +45 -11
- package/src/browser/mcp-frontend-service.ts +35 -5
- package/src/browser/mcp-preferences.ts +27 -4
- package/src/common/mcp-server-manager.ts +54 -17
- package/src/node/mcp-server-manager-impl.ts +21 -4
- package/src/node/mcp-server.ts +138 -60
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-command-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/mcp-command-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAO,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAmB,MAAM,8BAA8B,CAAC;AAEnF,eAAO,MAAM,cAAc;;;CAG1B,CAAC;AACF,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF,qBACa,sBAAuB,YAAW,mBAAmB;IAE9D,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAGzC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YAE5C,qBAAqB;IASnC,gBAAgB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"mcp-command-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/mcp-command-contribution.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAO,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAmB,MAAM,8BAA8B,CAAC;AAEnF,eAAO,MAAM,cAAc;;;CAG1B,CAAC;AACF,eAAO,MAAM,aAAa;;;CAGzB,CAAC;AAEF,qBACa,sBAAuB,YAAW,mBAAmB;IAE9D,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAGzC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;YAE5C,qBAAqB;IASnC,gBAAgB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;CAkE3D"}
|
|
@@ -81,7 +81,8 @@ let MCPCommandContribution = class MCPCommandContribution {
|
|
|
81
81
|
await this.mcpFrontendService.startServer(selection);
|
|
82
82
|
const serverDescription = await this.mcpFrontendService.getServerDescription(selection);
|
|
83
83
|
if (serverDescription && serverDescription.status) {
|
|
84
|
-
if (serverDescription.status === mcp_server_manager_1.MCPServerStatus.Running
|
|
84
|
+
if (serverDescription.status === mcp_server_manager_1.MCPServerStatus.Running
|
|
85
|
+
|| serverDescription.status === mcp_server_manager_1.MCPServerStatus.Connected) {
|
|
85
86
|
let toolNames = undefined;
|
|
86
87
|
if (serverDescription.tools) {
|
|
87
88
|
toolNames = serverDescription.tools.map(tool => tool.name).join(',');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-command-contribution.js","sourceRoot":"","sources":["../../src/browser/mcp-command-contribution.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mcp-command-contribution.js","sourceRoot":"","sources":["../../src/browser/mcp-command-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import { FrontendApplicationContribution, PreferenceService } from '@theia/core/lib/browser';
|
|
2
2
|
import { MCPServerDescription, MCPServerManager } from '../common';
|
|
3
3
|
import { MCPFrontendService } from '../common/mcp-server-manager';
|
|
4
|
-
interface
|
|
4
|
+
interface BaseMCPServerPreferenceValue {
|
|
5
|
+
autostart?: boolean;
|
|
6
|
+
}
|
|
7
|
+
interface LocalMCPServerPreferenceValue extends BaseMCPServerPreferenceValue {
|
|
5
8
|
command: string;
|
|
6
9
|
args?: string[];
|
|
7
10
|
env?: {
|
|
8
11
|
[key: string]: string;
|
|
9
12
|
};
|
|
10
|
-
autostart?: boolean;
|
|
11
13
|
}
|
|
14
|
+
interface RemoteMCPServerPreferenceValue extends BaseMCPServerPreferenceValue {
|
|
15
|
+
serverUrl: string;
|
|
16
|
+
serverAuthToken?: string;
|
|
17
|
+
serverAuthTokenHeader?: string;
|
|
18
|
+
}
|
|
19
|
+
type MCPServersPreferenceValue = LocalMCPServerPreferenceValue | RemoteMCPServerPreferenceValue;
|
|
12
20
|
interface MCPServersPreference {
|
|
13
21
|
[name: string]: MCPServersPreferenceValue;
|
|
14
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/mcp-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAsB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,UAAU,
|
|
1
|
+
{"version":3,"file":"mcp-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/mcp-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAsB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjH,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,UAAU,4BAA4B;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,6BAA8B,SAAQ,4BAA4B;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACnC;AAED,UAAU,8BAA+B,SAAQ,4BAA4B;IACzE,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,KAAK,yBAAyB,GAAG,6BAA6B,GAAG,8BAA8B,CAAC;AAEhG,UAAU,oBAAoB;IAC1B,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAAA;CAC5C;AAED,kBAAU,oBAAoB,CAAC;IAC3B,SAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,yBAAyB,CAUtE;CACJ;AAeD,qBACa,kCAAmC,YAAW,+BAA+B;IAGtF,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAG/C,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAGpC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAEjD,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAa;IAErE,OAAO,IAAI,IAAI;cAmBC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3F,SAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAgCrE,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,IAAI;IAavE,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC;CA+B3F"}
|
|
@@ -23,15 +23,18 @@ const common_1 = require("../common");
|
|
|
23
23
|
const mcp_preferences_1 = require("./mcp-preferences");
|
|
24
24
|
const mcp_server_manager_1 = require("../common/mcp-server-manager");
|
|
25
25
|
;
|
|
26
|
-
;
|
|
27
26
|
var MCPServersPreference;
|
|
28
27
|
(function (MCPServersPreference) {
|
|
29
28
|
function isValue(obj) {
|
|
30
29
|
return !!obj && typeof obj === 'object' &&
|
|
31
|
-
'command' in obj
|
|
30
|
+
('command' in obj || 'serverUrl' in obj) &&
|
|
31
|
+
(!('command' in obj) || typeof obj.command === 'string') &&
|
|
32
32
|
(!('args' in obj) || Array.isArray(obj.args) && obj.args.every(arg => typeof arg === 'string')) &&
|
|
33
33
|
(!('env' in obj) || !!obj.env && typeof obj.env === 'object' && Object.values(obj.env).every(value => typeof value === 'string')) &&
|
|
34
|
-
(!('autostart' in obj) || typeof obj.autostart === 'boolean')
|
|
34
|
+
(!('autostart' in obj) || typeof obj.autostart === 'boolean') &&
|
|
35
|
+
(!('serverUrl' in obj) || typeof obj.serverUrl === 'string') &&
|
|
36
|
+
(!('serverAuthToken' in obj) || typeof obj.serverAuthToken === 'string') &&
|
|
37
|
+
(!('serverAuthTokenHeader' in obj) || typeof obj.serverAuthTokenHeader === 'string');
|
|
35
38
|
}
|
|
36
39
|
MCPServersPreference.isValue = isValue;
|
|
37
40
|
})(MCPServersPreference || (MCPServersPreference = {}));
|
|
@@ -117,12 +120,30 @@ let McpFrontendApplicationContribution = class McpFrontendApplicationContributio
|
|
|
117
120
|
convertToMap(servers) {
|
|
118
121
|
const map = new Map();
|
|
119
122
|
Object.entries(servers).forEach(([name, description]) => {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
123
|
+
let filteredDescription;
|
|
124
|
+
if ('serverUrl' in description) {
|
|
125
|
+
// Create RemoteMCPServerDescription by picking only remote-specific properties
|
|
126
|
+
const { serverUrl, serverAuthToken, serverAuthTokenHeader, autostart } = description;
|
|
127
|
+
filteredDescription = {
|
|
128
|
+
name,
|
|
129
|
+
serverUrl,
|
|
130
|
+
...(serverAuthToken && { serverAuthToken }),
|
|
131
|
+
...(serverAuthTokenHeader && { serverAuthTokenHeader }),
|
|
132
|
+
autostart: autostart !== null && autostart !== void 0 ? autostart : true,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
// Create LocalMCPServerDescription by picking only local-specific properties
|
|
137
|
+
const { command, args, env, autostart } = description;
|
|
138
|
+
filteredDescription = {
|
|
139
|
+
name,
|
|
140
|
+
command,
|
|
141
|
+
...(args && { args }),
|
|
142
|
+
...(env && { env }),
|
|
143
|
+
autostart: autostart !== null && autostart !== void 0 ? autostart : true,
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
map.set(name, filteredDescription);
|
|
126
147
|
});
|
|
127
148
|
return map;
|
|
128
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/mcp-frontend-application-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,qDAAiH;AACjH,4DAAkE;AAClE,sCAAmE;AACnE,uDAAqD;AAErD,qEAAkE;
|
|
1
|
+
{"version":3,"file":"mcp-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/mcp-frontend-application-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { MCPFrontendService,
|
|
1
|
+
import { MCPFrontendService, MCPServerDescription, MCPServerManager } from '../common/mcp-server-manager';
|
|
2
2
|
import { ToolInvocationRegistry, ToolRequest, PromptService } from '@theia/ai-core';
|
|
3
|
+
import { ListToolsResult } from '@modelcontextprotocol/sdk/types';
|
|
3
4
|
export declare class MCPFrontendServiceImpl implements MCPFrontendService {
|
|
4
5
|
protected readonly mcpServerManager: MCPServerManager;
|
|
5
6
|
protected readonly toolInvocationRegistry: ToolInvocationRegistry;
|
|
6
7
|
protected readonly promptService: PromptService;
|
|
7
8
|
startServer(serverName: string): Promise<void>;
|
|
9
|
+
hasServer(serverName: string): Promise<boolean>;
|
|
10
|
+
isServerStarted(serverName: string): Promise<boolean>;
|
|
8
11
|
registerToolsForAllStartedServers(): Promise<void>;
|
|
9
12
|
registerTools(serverName: string): Promise<void>;
|
|
10
13
|
getPromptTemplateId(serverName: string): string;
|
|
@@ -13,7 +16,7 @@ export declare class MCPFrontendServiceImpl implements MCPFrontendService {
|
|
|
13
16
|
getStartedServers(): Promise<string[]>;
|
|
14
17
|
getServerNames(): Promise<string[]>;
|
|
15
18
|
getServerDescription(name: string): Promise<MCPServerDescription | undefined>;
|
|
16
|
-
getTools(serverName: string): Promise<
|
|
19
|
+
getTools(serverName: string): Promise<ListToolsResult | undefined>;
|
|
17
20
|
addOrUpdateServer(description: MCPServerDescription): Promise<void>;
|
|
18
21
|
private convertToToolRequest;
|
|
19
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-frontend-service.d.ts","sourceRoot":"","sources":["../../src/browser/mcp-frontend-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-frontend-service.d.ts","sourceRoot":"","sources":["../../src/browser/mcp-frontend-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,aAAa,EAA0C,MAAM,gBAAgB,CAAC;AAC5H,OAAO,EAAE,eAAe,EAAe,MAAM,iCAAiC,CAAC;AAE/E,qBACa,sBAAuB,YAAW,kBAAkB;IAG7D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGlE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAE1C,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/C,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrD,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC;IAOlD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAI/C,SAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAW/E,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAItC,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAI7E,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IASlE,iBAAiB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE,OAAO,CAAC,oBAAoB;CA4C/B"}
|
|
@@ -25,6 +25,14 @@ let MCPFrontendServiceImpl = class MCPFrontendServiceImpl {
|
|
|
25
25
|
await this.mcpServerManager.startServer(serverName);
|
|
26
26
|
await this.registerTools(serverName);
|
|
27
27
|
}
|
|
28
|
+
async hasServer(serverName) {
|
|
29
|
+
const serverNames = await this.getServerNames();
|
|
30
|
+
return serverNames.includes(serverName);
|
|
31
|
+
}
|
|
32
|
+
async isServerStarted(serverName) {
|
|
33
|
+
const startedServers = await this.getStartedServers();
|
|
34
|
+
return startedServers.includes(serverName);
|
|
35
|
+
}
|
|
28
36
|
async registerToolsForAllStartedServers() {
|
|
29
37
|
const startedServers = await this.getStartedServers();
|
|
30
38
|
for (const serverName of startedServers) {
|
|
@@ -93,8 +101,28 @@ let MCPFrontendServiceImpl = class MCPFrontendServiceImpl {
|
|
|
93
101
|
},
|
|
94
102
|
description: tool.description,
|
|
95
103
|
handler: async (arg_string) => {
|
|
104
|
+
var _a;
|
|
96
105
|
try {
|
|
97
|
-
|
|
106
|
+
const result = await this.mcpServerManager.callTool(serverName, tool.name, arg_string);
|
|
107
|
+
if (result.isError) {
|
|
108
|
+
const textContent = result.content.find(callContent => callContent.type === 'text');
|
|
109
|
+
return { content: [{ type: 'error', data: (_a = textContent === null || textContent === void 0 ? void 0 : textContent.text) !== null && _a !== void 0 ? _a : 'Unknown Error' }] };
|
|
110
|
+
}
|
|
111
|
+
const content = result.content.map(callContent => {
|
|
112
|
+
switch (callContent.type) {
|
|
113
|
+
case 'image':
|
|
114
|
+
return { type: 'image', base64data: callContent.data, mimeType: callContent.mimeType };
|
|
115
|
+
case 'text':
|
|
116
|
+
return { type: 'text', text: callContent.text };
|
|
117
|
+
case 'resource': {
|
|
118
|
+
return { type: 'text', text: JSON.stringify(callContent.resource) };
|
|
119
|
+
}
|
|
120
|
+
default: {
|
|
121
|
+
return { type: 'text', text: JSON.stringify(callContent) };
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
return { content };
|
|
98
126
|
}
|
|
99
127
|
catch (error) {
|
|
100
128
|
console.error(`Error in tool handler for ${tool.name} on MCP server ${serverName}:`, error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-frontend-service.js","sourceRoot":"","sources":["../../src/browser/mcp-frontend-service.ts"],"names":[],"mappings":";;;;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4DAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"mcp-frontend-service.js","sourceRoot":"","sources":["../../src/browser/mcp-frontend-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-preferences.d.ts","sourceRoot":"","sources":["../../src/browser/mcp-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAE/F,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D,eAAO,MAAM,0BAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-preferences.d.ts","sourceRoot":"","sources":["../../src/browser/mcp-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAE/F,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D,eAAO,MAAM,0BAA0B,EAAE,gBA0FxC,CAAC"}
|
|
@@ -23,9 +23,10 @@ exports.McpServersPreferenceSchema = {
|
|
|
23
23
|
properties: {
|
|
24
24
|
[exports.MCP_SERVERS_PREF]: {
|
|
25
25
|
type: 'object',
|
|
26
|
-
title: core_1.nls.localize('theia/ai/mcp/servers/title', 'MCP
|
|
27
|
-
markdownDescription: core_1.nls.localize('theia/ai/mcp/servers/mdDescription', 'Configure MCP servers with command, arguments
|
|
28
|
-
|
|
26
|
+
title: core_1.nls.localize('theia/ai/mcp/servers/title', 'MCP Server Configuration'),
|
|
27
|
+
markdownDescription: core_1.nls.localize('theia/ai/mcp/servers/mdDescription', 'Configure MCP servers either local with command, arguments and optionally environment variables, \
|
|
28
|
+
or remote with server URL, authentication token and optionally an authentication header name. Additionally it is possible to configure autostart (true by default). \
|
|
29
|
+
Each server is identified by a unique key, such as "brave-search" or "filesystem". \
|
|
29
30
|
To start a server, use the "MCP: Start MCP Server" command, which enables you to select the desired server. \
|
|
30
31
|
To stop a server, use the "MCP: Stop MCP Server" command. \
|
|
31
32
|
Please note that autostart will only take effect after a restart, you need to start a server manually for the first time.\
|
|
@@ -50,6 +51,10 @@ Example configuration:\n\
|
|
|
50
51
|
"CUSTOM_ENV_VAR": "custom-value"\n\
|
|
51
52
|
},\n\
|
|
52
53
|
"autostart": false\n\
|
|
54
|
+
},\n\
|
|
55
|
+
"jira": {\n\
|
|
56
|
+
"serverUrl": "YOUR_JIRA_MCP_SERVER_URL",\n\
|
|
57
|
+
"serverAuthToken": "YOUR_JIRA_MCP_SERVER_TOKEN"\n\
|
|
53
58
|
}\n\
|
|
54
59
|
}\n```'),
|
|
55
60
|
additionalProperties: {
|
|
@@ -78,9 +83,24 @@ Example configuration:\n\
|
|
|
78
83
|
title: core_1.nls.localize('theia/ai/mcp/servers/autostart/title', 'Autostart'),
|
|
79
84
|
markdownDescription: core_1.nls.localize('theia/ai/mcp/servers/autostart/mdDescription', 'Automatically start this server when the frontend starts. Newly added servers are not immediately auto started, but on restart'),
|
|
80
85
|
default: true
|
|
86
|
+
},
|
|
87
|
+
serverUrl: {
|
|
88
|
+
type: 'string',
|
|
89
|
+
title: core_1.nls.localize('theia/ai/mcp/servers/serverUrl/title', 'Server URL'),
|
|
90
|
+
markdownDescription: core_1.nls.localize('theia/ai/mcp/servers/serverUrl/mdDescription', 'The URL of the remote MCP server. If provided, the server will connect to this URL instead of starting a local process.'),
|
|
91
|
+
},
|
|
92
|
+
serverAuthToken: {
|
|
93
|
+
type: 'string',
|
|
94
|
+
title: core_1.nls.localize('theia/ai/mcp/servers/serverAuthToken/title', 'Authentication Token'),
|
|
95
|
+
markdownDescription: core_1.nls.localize('theia/ai/mcp/servers/serverAuthToken/mdDescription', 'The authentication token for the server, if required. This is used to authenticate with the remote server.'),
|
|
96
|
+
},
|
|
97
|
+
serverAuthTokenHeader: {
|
|
98
|
+
type: 'string',
|
|
99
|
+
title: core_1.nls.localize('theia/ai/mcp/servers/serverAuthTokenHeader/title', 'Authentication Header Name'),
|
|
100
|
+
markdownDescription: core_1.nls.localize('theia/ai/mcp/servers/serverAuthTokenHeader/mdDescription', 'The header name to use for the server authentication token. If not provided, "Authorization" with "Bearer" will be used.'),
|
|
81
101
|
}
|
|
82
102
|
},
|
|
83
|
-
required: [
|
|
103
|
+
required: []
|
|
84
104
|
}
|
|
85
105
|
}
|
|
86
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-preferences.js","sourceRoot":"","sources":["../../src/browser/mcp-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,sCAAkC;AAGrB,QAAA,gBAAgB,GAAG,4BAA4B,CAAC;AAEhD,QAAA,0BAA0B,GAAqB;IAC1D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,CAAC,wBAAgB,CAAC,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,4BAA4B,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp-preferences.js","sourceRoot":"","sources":["../../src/browser/mcp-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,sCAAkC;AAGrB,QAAA,gBAAgB,GAAG,4BAA4B,CAAC;AAEhD,QAAA,0BAA0B,GAAqB;IAC1D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,CAAC,wBAAgB,CAAC,EAAE;YAClB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,4BAA4B,EAAE,0BAA0B,CAAC;YAC7E,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,oCAAoC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCvE,CAAC;YACF,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,oCAAoC,EAAE,mCAAmC,CAAC;wBAC9F,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,iEAAiE,CAAC;qBACnJ;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,iCAAiC,EAAE,2BAA2B,CAAC;wBACnF,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,yCAAyC,EAAE,+CAA+C,CAAC;qBAC9H;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,gCAAgC,EAAE,uBAAuB,CAAC;wBAC9E,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,wCAAwC,EAAE,2EAA2E,CAAC;wBACxJ,oBAAoB,EAAE;4BACpB,IAAI,EAAE,QAAQ;yBACf;qBACF;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EAAE,WAAW,CAAC;wBACxE,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAC9E,gIAAgI,CAAC;wBACnI,OAAO,EAAE,IAAI;qBACd;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EAAE,YAAY,CAAC;wBACzE,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,8CAA8C,EAC9E,yHAAyH,CAAC;qBAC7H;oBACD,eAAe,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAAE,sBAAsB,CAAC;wBACzF,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,oDAAoD,EACpF,4GAA4G,CAAC;qBAChH;oBACD,qBAAqB,EAAE;wBACrB,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAG,CAAC,QAAQ,CAAC,kDAAkD,EAAE,4BAA4B,CAAC;wBACrG,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,0DAA0D,EAC1F,0HAA0H,CAAC;qBAC9H;iBACF;gBACD,QAAQ,EAAE,EAAE;aACb;SACF;KACF;CACF,CAAC"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CallToolResult, ListResourcesResult, ListToolsResult, ReadResourceResult } from '@modelcontextprotocol/sdk/types';
|
|
2
2
|
import { Event } from '@theia/core/lib/common/event';
|
|
3
3
|
export declare const MCPFrontendService: unique symbol;
|
|
4
4
|
export interface MCPFrontendService {
|
|
5
5
|
startServer(serverName: string): Promise<void>;
|
|
6
|
+
hasServer(serverName: string): Promise<boolean>;
|
|
7
|
+
isServerStarted(serverName: string): Promise<boolean>;
|
|
6
8
|
registerToolsForAllStartedServers(): Promise<void>;
|
|
7
9
|
stopServer(serverName: string): Promise<void>;
|
|
8
10
|
addOrUpdateServer(description: MCPServerDescription): Promise<void>;
|
|
9
11
|
getStartedServers(): Promise<string[]>;
|
|
10
12
|
getServerNames(): Promise<string[]>;
|
|
11
13
|
getServerDescription(name: string): Promise<MCPServerDescription | undefined>;
|
|
12
|
-
getTools(serverName: string): Promise<
|
|
14
|
+
getTools(serverName: string): Promise<ListToolsResult | undefined>;
|
|
13
15
|
getPromptTemplateId(serverName: string): string;
|
|
14
16
|
}
|
|
15
17
|
export declare const MCPFrontendNotificationService: unique symbol;
|
|
@@ -18,15 +20,17 @@ export interface MCPFrontendNotificationService {
|
|
|
18
20
|
didUpdateMCPServers(): void;
|
|
19
21
|
}
|
|
20
22
|
export interface MCPServer {
|
|
21
|
-
callTool(toolName: string, arg_string: string):
|
|
22
|
-
getTools():
|
|
23
|
+
callTool(toolName: string, arg_string: string): Promise<CallToolResult>;
|
|
24
|
+
getTools(): Promise<ListToolsResult>;
|
|
25
|
+
readResource(resourceId: string): Promise<ReadResourceResult>;
|
|
26
|
+
getResources(): Promise<ListResourcesResult>;
|
|
23
27
|
description: MCPServerDescription;
|
|
24
28
|
}
|
|
25
29
|
export interface MCPServerManager {
|
|
26
|
-
callTool(serverName: string, toolName: string, arg_string: string):
|
|
30
|
+
callTool(serverName: string, toolName: string, arg_string: string): Promise<CallToolResult>;
|
|
27
31
|
removeServer(name: string): void;
|
|
28
32
|
addOrUpdateServer(description: MCPServerDescription): void;
|
|
29
|
-
getTools(serverName: string):
|
|
33
|
+
getTools(serverName: string): Promise<ListToolsResult>;
|
|
30
34
|
getServerNames(): Promise<string[]>;
|
|
31
35
|
getServerDescription(name: string): Promise<MCPServerDescription | undefined>;
|
|
32
36
|
startServer(serverName: string): Promise<void>;
|
|
@@ -34,6 +38,8 @@ export interface MCPServerManager {
|
|
|
34
38
|
getRunningServers(): Promise<string[]>;
|
|
35
39
|
setClient(client: MCPFrontendNotificationService): void;
|
|
36
40
|
disconnectClient(client: MCPFrontendNotificationService): void;
|
|
41
|
+
readResource(serverName: string, resourceId: string): Promise<ReadResourceResult>;
|
|
42
|
+
getResources(serverName: string): Promise<ListResourcesResult>;
|
|
37
43
|
}
|
|
38
44
|
export interface ToolInformation {
|
|
39
45
|
name: string;
|
|
@@ -41,15 +47,36 @@ export interface ToolInformation {
|
|
|
41
47
|
}
|
|
42
48
|
export declare enum MCPServerStatus {
|
|
43
49
|
NotRunning = "Not Running",
|
|
50
|
+
NotConnected = "Not Connected",
|
|
44
51
|
Starting = "Starting",
|
|
52
|
+
Connecting = "Connecting",
|
|
45
53
|
Running = "Running",
|
|
54
|
+
Connected = "Connected",
|
|
46
55
|
Errored = "Errored"
|
|
47
56
|
}
|
|
48
|
-
export interface
|
|
57
|
+
export interface BaseMCPServerDescription {
|
|
49
58
|
/**
|
|
50
59
|
* The unique name of the MCP server.
|
|
51
60
|
*/
|
|
52
61
|
name: string;
|
|
62
|
+
/**
|
|
63
|
+
* Flag indicating whether the server should automatically start when the application starts.
|
|
64
|
+
*/
|
|
65
|
+
autostart?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* The current status of the server. Optional because only set by the server.
|
|
68
|
+
*/
|
|
69
|
+
status?: MCPServerStatus;
|
|
70
|
+
/**
|
|
71
|
+
* Last error message that the server has returned.
|
|
72
|
+
*/
|
|
73
|
+
error?: string;
|
|
74
|
+
/**
|
|
75
|
+
* List of available tools for the server. Returns the name and description if available.
|
|
76
|
+
*/
|
|
77
|
+
tools?: ToolInformation[];
|
|
78
|
+
}
|
|
79
|
+
export interface LocalMCPServerDescription extends BaseMCPServerDescription {
|
|
53
80
|
/**
|
|
54
81
|
* The command to execute the MCP server.
|
|
55
82
|
*/
|
|
@@ -64,23 +91,24 @@ export interface MCPServerDescription {
|
|
|
64
91
|
env?: {
|
|
65
92
|
[key: string]: string;
|
|
66
93
|
};
|
|
94
|
+
}
|
|
95
|
+
export interface RemoteMCPServerDescription extends BaseMCPServerDescription {
|
|
67
96
|
/**
|
|
68
|
-
*
|
|
69
|
-
*/
|
|
70
|
-
autostart?: boolean;
|
|
71
|
-
/**
|
|
72
|
-
* The current status of the server. Optional because only set by the server.
|
|
97
|
+
* The URL of the remote MCP server.
|
|
73
98
|
*/
|
|
74
|
-
|
|
99
|
+
serverUrl: string;
|
|
75
100
|
/**
|
|
76
|
-
*
|
|
101
|
+
* The authentication token for the server, if required.
|
|
77
102
|
*/
|
|
78
|
-
|
|
103
|
+
serverAuthToken?: string;
|
|
79
104
|
/**
|
|
80
|
-
*
|
|
105
|
+
* The header name to use for the server authentication token.
|
|
81
106
|
*/
|
|
82
|
-
|
|
107
|
+
serverAuthTokenHeader?: string;
|
|
83
108
|
}
|
|
109
|
+
export type MCPServerDescription = LocalMCPServerDescription | RemoteMCPServerDescription;
|
|
110
|
+
export declare function isLocalMCPServerDescription(description: MCPServerDescription): description is LocalMCPServerDescription;
|
|
111
|
+
export declare function isRemoteMCPServerDescription(description: MCPServerDescription): description is RemoteMCPServerDescription;
|
|
84
112
|
export declare const MCPServerManager: unique symbol;
|
|
85
113
|
export declare const MCPServerManagerPath = "/services/mcpservermanager";
|
|
86
114
|
//# sourceMappingURL=mcp-server-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server-manager.d.ts","sourceRoot":"","sources":["../../src/common/mcp-server-manager.ts"],"names":[],"mappings":"AAgBA,OAAO,
|
|
1
|
+
{"version":3,"file":"mcp-server-manager.d.ts","sourceRoot":"","sources":["../../src/common/mcp-server-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,16 +15,27 @@
|
|
|
15
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.MCPServerManagerPath = exports.MCPServerManager = exports.MCPServerStatus = exports.MCPFrontendNotificationService = exports.MCPFrontendService = void 0;
|
|
18
|
+
exports.MCPServerManagerPath = exports.MCPServerManager = exports.isRemoteMCPServerDescription = exports.isLocalMCPServerDescription = exports.MCPServerStatus = exports.MCPFrontendNotificationService = exports.MCPFrontendService = void 0;
|
|
19
19
|
exports.MCPFrontendService = Symbol('MCPFrontendService');
|
|
20
20
|
exports.MCPFrontendNotificationService = Symbol('MCPFrontendNotificationService');
|
|
21
21
|
var MCPServerStatus;
|
|
22
22
|
(function (MCPServerStatus) {
|
|
23
23
|
MCPServerStatus["NotRunning"] = "Not Running";
|
|
24
|
+
MCPServerStatus["NotConnected"] = "Not Connected";
|
|
24
25
|
MCPServerStatus["Starting"] = "Starting";
|
|
26
|
+
MCPServerStatus["Connecting"] = "Connecting";
|
|
25
27
|
MCPServerStatus["Running"] = "Running";
|
|
28
|
+
MCPServerStatus["Connected"] = "Connected";
|
|
26
29
|
MCPServerStatus["Errored"] = "Errored";
|
|
27
30
|
})(MCPServerStatus || (exports.MCPServerStatus = MCPServerStatus = {}));
|
|
31
|
+
function isLocalMCPServerDescription(description) {
|
|
32
|
+
return description.command !== undefined;
|
|
33
|
+
}
|
|
34
|
+
exports.isLocalMCPServerDescription = isLocalMCPServerDescription;
|
|
35
|
+
function isRemoteMCPServerDescription(description) {
|
|
36
|
+
return description.serverUrl !== undefined;
|
|
37
|
+
}
|
|
38
|
+
exports.isRemoteMCPServerDescription = isRemoteMCPServerDescription;
|
|
28
39
|
exports.MCPServerManager = Symbol('MCPServerManager');
|
|
29
40
|
exports.MCPServerManagerPath = '/services/mcpservermanager';
|
|
30
41
|
//# sourceMappingURL=mcp-server-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server-manager.js","sourceRoot":"","sources":["../../src/common/mcp-server-manager.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAKnE,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server-manager.js","sourceRoot":"","sources":["../../src/common/mcp-server-manager.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAKnE,QAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAelD,QAAA,8BAA8B,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC;AAmCvF,IAAY,eAQX;AARD,WAAY,eAAe;IACvB,6CAA0B,CAAA;IAC1B,iDAA8B,CAAA;IAC9B,wCAAqB,CAAA;IACrB,4CAAyB,CAAA;IACzB,sCAAmB,CAAA;IACnB,0CAAuB,CAAA;IACvB,sCAAmB,CAAA;AACvB,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B;AAiED,SAAgB,2BAA2B,CAAC,WAAiC;IACzE,OAAQ,WAAyC,CAAC,OAAO,KAAK,SAAS,CAAC;AAC5E,CAAC;AAFD,kEAEC;AACD,SAAgB,4BAA4B,CAAC,WAAiC;IAC1E,OAAQ,WAA0C,CAAC,SAAS,KAAK,SAAS,CAAC;AAC/E,CAAC;AAFD,oEAEC;AAEY,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC9C,QAAA,oBAAoB,GAAG,4BAA4B,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { MCPServerDescription, MCPServerManager, MCPFrontendNotificationService } from '../common/mcp-server-manager';
|
|
2
2
|
import { MCPServer } from './mcp-server';
|
|
3
3
|
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
4
|
+
import { CallToolResult, ListResourcesResult, ReadResourceResult } from '@modelcontextprotocol/sdk/types';
|
|
4
5
|
export declare class MCPServerManagerImpl implements MCPServerManager {
|
|
5
6
|
protected servers: Map<string, MCPServer>;
|
|
6
7
|
protected clients: Array<MCPFrontendNotificationService>;
|
|
7
8
|
protected serverListeners: Map<string, Disposable>;
|
|
8
9
|
stopServer(serverName: string): Promise<void>;
|
|
9
10
|
getRunningServers(): Promise<string[]>;
|
|
10
|
-
callTool(serverName: string, toolName: string, arg_string: string):
|
|
11
|
+
callTool(serverName: string, toolName: string, arg_string: string): Promise<CallToolResult>;
|
|
11
12
|
startServer(serverName: string): Promise<void>;
|
|
12
13
|
getServerNames(): Promise<string[]>;
|
|
13
14
|
getServerDescription(name: string): Promise<MCPServerDescription | undefined>;
|
|
@@ -17,5 +18,7 @@ export declare class MCPServerManagerImpl implements MCPServerManager {
|
|
|
17
18
|
setClient(client: MCPFrontendNotificationService): void;
|
|
18
19
|
disconnectClient(client: MCPFrontendNotificationService): void;
|
|
19
20
|
private notifyClients;
|
|
21
|
+
readResource(serverName: string, resourceId: string): Promise<ReadResourceResult>;
|
|
22
|
+
getResources(serverName: string): Promise<ListResourcesResult>;
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=mcp-server-manager-impl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/mcp-server-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server-manager-impl.d.ts","sourceRoot":"","sources":["../../src/node/mcp-server-manager-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1G,qBACa,oBAAqB,YAAW,gBAAgB;IAEzD,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IACtD,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,8BAA8B,CAAC,CAAM;IAC9D,SAAS,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAEzD,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAU5C,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQrF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9C,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAInC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAKtE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAQ5E,iBAAiB,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI;IAoB1D,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAkBhC,SAAS,CAAC,MAAM,EAAE,8BAA8B,GAAG,IAAI;IAIvD,gBAAgB,CAAC,MAAM,EAAE,8BAA8B,GAAG,IAAI;IAU9D,OAAO,CAAC,aAAa;IAIrB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQjF,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAOjE"}
|
|
@@ -30,7 +30,7 @@ let MCPServerManagerImpl = class MCPServerManagerImpl {
|
|
|
30
30
|
if (!server) {
|
|
31
31
|
throw new Error(`MCP server "${serverName}" not found.`);
|
|
32
32
|
}
|
|
33
|
-
server.stop();
|
|
33
|
+
await server.stop();
|
|
34
34
|
console.log(`MCP server "${serverName}" stopped.`);
|
|
35
35
|
this.notifyClients();
|
|
36
36
|
}
|
|
@@ -63,14 +63,14 @@ let MCPServerManagerImpl = class MCPServerManagerImpl {
|
|
|
63
63
|
}
|
|
64
64
|
async getServerDescription(name) {
|
|
65
65
|
const server = this.servers.get(name);
|
|
66
|
-
return server ? server.getDescription() : undefined;
|
|
66
|
+
return server ? await server.getDescription() : undefined;
|
|
67
67
|
}
|
|
68
68
|
async getTools(serverName) {
|
|
69
69
|
const server = this.servers.get(serverName);
|
|
70
70
|
if (!server) {
|
|
71
71
|
throw new Error(`MCP server "${serverName}" not found.`);
|
|
72
72
|
}
|
|
73
|
-
return server.getTools();
|
|
73
|
+
return await server.getTools();
|
|
74
74
|
}
|
|
75
75
|
addOrUpdateServer(description) {
|
|
76
76
|
const existingServer = this.servers.get(description.name);
|
|
@@ -121,6 +121,20 @@ let MCPServerManagerImpl = class MCPServerManagerImpl {
|
|
|
121
121
|
notifyClients() {
|
|
122
122
|
this.clients.forEach(client => client.didUpdateMCPServers());
|
|
123
123
|
}
|
|
124
|
+
readResource(serverName, resourceId) {
|
|
125
|
+
const server = this.servers.get(serverName);
|
|
126
|
+
if (!server) {
|
|
127
|
+
throw new Error(`MCP server "${serverName}" not found.`);
|
|
128
|
+
}
|
|
129
|
+
return server.readResource(resourceId);
|
|
130
|
+
}
|
|
131
|
+
getResources(serverName) {
|
|
132
|
+
const server = this.servers.get(serverName);
|
|
133
|
+
if (!server) {
|
|
134
|
+
throw new Error(`MCP server "${serverName}" not found.`);
|
|
135
|
+
}
|
|
136
|
+
return server.getResources();
|
|
137
|
+
}
|
|
124
138
|
};
|
|
125
139
|
exports.MCPServerManagerImpl = MCPServerManagerImpl;
|
|
126
140
|
exports.MCPServerManagerImpl = MCPServerManagerImpl = tslib_1.__decorate([
|