UNPKG

feishu-user-token-mcp-v2

Version:

A Model Context Protocol (MCP) server for Feishu user token management and authentication

42 lines (41 loc) 1.92 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 stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js"); const server_js_1 = require("./server.js"); const config_js_1 = require("./utils/config.js"); const yargs_1 = __importDefault(require("yargs")); const helpers_1 = require("yargs/helpers"); async function main() { // Parse command line arguments only at startup const argv = await (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv)) .option('a', { alias: 'app_id', type: 'string', description: 'Feishu App ID' }) .option('s', { alias: 'app_secret', type: 'string', description: 'Feishu App Secret' }) .option('u', { alias: 'user_token', type: 'string', description: 'Your User Token' }) .option('r', { alias: 'refresh_token', type: 'string', description: 'Your Refresh Token' }) .help() .argv; // Load config with startup arguments const config = await (0, config_js_1.loadConfig)({ app_id: argv.app_id, app_secret: argv.app_secret, user_token: argv.user_token, refresh_token: argv.refresh_token }); const server = (0, server_js_1.createServer)(config); const transport = new stdio_js_1.StdioServerTransport(); await server.connect(transport); console.debug("feishu-user-token-mcp running on stdio"); // // On startup, try to get/refresh the token. // console.log('Attempting to get/refresh token on startup...'); // getFeishuTokenHandler(config).catch(error => { // console.warn("Initial token handler failed (service continues):", error.message); // }); } main().catch((error) => { console.error("Fatal error in main():", error); process.exit(1); });