1
+ import cbws from './websocket' ;
2
+ const codeboltMCP = {
3
+ getMcpList : ( ) : Promise < any > => {
4
+ return new Promise ( ( resolve , reject ) => {
5
+ cbws . getWebsocket . send ( JSON . stringify ( {
6
+ "type" : "mcpEvent" ,
7
+ "action" : "getMcpList"
8
+ } ) ) ;
9
+ cbws . getWebsocket . on ( 'message' , ( data : string ) => {
10
+ try {
11
+ const response = JSON . parse ( data ) ;
12
+ if ( response . type === "getMcpListResponse" ) {
13
+ resolve ( response . data ) ;
14
+ } else {
15
+ reject ( new Error ( "Unexpected response type" ) ) ;
16
+ }
17
+ } catch ( error ) {
18
+ reject ( new Error ( "Failed to parse response" ) ) ;
19
+ }
20
+ } ) ;
21
+ cbws . getWebsocket . on ( 'error' , ( error : Error ) => {
22
+ reject ( error ) ;
23
+ } ) ;
24
+ } ) ;
25
+ } ,
26
+ executeTool : ( mcpServer : string , toolName : string , params : any ) : Promise < any > => {
27
+ return new Promise ( ( resolve , reject ) => {
28
+ cbws . getWebsocket . send ( JSON . stringify ( {
29
+ "type" : "mcpEvent" ,
30
+ "action" : "executeTool" ,
31
+ "mcpServer" : mcpServer ,
32
+ "toolName" : toolName ,
33
+ "params" : params
34
+ } ) ) ;
35
+ cbws . getWebsocket . on ( 'message' , ( data : string ) => {
36
+ try {
37
+ const response = JSON . parse ( data ) ;
38
+ if ( response . type === "executeToolResponse" && response . toolName === toolName ) {
39
+ resolve ( response . data ) ;
40
+ } else {
41
+ reject ( new Error ( "Unexpected response type" ) ) ;
42
+ }
43
+ } catch ( error ) {
44
+ reject ( new Error ( "Failed to parse response" ) ) ;
45
+ }
46
+ } ) ;
47
+ cbws . getWebsocket . on ( 'error' , ( error : Error ) => {
48
+ reject ( error ) ;
49
+ } ) ;
50
+ } ) ;
51
+ }
52
+ }
53
+
54
+ export default codeboltMCP ;
0 commit comments