@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
35 lines (34 loc) • 1.43 kB
JavaScript
;
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