Skip to main content
Glama

Curupira

by drzln
README.md3.62 kB
# Curupira Configuration Guide Curupira follows the Nexus configuration hierarchy pattern: 1. **Base YAML** → 2. **Environment YAML** → 3. **Environment Variables** ## Configuration Hierarchy ``` config/ ├── base.yaml # Default values for all environments ├── development.yaml # Development overrides ├── staging.yaml # Staging overrides └── production.yaml # Production overrides ``` ## MinIO/S3 Storage Configuration Curupira can store large responses (screenshots, PDFs) in MinIO or S3-compatible storage instead of returning them directly via MCP. ### YAML Configuration ```yaml # config/base.yaml or environment-specific YAML storage: minio: enabled: false # Enable/disable MinIO storage endPoint: "localhost" # MinIO/S3 endpoint port: 9000 # Port (9000 for MinIO, 443 for S3) useSSL: false # Use SSL/TLS accessKey: "minioadmin" # Access key secretKey: "minioadmin" # Secret key bucket: "curupira-screenshots" # Bucket name region: "us-east-1" # Region (required for S3) signedUrlExpiry: 3600 # Signed URL expiry in seconds ``` ### Environment Variable Overrides Environment variables always override YAML values: ```bash # Enable MinIO storage export STORAGE_MINIO_ENABLED=true # Configure MinIO endpoint export STORAGE_MINIO_ENDPOINT=minio.example.com export STORAGE_MINIO_PORT=9000 export STORAGE_MINIO_USE_SSL=true # Set credentials (recommended for production) export STORAGE_MINIO_ACCESS_KEY=your-access-key export STORAGE_MINIO_SECRET_KEY=your-secret-key # Configure bucket and region export STORAGE_MINIO_BUCKET=curupira-production export STORAGE_MINIO_REGION=us-west-2 ``` ## Example Configurations ### Local Development with MinIO ```yaml # config/development.yaml storage: minio: enabled: true endPoint: "localhost" port: 9000 useSSL: false bucket: "curupira-dev" ``` ### Production with AWS S3 ```yaml # config/production.yaml storage: minio: enabled: true endPoint: "s3.amazonaws.com" port: 443 useSSL: true region: "us-west-2" bucket: "my-company-curupira" # accessKey and secretKey via environment variables ``` ### PLO Cluster MinIO (from Host) ```yaml # config/staging.yaml or production.yaml storage: minio: enabled: true endPoint: "minio.infrastructure.plo.quero.local" port: 31900 # NodePort for host access useSSL: false bucket: "curupira-staging" ``` **Note**: When running Curupira from the host (not inside Kubernetes), use the NodePort endpoint: - MinIO API: `http://minio.infrastructure.plo.quero.local:31900` - MinIO Console: `http://minio-console.infrastructure.plo.quero.local` ## How It Works When MinIO storage is enabled: 1. **Screenshot/PDF capture** → Stored in MinIO 2. **MCP response** → Returns MinIO signed URL 3. **Client access** → Downloads from MinIO URL Benefits: - Reduced MCP message size - Better performance for large files - Direct download links with expiry - Scalable storage backend ## Testing MinIO Configuration 1. Start MinIO locally: ```bash docker run -p 9000:9000 -p 9001:9001 \ -e MINIO_ROOT_USER=minioadmin \ -e MINIO_ROOT_PASSWORD=minioadmin \ minio/minio server /data --console-address ":9001" ``` 2. Configure Curupira: ```bash export STORAGE_MINIO_ENABLED=true export STORAGE_MINIO_ENDPOINT=localhost npm run start ``` 3. Take a screenshot via MCP - it will return a MinIO URL instead of base64 data.

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/drzln/curupira'

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