1
1
import cbws from './websocket' ;
2
2
const codeboltMCP = {
3
- getMcpList : ( ) : Promise < any > => {
3
+
4
+ executeTool : ( toolName : string , params : any , mcpServer ?: string , ) : Promise < any > => {
4
5
return new Promise ( ( resolve , reject ) => {
5
6
cbws . getWebsocket . send ( JSON . stringify ( {
6
7
"type" : "mcpEvent" ,
7
- "action" : "getMcpList"
8
+ "action" : "executeTool" ,
9
+ "toolName" : toolName ,
10
+ "params" : params
8
11
} ) ) ;
9
12
cbws . getWebsocket . on ( 'message' , ( data : string ) => {
10
13
try {
11
14
const response = JSON . parse ( data ) ;
12
- if ( response . type === "getMcpListResponse " ) {
15
+ if ( response . type === "executeToolResponse " ) {
13
16
resolve ( response . data ) ;
14
17
} else {
15
18
reject ( new Error ( "Unexpected response type" ) ) ;
@@ -23,19 +26,17 @@ const codeboltMCP = {
23
26
} ) ;
24
27
} ) ;
25
28
} ,
26
- executeTool : ( mcpServer : string , toolName : string , params : any ) : Promise < any > => {
29
+ getMcpTools : ( tools : string [ ] ) : Promise < any > => {
27
30
return new Promise ( ( resolve , reject ) => {
28
31
cbws . getWebsocket . send ( JSON . stringify ( {
29
32
"type" : "mcpEvent" ,
30
- "action" : "executeTool" ,
31
- "mcpServer" : mcpServer ,
32
- "toolName" : toolName ,
33
- "params" : params
33
+ "action" : "getMcpTools" ,
34
+ "tools" : tools
34
35
} ) ) ;
35
36
cbws . getWebsocket . on ( 'message' , ( data : string ) => {
36
37
try {
37
38
const response = JSON . parse ( data ) ;
38
- if ( response . type === "executeToolResponse" && response . toolName === toolName ) {
39
+ if ( response . type === "getMcpToolsResponse" ) {
39
40
resolve ( response . data ) ;
40
41
} else {
41
42
reject ( new Error ( "Unexpected response type" ) ) ;
@@ -48,7 +49,79 @@ const codeboltMCP = {
48
49
reject ( error ) ;
49
50
} ) ;
50
51
} ) ;
51
- }
52
+
53
+ } ,
54
+ getAllMCPTools : ( mpcName : string ) : Promise < any > => {
55
+ return new Promise ( ( resolve , reject ) => {
56
+ cbws . getWebsocket . send ( JSON . stringify ( {
57
+ "type" : "mcpEvent" ,
58
+ "action" : "getAllMCPTools" ,
59
+ "mpcName" : mpcName
60
+ } ) ) ;
61
+ cbws . getWebsocket . on ( 'message' , ( data : string ) => {
62
+ try {
63
+ const response = JSON . parse ( data ) ;
64
+ if ( response . type === "getAllMCPToolsResponse" ) {
65
+ resolve ( response . data ) ;
66
+ } else {
67
+ reject ( new Error ( "Unexpected response type" ) ) ;
68
+ }
69
+ } catch ( error ) {
70
+ reject ( new Error ( "Failed to parse response" ) ) ;
71
+ }
72
+ } ) ;
73
+ cbws . getWebsocket . on ( 'error' , ( error : Error ) => {
74
+ reject ( error ) ;
75
+ } ) ;
76
+ } ) ;
77
+ } ,
78
+ getMCPTool : ( name : string ) : Promise < any > => {
79
+ return new Promise ( ( resolve , reject ) => {
80
+ cbws . getWebsocket . send ( JSON . stringify ( {
81
+ "type" : "mcpEvent" ,
82
+ "action" : "getMCPTool" ,
83
+ "mcpName" : name
84
+ } ) ) ;
85
+ cbws . getWebsocket . on ( 'message' , ( data : string ) => {
86
+ try {
87
+ const response = JSON . parse ( data ) ;
88
+ if ( response . type === "getMCPToolResponse" ) {
89
+ resolve ( response . data ) ;
90
+ } else {
91
+ reject ( new Error ( "Unexpected response type" ) ) ;
92
+ }
93
+ } catch ( error ) {
94
+ reject ( new Error ( "Failed to parse response" ) ) ;
95
+ }
96
+ } ) ;
97
+ cbws . getWebsocket . on ( 'error' , ( error : Error ) => {
98
+ reject ( error ) ;
99
+ } ) ;
100
+ } ) ;
101
+ } ,
102
+ getEnabledMCPS : ( ) : Promise < any > => {
103
+ return new Promise ( ( resolve , reject ) => {
104
+ cbws . getWebsocket . send ( JSON . stringify ( {
105
+ "type" : "mcpEvent" ,
106
+ "action" : "getEnabledMCPS"
107
+ } ) ) ;
108
+ cbws . getWebsocket . on ( 'message' , ( data : string ) => {
109
+ try {
110
+ const response = JSON . parse ( data ) ;
111
+ if ( response . type === "getEnabledMCPSResponse" ) {
112
+ resolve ( response . data ) ;
113
+ } else {
114
+ reject ( new Error ( "Unexpected response type" ) ) ;
115
+ }
116
+ } catch ( error ) {
117
+ reject ( new Error ( "Failed to parse response" ) ) ;
118
+ }
119
+ } ) ;
120
+ cbws . getWebsocket . on ( 'error' , ( error : Error ) => {
121
+ reject ( error ) ;
122
+ } ) ;
123
+ } ) ;
124
+ } ,
52
125
}
53
126
54
127
export default codeboltMCP ;
0 commit comments