UNPKG

alioss-mcp

Version:

为AI编码工具提供阿里云OSS访问能力的Model Context Protocol服务器

60 lines (59 loc) 2.69 kB
#!/usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const dotenv_1 = require("dotenv"); const server_1 = __importDefault(require("./server")); const minimist_1 = __importDefault(require("minimist")); const fs_1 = require("fs"); const path_1 = require("path"); (0, dotenv_1.config)(); const args = (0, minimist_1.default)(process.argv.slice(2)); if (args.help) { console.log(` 阿里云OSS MCP服务器 选项: --version 显示版本号 --accessKeyId 你的阿里云AccessKeyId --accessKeySecret 你的阿里云AccessKeySecret --bucket 你想要操作的OSS存储桶 --region OSS区域位置 --workingDirectory 本地工作目录(默认为当前目录) --port 服务器运行的端口(默认为3000) --stdio 在命令行模式运行服务器 --help 显示此帮助信息 `); process.exit(0); } if (args.version) { const packageJsonPath = (0, path_1.join)(__dirname, "../package.json"); const packageJson = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, "utf8")); console.log(`alioss-mcp 版本 ${packageJson.version}`); process.exit(0); } const accessKeyId = args.accessKeyId || process.env.OSS_ACCESS_KEY_ID; const accessKeySecret = args.accessKeySecret || process.env.OSS_ACCESS_KEY_SECRET; const bucket = args.bucket || process.env.OSS_BUCKET; const region = args.region || process.env.OSS_REGION; const workingDirectory = args.workingDirectory || process.env.WORKING_DIRECTORY || process.cwd(); const port = args.port || process.env.PORT || 3000; const useStdio = args.stdio || false; if (!accessKeyId || !accessKeySecret || !bucket || !region) { console.error("错误: 必须提供以下参数:\n" + "命令行参数: --accessKeyId=<accessKeyId> --accessKeySecret=<accessKeySecret> --bucket=<bucket> --region=<region> [--workingDirectory=<workingDirectory>]\n" + "或环境变量: OSS_ACCESS_KEY_ID, OSS_ACCESS_KEY_SECRET, OSS_BUCKET, OSS_REGION, [WORKING_DIRECTORY]"); process.exit(1); } console.log("初始化阿里云OSS MCP服务器..."); const server = new server_1.default(accessKeyId, accessKeySecret, bucket, region, workingDirectory); if (useStdio) { console.log("以STDIO模式启动服务器"); server.start(); } else { console.log(`以HTTP模式启动服务器,监听端口 ${port}`); server.startHttpServer(Number(port)); } //# sourceMappingURL=index.js.map