gmail-mcp-server
Version:
Gmail MCP Server with on-demand authentication for SIYA/Claude Desktop. Complete Gmail integration with multi-user support and OAuth2 security.
81 lines • 1.9 kB
TypeScript
export interface UserCredentials {
client_id: string;
client_secret: string;
redirect_uris: string[];
}
export interface UserSession {
userId: string;
userEmail?: string;
accessToken: string;
refreshToken: string;
expiryDate: number;
authenticated: boolean;
}
/**
* Multi-user Gmail authentication manager
*/
export declare class MultiUserGmailAuth {
private sessions;
private credentials;
private authServers;
constructor();
private ensureConfigDir;
/**
* Load credentials from environment or file
*/
private loadCredentials;
/**
* Load existing user sessions
*/
private loadExistingSessions;
/**
* Save user sessions to file
*/
private saveUserSessions;
/**
* Generate a unique user ID
*/
private generateUserId;
/**
* Create OAuth2 client for a user
*/
private createOAuth2Client;
/**
* Start authentication flow for a new user
*/
authenticateNewUser(userEmail?: string): Promise<{
userId: string;
authUrl: string;
port: number;
}>;
/**
* Find an available port for OAuth callback
*/
private findAvailablePort;
/**
* Start callback server for OAuth2
*/
private startCallbackServer;
/**
* Get authenticated Gmail client for a user
*/
getGmailClientForUser(userId: string): Promise<any>;
/**
* Get user session info
*/
getUserSession(userId: string): UserSession | null;
/**
* List all authenticated users
*/
getAuthenticatedUsers(): UserSession[];
/**
* Remove user session
*/
removeUser(userId: string): boolean;
/**
* Clear all user sessions
*/
clearAllSessions(): void;
}
export declare const multiUserAuth: MultiUserGmailAuth;
//# sourceMappingURL=multi-user-auth.d.ts.map