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
JavaScript
;
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);
});