Skip to main content
Glama
larksuite

Feishu/Lark OpenAPI MCP

Official
by larksuite
stdio.ts1.4 kB
import express from 'express'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { InitTransportServerFunction } from '../shared'; import { authStore } from '../../auth'; import { LarkAuthHandlerLocal } from '../../auth'; import { logger } from '../../utils/logger'; export const initStdioServer: InitTransportServerFunction = async ( getNewServer, options, { needAuthFlow } = { needAuthFlow: false }, ) => { const { userAccessToken, appId, oauth } = options; let authHandler: LarkAuthHandlerLocal | undefined; if (!userAccessToken && needAuthFlow) { const app = express(); app.use(express.json()); authHandler = new LarkAuthHandlerLocal(app, options); if (oauth) { authHandler.setupRoutes(); } } const transport = new StdioServerTransport(); const userAccessTokenValue = userAccessToken ? userAccessToken : appId ? { getter: async () => await authStore.getLocalAccessToken(appId) } : undefined; const mcpServer = getNewServer({ ...options, userAccessToken: userAccessTokenValue }, authHandler); logger.info( `[StdioServerTransport] Connecting to MCP Server, userAccessToken: ${Boolean(userAccessToken)}, appId: ${appId}`, ); mcpServer.connect(transport).catch((error) => { logger.error(`[StdioServerTransport] MCP Connect Error: ${error}`); process.exit(1); }); };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/larksuite/lark-openapi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server