MindsDB is a popular open-source query engine for AI analytics, powering AI agents that need to answer questions directly from databases, data warehouses, and applications, with no ETL required.
What you can build with MindsDB Query Engine
| CONVERSATIONAL ANALYTICS AGENTS | SEMANTIC SEARCH AGENTS |
|---|---|
| Get precise, data-driven answers using natural language. Unify and query data across sources (MySQL, Salesforce, Shopify, etc.), without ETL. |
Ground LLM responses in your most relevant internal knowledge. Search across unstructured sources like documents, support tickets, Google Drive, and more. |
How MindsDB works
MindsDB follows a simple workflow: Connect β Unify β Respond. At the center is an SQL-compatible data language with additional constructs for searching unstructured data, managing workflows (jobs/triggers), and building agents.
| Connect | Universal data access: Give your agents federated access to 200+ live data sources (Postgres, MongoDB, Slack, files, and more). |
| Unify | Dynamic context engine: Fuse structured tables with vectorized data (text, PDFs, HTML) inside a Knowledge Base. |
| Respond | Autonomous reasoning: Deploy agents that blend and retrieve data points across your stack to produce grounded answers. |
Setup
Users can install MindsDB via Docker, Docker Extension, or PyPI.
Here is how to pull and run MindsDB via Docker:
docker run --name mindsdb_container \ -e MINDSDB_APIS=http,mysql \ -p 47334:47334 -p 47335:47335 \ mindsdb/mindsdb:latest
Usage
Follow the quickstart guide to get started with MindsDB using our demo data.
Retrieve and analyze data from over 200 data sources in one SQL dialect. For AI agents, this means faster response time, better accuracy, and lower token consumption.
--use SQL to aggregate pipeline data from Salesforce SELECT SUM(ExpectedRevenue) AS open_pipeline FROM salesforce.opportunities WHERE close_date >= CURDATE() --use the same dialect to retrieve even from a non-SQL database, like MondoDB SELECT COUNT(*) AS negative_emails_last_30_days FROM mongodb.support_tickets WHERE sentiment = 'negative' AND created_at >= CURRENT_DATE - INTERVAL '30 days';
Create views and join data even from different types of data systems.
--join MongoDB and Salesforce data CREATE VIEW risky_renewals AS ( SELECT * FROM mongodb.support_tickets AS reviews JOIN salesforce.opportunities AS deals ON reviews.customer_domain = deals.customer_domain WHERE deals.type = "renewal" AND reviews.sentiment = "negative" );
Join vectorized and structured data inside a knowledge base. Combine semantic search with precise metadata criteria in a single SQL query.
--create a knowledge base for customer issues CREATE KNOWLEDGE_BASE customers_issues USING storage = my_vector.db, content_columns = ['ticket_description']; metadata_columns = ['customer_name', 'segment', 'revenue', 'is_pending_renewal']; --find large customers who submitted ticket related to data security topics SELECT * FROM customers_issues WHERE content = 'data security' AND is_pending_renewal = 'true'. revenue > 1000000;
Use MindsDB pre-packaged data agents and connect them with your own. See how to use MindsDB via API or MCP.
CREATE AGENT my_agent
USING
model = {
"provider": "openai",
"model_name" : "gpt-xx",
"api_key": "sk-..."
},
data = {
"knowledge_bases": ["mindsdb.customer_issues"],
"tables": ["salesforce.opportunities", "postgres.sales", "mongodb.support_tickets"]
},
prompt_template = 'my prompt template and agent guidance';See MindsDBβs recommended usage of agents here and how to automate workflows with jobs.
π Tutorials
- Enterprise Knowledge Search (example)
- Advanced Semantic Search (example)
- Customer Support Automation (example1, example2)
- Intelligent Content Discovery (example)
- Financial Analysis Agents (example)
- Real-time AI-powered analytics (example)
- Conversational Data Assistants (example)
- CRM Intelligence (example)
- Compliance & Customer Intelligence (example)
- Conversation Intelligence (example) Subscribe to our (blog) for more
π«΄ Help and support
Stuck on a query? Found a bug? Weβre here to help.
| Ask a question | Join our Slack Community. |
| Report a bug | Open a GitHub Issue. Please include reproduction steps! |
| Get commercial support | Contact the MindsDB Team for enterprise SLAs and custom solutions. |
Security Note: If you find a security vulnerability, please do not open a public issue. Refer to our security policy for reporting instructions.
π€ Contribute to MindsDB
MindsDB is open source and contributions are welcome! You can submit code changes through pull requests or by opening issues to report bugs, suggest new features, or enhancements.
Ways you can help:
- Develop a database integration
- Develop an app integration
- Identify and fix bugs
How to contribute
- Read the contribution guide to get set up.
- Browse open issues.
- Join the #contributors channel in Slack.
- Explore community rewards and programs.