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