MindsDB is an open source AI data query platform focused on connecting and integrating multiple data sources. It enables users to query structured and unstructured data from databases, data warehouses, and SaaS applications via SQL or natural language.At the core of MindsDB is a federated query engine with a built-in MCP (Machine Learning and Data Connectivity) server that allows users to unify access to and analyze dispersed data without moving the data. The platform supports connectivity to over 200 data sources, including Slack, Gmail, and social platforms, and is suitable for developers, data analysts, and enterprise users.MindsDB can be deployed locally or in the cloud, and is highly flexible, has an active community, and boasts more than 33k GitHub stars.
Function List
- Multi-source data connectivity: Supports connectivity to over 200 data sources such as databases (MySQL, PostgreSQL), SaaS applications (Slack, Gmail), and data warehouses.
- SQL and Natural Language Queries: Users can query data in SQL or natural language, which the platform translates and executes automatically.
- Knowledge base building: Integrate heterogeneous data through virtual tables (views) to create a unified knowledge base and simplify data access.
- Machine Learning Integration: Built-in Lightwood framework that enables rapid construction and deployment of machine learning models within the database.
- Federal Query Engine: Execute complex queries across data sources without ETL (Extract, Transform, Load) processes.
- Customizable deploymentSupport for local, cloud, or Docker deployments to accommodate different usage scenarios.
- Open Source Community Support: Provides a GitHub discussion forum, Slack community, and documentation to encourage code contributions and feedback.
Using Help
Installation process
MindsDB offers a variety of installation methods for users with different technical backgrounds. The following are the two main installation methods:
Using Docker (recommended)
- Installing Docker Desktop: Download and install Docker Desktop for Windows, Mac or Linux from the official website (https://www.docker.com/products/docker-desktop/).
- Pulling a MindsDB Mirror: Open a terminal and run the following command:
docker pull mindsdb/mindsdb
- Starting the MindsDB Container: Run the following command to start the server:
docker run -p 47334:47334 -p 47335:47335 mindsdb/mindsdb
Port 47334 is used for the HTTP interface and 47335 is used for MySQL protocol connections.
- Accessing MindsDB: Open your browser and type
http://localhost:47334
To access the MindsDB web interface, use the MySQL client interface. Or use the MySQL client to connect tolocalhost:47335
The
Using PyPI (for developers)
- Installing Python: Ensure that Python 3.8 or later is installed on your system.
- Installing MindsDB: Runs in the terminal:
pip install mindsdb
- Starting the MindsDB Server: Run the following command:
python -m mindsdb
- access interface: The same way as with Docker, access the
http://localhost:47334
or connect through a MySQL client.
After installation, MindsDB provides both web interface and command line operation. web interface is suitable for beginners and command line is suitable for developers.
Main function operation flow
1. Connecting to data sources
MindsDB supports connecting to multiple data sources. The following is an example of connecting to a MySQL database:
- Web interface operation::
- Log in to the web interface and click on the "Data Sources" tab.
- Select "Add Data Source" and choose MySQL.
- Enter database information: host (
host
), port (usually 3306), username (username
), password (password
) and database name (database
). - Click "Test Connection" to verify the connection and click "Save" when it is successful.
- SQL Command Operation::
Run in MindsDB's SQL editor:CREATE DATABASE my_mysql_datasource WITH ENGINE = 'mysql', PARAMETERS = { "host": "localhost", "port": 3306, "user": "your_username", "password": "your_password", "database": "your_database" };
After successful connection, the data source will be displayed in the interface or can be queried via SQL.
2. Query data
MindsDB supports SQL and natural language queries:
- SQL Query::
Run standard SQL statements in a SQL editor or MySQL client in the web interface. For example, query the sales data in a MySQL data source:SELECT * FROM my_mysql_datasource.sales_table WHERE date > '2025-01-01';
- natural language query::
In the web interface, select "Chat" mode and enter a question, for example, "What are the first quarter sales in 2025?" MindsDB will automatically convert the question into a SQL query and return the results.
3. Creating a knowledge base
Knowledge base is used to integrate data from multiple sources and create virtual tables. Operation Steps:
- Click on the "Knowledge Bases" tab in the web interface and select "Create Knowledge Base".
- Select the data sources to integrate (e.g. MySQL and Slack).
- Define the virtual table structure and set up field mapping.
- Once saved, the knowledge base can be queried via SQL, for example:
SELECT * FROM my_knowledge_base WHERE topic = 'sales';
4. Machine learning models
MindsDB's Lightwood framework supports training machine learning models within the database. For example, predicting house prices:
- Prepare the data table with the fields related to the house price (e.g., square footage, location).
- Run it in the SQL editor:
CREATE PREDICTOR house_price_predictor FROM my_mysql_datasource (SELECT * FROM house_data) PREDICT price;
- After the training is completed, the prediction results are queried:
SELECT price FROM house_price_predictor WHERE area = 100 AND location = 'downtown';
Featured Function Operation
Federal Query Engine
MindsDB's federated query engine allows for cross-data source queries. For example, combining MySQL sales data and Slack message data:
SELECT s.order_id, s.amount, m.message
FROM my_mysql_datasource.sales_table s
JOIN my_slack_datasource.messages m
ON s.date = m.timestamp;
This query eliminates the need to manually move data; MindsDB handles cross-source connections automatically.
Knowledge base assessment
MindsDB provides tools to assess the quality of the knowledge base. Run the following SQL to check the knowledge base accuracy:
EVALUATE KNOWLEDGE BASE my_knowledge_base
USING METRICS = ['accuracy', 'completeness'];
The results will show the accuracy and completeness scores of the knowledge base.
Community Support
MindsDB offers active community support:
- GitHub Discussion Forums: Access
https://github.com/mindsdb/mindsdb/discussions
Ask questions or share ideas. - Slack Community: Join MindsDB's Slack channel to connect with developers.
- (computer) file: Access
https://docs.mindsdb.com
Get detailed tutorials and API documentation.
application scenario
- Enterprise Data Analytics
MindsDB helps organizations integrate data scattered across databases and SaaS applications. Data analysts can query sales, customer, and operational data in SQL or natural language to quickly generate reports. For example, retailers can connect Shopify and MySQL to analyze sales trends. - AI-driven forecasting
Developers can use MindsDB to build predictive models for applications in finance, e-commerce, and more. For example, predict customer churn or inventory demand without complex data pipelines. - Automated workflows
MindsDB supports organizations in automating data processing tasks. For example, monitoring team communication through Slack data feeds, combined with CRM data, automatically generates customer follow-up suggestions.
QA
- What data sources does MindsDB support?
MindsDB supports over 200 data sources, including MySQL, PostgreSQL, MongoDB, Slack, Gmail, Salesforce, and more, covering databases, SaaS applications, and data warehouses. - Programming experience required?
No. MindsDB's web interface is suitable for users with no programming experience. Developers can customize in depth via SQL or Python. - Is MindsDB free?
MindsDB is 100% open source and free to use. Paid commercial support is available for business users, for details seehttps://mindsdb.com
The - How do I contribute code?
interviewshttps://github.com/mindsdb/mindsdb
To participate, check out the Contributing Guidelines. Submit an issue or pull request to participate.