alioss-mcp
Version:
为AI编码工具提供阿里云OSS访问能力的Model Context Protocol服务器
60 lines (59 loc) • 2.69 kB
JavaScript
;
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