@auth0/auth0-mcp-server
Version:
Auth0 Model Context Protocol (MCP) Server (Beta) — A secure and extendable implementation of an MCP server that provides AI assistants with controlled access to the Auth0 Management API through natural language. This project is in beta and not intended fo
66 lines (65 loc) • 2.71 kB
TypeScript
/**
* Auth0 configuration interface representing essential tenant
* connection information needed for API operations.
*/
export interface Auth0Config {
/**
* Authentication token for Auth0 Management API access.
* Must be valid and non-expired for API operations to succeed.
* Used in the Authorization header for all API requests.
*/
token: string;
/**
* Auth0 tenant domain (e.g., "your-tenant.auth0.com").
* Used to construct API endpoints and identify the tenant.
* Essential for routing requests to the correct Auth0 instance.
*/
domain: string;
/**
* Human-readable name for the Auth0 tenant.
* Used primarily for display purposes in logs and user interfaces.
* Defaults to domain if not explicitly provided.
*/
tenantName?: string;
/**
* Where the configuration was loaded from.
* Environment-backed configuration is useful for bundle-based installs where
* hosts can securely prompt for values and inject them at launch time.
*/
source?: 'keychain' | 'env';
}
/**
* Loads and prepares Auth0 configuration for API interactions.
*
* This function retrieves stored credentials from the system keychain
* to establish a secure connection with Auth0 tenant. It handles
* the authentication flow behind the scenes, ensuring a valid
* access token is available for API operations.
*
* @returns {Promise<Auth0Config | null>} Configuration object with token and domain
* or null if retrieval fails
*/
export declare function loadConfig(): Promise<Auth0Config | null>;
/**
* Validates Auth0 configuration to ensure it can be used for API operations.
*
* This comprehensive validation ensures that:
* 1. The configuration object exists
* 2. The required token is present
* 3. The required domain is specified
* 4. The token has not expired
*
* Security validation is critical since invalid or expired credentials could
* lead to API failures or security vulnerabilities. This function prevents
* operations from proceeding with invalid authentication states.
*
* Note: This validation complements the user-oriented validation in `run.ts`.
* While `run.ts` provides detailed CLI error messages during startup,
* this function serves as an ongoing validation layer during server operation,
* particularly when handling tool requests. Both mechanisms work together
* to create a secure yet user-friendly experience.
*
* @param {Auth0Config | null} config - The configuration to validate
* @returns {Promise<boolean>} True if config is valid and usable, false otherwise
*/
export declare function validateConfig(config: Auth0Config | null): Promise<boolean>;