Skip to main content
Glama

Lark Base MCP Server

Official
sessionManager.ts1.75 kB
import { Transport } from '@modelcontextprotocol/sdk/shared/transport.js'; interface Session { appToken?: string; personalBaseToken?: string; userAccessToken?: string; transport: Transport | null; } class SessionManager { private sessions: Map<string, Session> = new Map(); createSession(sessionId: string, appToken: string, personalBaseToken: string, transport: Transport | null = null): void { this.sessions.set(sessionId, { appToken, personalBaseToken, transport }); } getSession(sessionId: string): Session | undefined { return this.sessions.get(sessionId); } getTransport(sessionId: string): Transport | null { return this.sessions.get(sessionId)?.transport ?? null; } setTransport(sessionId: string, transport: Transport): void { const session = this.sessions.get(sessionId); if (session) { session.transport = transport; this.sessions.set(sessionId, session); } } deleteSession(sessionId: string): void { this.sessions.delete(sessionId); } setUserAccessToken(sessionId: string, userAccessToken: string): void { const session = this.sessions.get(sessionId); if (session) { session.userAccessToken = userAccessToken; this.sessions.set(sessionId, session); } else { throw new Error(`Session not found: ${sessionId}`); } } getUserAccessToken(sessionId?: string): string | undefined { // console.log('getUserAccessToken', sessionId); if (!sessionId) { return undefined; } const session = this.sessions.get(sessionId); const token = session?.userAccessToken; // console.log('getUserAccessToken userAccessToken', token); return token; } } export const sessionManager = new SessionManager();

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/Lark-Base-Team/lark-base-mcp-node-server'

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