11import cbws from './websocket' ;
22const codeboltMCP = {
3- getMcpList : ( ) : Promise < any > => {
3+
4+ executeTool : ( toolName : string , params : any , mcpServer ?: string , ) : Promise < any > => {
45 return new Promise ( ( resolve , reject ) => {
56 cbws . getWebsocket . send ( JSON . stringify ( {
67 "type" : "mcpEvent" ,
7- "action" : "getMcpList"
8+ "action" : "executeTool" ,
9+ "toolName" : toolName ,
10+ "params" : params
811 } ) ) ;
912 cbws . getWebsocket . on ( 'message' , ( data : string ) => {
1013 try {
1114 const response = JSON . parse ( data ) ;
12- if ( response . type === "getMcpListResponse " ) {
15+ if ( response . type === "executeToolResponse " ) {
1316 resolve ( response . data ) ;
1417 } else {
1518 reject ( new Error ( "Unexpected response type" ) ) ;
@@ -23,19 +26,17 @@ const codeboltMCP = {
2326 } ) ;
2427 } ) ;
2528 } ,
26- executeTool : ( mcpServer : string , toolName : string , params : any ) : Promise < any > => {
29+ getMcpTools : ( tools : string [ ] ) : Promise < any > => {
2730 return new Promise ( ( resolve , reject ) => {
2831 cbws . getWebsocket . send ( JSON . stringify ( {
2932 "type" : "mcpEvent" ,
30- "action" : "executeTool" ,
31- "mcpServer" : mcpServer ,
32- "toolName" : toolName ,
33- "params" : params
33+ "action" : "getMcpTools" ,
34+ "tools" : tools
3435 } ) ) ;
3536 cbws . getWebsocket . on ( 'message' , ( data : string ) => {
3637 try {
3738 const response = JSON . parse ( data ) ;
38- if ( response . type === "executeToolResponse" && response . toolName === toolName ) {
39+ if ( response . type === "getMcpToolsResponse" ) {
3940 resolve ( response . data ) ;
4041 } else {
4142 reject ( new Error ( "Unexpected response type" ) ) ;
@@ -48,7 +49,79 @@ const codeboltMCP = {
4849 reject ( error ) ;
4950 } ) ;
5051 } ) ;
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+ } ,
52125}
53126
54127export default codeboltMCP ;
0 commit comments