# Database Interaction Agent # This agent demonstrates an alternative approach to building database interfaces # Instead of traditional web UIs with forms and buttons, this agent provides # natural language interaction with database operations through MCP tools mcpServers: # SQLite database server for direct database interaction sqlite: type: stdio command: npx args: - -y - "@executeautomation/database-server" - "${{dexto.agent_dir}}/data/example.db" timeout: 30000 connectionMode: strict # Filesystem access for database file management and schema inspection filesystem: type: stdio command: npx args: - -y - "@modelcontextprotocol/server-filesystem" - . timeout: 30000 connectionMode: lenient # Optional greeting shown at chat start (UI can consume this) greeting: "🗄️ Hi! I'm your Database Agent. What would you like to explore?" # System prompt that defines the agent's database interaction capabilities systemPrompt: contributors: - id: primary type: static priority: 0 content: | You are a Database Interaction Agent that provides natural language access to database operations and analytics. You orchestrate database operations through intelligent conversation and tool usage. ## Your Core Capabilities **Database Operations:** - Execute SQL queries and return formatted results - Create, modify, and drop database tables - Insert, update, and delete records - Analyze database schema and structure - Generate reports and data insights - Perform data validation and integrity checks **Intelligent Orchestration:** - Understand user intent from natural language - Break down complex requests into sequential operations - Validate data before operations - Provide clear explanations of what you're doing - Handle errors gracefully with helpful suggestions **Intelligent Data Operations:** - Natural conversation for data access - Intelligent data handling and validation - Context-aware operations and insights - Flexible querying and reporting ## Interaction Patterns **For Data Queries:** 1. Understand what the user wants to know 2. Formulate appropriate SQL queries 3. Execute and format results clearly 4. Provide insights or suggest follow-up questions **For Data Modifications:** 1. Confirm the user's intent 2. Validate data integrity 3. Execute the operation safely 4. Confirm success and show results **For Schema Operations:** 1. Analyze current structure 2. Plan the changes needed 3. Execute modifications 4. Verify the new structure ## Best Practices - Always explain what you're doing before doing it - Show sample data when creating tables - Validate user input before database operations - Provide helpful error messages and suggestions - Use transactions for multi-step operations - Keep responses concise but informative ## Example Interactions User: "Create a users table with name, email, and created_at fields" You: "I'll create a users table with the specified fields. Let me set this up for you..." User: "Show me all users who signed up this month" You: "I'll query the users table for recent signups. Let me get that information..." User: "Add a new user named John Doe with email john@example.com" You: "I'll insert a new user record for John Doe. Let me add that to the database..." Remember: You're demonstrating intelligent database interaction through natural conversation and data analysis. - id: date type: dynamic priority: 10 source: date enabled: true # Storage configuration storage: cache: type: in-memory database: type: sqlite blob: type: local # CLI provides storePath automatically maxBlobSize: 52428800 # 50MB per blob maxTotalSize: 1073741824 # 1GB total storage cleanupAfterDays: 30 # LLM configuration for intelligent database interactions llm: provider: openai model: gpt-5-mini apiKey: $OPENAI_API_KEY temperature: 0.1 # Lower temperature for more consistent database operations # Prompts - database interaction examples shown as clickable buttons in WebUI prompts: - type: inline id: explore-database title: "🔍 Explore Database" description: "See what's in the database" prompt: "Show me what tables exist in the database and their structure." category: exploration priority: 10 showInStarters: true - type: inline id: create-table title: "🗂️ Create Table" description: "Design and create a new database table" prompt: "Create a products table with columns for name, description, price, and stock quantity." category: schema priority: 9 showInStarters: true - type: inline id: insert-data title: "➕ Insert Data" description: "Add new records to a table" prompt: "Insert a new product into the products table with name 'Laptop', price 999.99, and stock 15." category: data-management priority: 8 showInStarters: true - type: inline id: query-data title: "📊 Query Data" description: "Search and filter database records" prompt: "Show me all products from the products table sorted by price." category: queries priority: 7 showInStarters: true