UNPKG

@suiware/mcp

Version:

An stdio MCP server with built-in Suiware AI Tools.

2 lines 3 kB
#!/usr/bin/env node 'use strict';var zod=require('zod'),mcp_js=require('@modelcontextprotocol/sdk/server/mcp.js'),stdio_js=require('@modelcontextprotocol/sdk/server/stdio.js'),aiTools=require('@suiware/ai-tools'),fs=require('fs'),l=require('path'),url=require('url'),commander=require('commander');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var l__default=/*#__PURE__*/_interopDefault(l);var a=(e,r)=>()=>(e&&(r=e(e=0)),r);var d=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var w,i,s=a(()=>{w=e=>{let r=e.shape,o={};for(let[c,n]of Object.entries(r))o[c]=e instanceof zod.ZodOptional?n.unwrap():n;return o},i=e=>({description:e.description,paramsSchema:w(e.parameters),cb:async r=>{try{let o;return e.execute instanceof Function&&(o=await e.execute(r,{})),{content:[{type:"text",text:JSON.stringify(o,null,2)}]}}catch(o){return console.error("error",o),{isError:true,content:[{type:"text",text:o instanceof Error?o.message:"Unknown error occurred"}]}}}});});var p,h,m=a(()=>{s();p=async e=>{let r=h(e),o=new stdio_js.StdioServerTransport;return await r.connect(o),r},h=e=>{let r=new mcp_js.McpServer(e);for(let[o,c]of Object.entries(aiTools.getSuiwareAiTools())){let n=i(c);r.tool(o,n.description,n.paramsSchema,n.cb);}return r};});var t,u=a(()=>{t={info:(...e)=>console.error("[INFO]",...e),error:(...e)=>console.error("[ERROR]",...e),debug:(...e)=>console.error("[DEBUG]",...e),warn:(...e)=>console.error("[WARN]",...e)};});var k,f,S=a(()=>{k=()=>{let e=(typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('server.js', document.baseURI).href));return l__default.default.dirname(decodeURI(url.fileURLToPath(e)))},f=()=>{let e=fs.readFileSync(l__default.default.join(k(),"../package.json"),"utf8");return JSON.parse(e)};});var P=d(()=>{m();u();S();async function O(){try{let e=f(),r=new commander.Command;r.name(e.name).description(e.description).version(e.version),r.command("start",{isDefault:!0}).description("Start Suiware MCP Server").option("--env-config-file [envConfigFile]","path to .env config file").action(async({envConfigFile:o})=>{o!=null&&(t.info("Reading provided config file..."),process.env.SUIWARE_MCP_ENV_CONFIG_FILE_PATH=o),t.info("Starting Suiware MCP Server..."),await p({name:e?.description||"Suiware MCP Server",version:e?.version||"0.0.0"}),t.info("Suiware MCP Server started");}),r.parse();}catch(e){e instanceof Error?(t.error("Failed to start server:",e.message),e.stack&&t.debug("Stack trace:",e.stack)):t.error("Failed to start server:",String(e)),process.exit(1);}}process.on("uncaughtException",e=>{t.error("Uncaught exception:",e),process.exit(1);});process.on("unhandledRejection",e=>{t.error("Unhandled rejection:",e),process.exit(1);});O();});var server = P();module.exports=server;