import { MCPResource, ResourceContent } from "mcp-framework";
class EchoResource extends MCPResource {
uri = "resource://echo";
name = "Echo";
mimeType = "application/json";
private ws: WebSocket | null = null;
async subscribe() {
this.ws = new WebSocket("wss://echo.websocket.org");
this.ws.onmessage = (event) => {
console.log('Received:', event.data);
};
// Send a test message
this.ws.onopen = () => {
this.ws?.send('Hello WebSocket!');
};
}
async unsubscribe() {
if (this.ws) {
this.ws.close();
this.ws = null;
}
}
async read() {
return [
{
uri: this.uri,
mimeType: this.mimeType,
text: 'Connected to WebSocket echo server'
},
];
}
}
export default EchoResource;