@zxkane/quip-mcp-server
Version:
MCP server for interacting with Quip spreadsheets
74 lines (73 loc) • 1.67 kB
TypeScript
/**
* Authentication configuration
*/
export interface AuthConfig {
/**
* Whether authentication is enabled
*/
enabled: boolean;
/**
* API key for authentication
*/
apiKey?: string;
/**
* API key header name
*/
apiKeyHeader: string;
}
/**
* Authentication service
*/
export declare class AuthService {
private config;
/**
* Create a new authentication service
*
* @param config Authentication configuration
*/
constructor(config?: Partial<AuthConfig>);
/**
* Check if authentication is enabled
*
* @returns True if authentication is enabled
*/
isEnabled(): boolean;
/**
* Get the API key header name
*
* @returns API key header name
*/
getApiKeyHeader(): string;
/**
* Get the API key
*
* @returns API key or undefined if authentication is disabled
*/
getApiKey(): string | undefined;
/**
* Authenticate a request
*
* @param headers Request headers
* @throws AuthenticationError if authentication fails
*/
authenticate(headers: Record<string, string | string[] | undefined>): void;
/**
* Get the API key from request headers
*
* @param headers Request headers
* @returns API key or undefined if not found
*/
private getApiKeyFromHeaders;
/**
* Generate a random API key
*
* @returns Random API key
*/
private generateApiKey;
}
/**
* Create an authentication service from environment variables
*
* @returns Authentication service
*/
export declare function createAuthServiceFromEnv(): AuthService;