3.6 KiB
3.6 KiB
Configuration
This guide explains how to configure the Composio SDK using environment variables and initialization options.
Environment Variables
The SDK supports several environment variables for configuration:
Core Configuration
-
COMPOSIO_API_KEY: Your Composio API key- Required for authentication
- Can be obtained from Composio Dashboard
- Can also be set via SDK initialization or user config file
-
COMPOSIO_BASE_URL: Custom API base URL- Optional
- Default:
https://backend.composio.dev - Use this to point the SDK to a different API endpoint
Logging Configuration
COMPOSIO_LOG_LEVEL: Controls the verbosity of SDK logs- Values:
silent,error,warn,info,debug - Default:
info - Hierarchy (from highest to lowest priority):
silent: No logserror: Only critical errorswarn: Warnings and errorsinfo: General information, warnings, and errorsdebug: Detailed debugging information
- Values:
Development and Testing
-
NODE_ENV: Environment mode- Values:
development,production,test - Affects:
- Telemetry collection (disabled in development/test)
- Error handling verbosity
- Version check notifications
- Values:
-
DEVELOPMENT: Development mode flag- Set to any value to enable development mode
- Enables additional debugging features
- Shows more verbose logs
-
CI: CI environment flag- Set to any value to indicate CI environment
- Affects certain behaviors like version checks
Telemetry
COMPOSIO_DISABLE_TELEMETRY: Disable telemetry collection- Set to
"true"to disable - Default:
"false" - Alternative to
allowTrackinginitialization option
- Set to
SDK Initialization Options
When initializing the SDK, you can provide configuration through the constructor:
const composio = new Composio({
apiKey: 'your-api-key', // Override COMPOSIO_API_KEY
baseURL: 'custom-url', // Override COMPOSIO_BASE_URL
allowTracking: false, // Disable telemetry
allowTracing: true, // Enable tracing
provider: new CustomProvider(), // Custom provider
host: 'mcp', // host where the sdk is being used
});
Configuration Priority
When multiple configuration sources are present, the SDK follows this priority order:
- Constructor parameters
- Environment variables
- User config file
- Default values
Examples
Development Setup
# Development environment with debug logging
export NODE_ENV=development
export COMPOSIO_LOG_LEVEL=debug
export COMPOSIO_API_KEY=your-api-key
Production Setup
# Production environment with minimal logging
export NODE_ENV=production
export COMPOSIO_LOG_LEVEL=error
export COMPOSIO_API_KEY=your-api-key
Testing Setup
# Test environment with telemetry disabled
export NODE_ENV=test
export COMPOSIO_DISABLE_TELEMETRY=true
export COMPOSIO_API_KEY=your-test-api-key
Best Practices
-
Environment-specific Configuration
- Use different log levels for different environments
- Enable detailed logging in development
- Use minimal logging in production
-
Security
- Never commit API keys to version control
- Use environment variables or secure secrets management
- Consider using different API keys for different environments
-
Telemetry
- Enable telemetry in production for better support
- Disable telemetry in development and testing
- Use custom telemetry transport for specific needs
-
Error Handling
- Set appropriate log levels for error tracking
- Use debug level during development
- Use error or warn level in production