@mseep/hyperbrowser-mcp
Version:
Hyperbrowser Model Context Protocol Server
42 lines (41 loc) • 1.42 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSSEServer = void 0;
const express_1 = __importDefault(require("express"));
const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
const sse_js_1 = require("@modelcontextprotocol/sdk/server/sse.js");
const common_1 = require("../common");
const setup_server_1 = __importDefault(require("./setup_server"));
function setupSSE(app, server) {
(0, setup_server_1.default)(server);
console.log("Setting up SSE server");
let transport;
app.get("/sse", async (req, res) => {
transport = new sse_js_1.SSEServerTransport("/messages", res);
await server.connect(transport);
});
app.post("/messages", async (req, res) => {
if (!transport) {
res.status(400).send("No transport found");
return;
}
await transport.handlePostMessage(req, res);
});
}
async function createSSEServer() {
const app = (0, express_1.default)();
const server = new mcp_js_1.McpServer({
name: common_1.NAME,
version: common_1.VERSION,
}, {
capabilities: {
resources: {},
},
});
setupSSE(app, server);
return app;
}
exports.createSSEServer = createSSEServer;