UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

35 lines (34 loc) 1.43 kB
#!/usr/bin/env node "use strict"; var _nodePath = _interopRequireDefault(require("node:path")); var _nodeProcess = _interopRequireDefault(require("node:process")); var _stdio = require("@modelcontextprotocol/sdk/server/stdio.js"); var _mcpDocsServer = require("./mcp-docs-server.js"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function logErr(...args) { console.error(...args); } async function main() { const { server, tools } = (0, _mcpDocsServer.createDocsServer)(); logErr(`[eufemia] docsRoot: ${tools.docsRoot}`); await (0, _mcpDocsServer.validateDocsRoot)(tools.docsRoot); const transport = new _stdio.StdioServerTransport(); await server.connect(transport); logErr('[eufemia] connected (stdio)'); } const shouldRun = (() => { const entryPath = _nodeProcess.default.argv[1] ? _nodePath.default.resolve(_nodeProcess.default.argv[1]) : ''; const entryName = entryPath ? _nodePath.default.basename(entryPath) : ''; const allowed = new Set(['mcp-stdio.js', 'mcp-stdio.mjs', 'mcp-stdio.cjs', 'mcp-stdio.ts', 'mcp-stdio.mts', 'mcp-docs-server.js', 'mcp-docs-server.mjs', 'mcp-docs-server.cjs', 'mcp-docs-server.ts', 'mcp-docs-server.mts']); return entryName ? allowed.has(entryName) : false; })(); if (shouldRun) { main().catch(e => { logErr('[eufemia] fatal:', e); _nodeProcess.default.exit(1); }); } //# sourceMappingURL=mcp-stdio.js.map