UNPKG

mcp-chrome-bridge

Version:

Chrome Native-Messaging host (Node)

46 lines 1.69 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.setupTools = void 0; const types_js_1 = require("@modelcontextprotocol/sdk/types.js"); const native_messaging_host_1 = __importDefault(require("../native-messaging-host")); const chrome_mcp_shared_1 = require("chrome-mcp-shared"); const setupTools = (server) => { // List tools handler server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({ tools: chrome_mcp_shared_1.TOOL_SCHEMAS })); // Call tool handler server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => handleToolCall(request.params.name, request.params.arguments || {})); }; exports.setupTools = setupTools; const handleToolCall = async (name, args) => { try { // 发送请求到Chrome扩展并等待响应 const response = await native_messaging_host_1.default.sendRequestToExtensionAndWait({ name, args, }, chrome_mcp_shared_1.NativeMessageType.CALL_TOOL, 30000); return { content: [ { type: 'text', text: JSON.stringify(response), }, ], isError: false, }; } catch (error) { return { content: [ { type: 'text', text: `Error calling tool: ${error.message}`, }, ], isError: true, }; } }; //# sourceMappingURL=register-tools.js.map