---
title: MindsDB Installation for Development
sidebarTitle: Installation for Development
icon: "gears"
---

If you want to contribute to the development of MindsDB, you need to install from source.

<Info>
If you do not want to contribute to the development of MindsDB but simply install and use it, then [install MindsDB via Docker](/setup/self-hosted/docker).
</Info>

## Install MindsDB for Development

Here are the steps to install MindsDB from source. You can either
follow the steps below or visit the provided link.

<Info>
Before installing MindsDB from source, ensure that you use one of the following Python versions: `3.10.x`, `3.11.x`, `3.12.x`, `3.13.x`.
</Info>

1. Fork the [MindsDB repository from GitHub](https://github.com/mindsdb/mindsdb).

2. Clone the fork locally:

   ```bash
   git clone https://github.com/<username>/mindsdb.git
   ```

3. Create a virtual environment:

   ```bash
   python -m venv mindsdb-venv
   ```

4. Activate the virtual environment:

   Windows:

     ```bash
     .\mindsdb-venv\Scripts\activate
     ```

   macOS/Linux:

     ```bash
     source mindsdb-venv/bin/activate
     ```

5. Install MindsDB with its local development dependencies:

   Install dependencies:

   ```bash
   cd mindsdb
   pip install -e .
   ```
   
6. Start MindsDB:
   
   ```bash
   python -m mindsdb
   ```

   <Tip>
   By default, MindsDB starts the `http` and `mysql` APIs. You can define which APIs to start using the `api` flag as below.

   ```bash
   python -m mindsdb --api http,mysql
   ```

   If you want to start MindsDB without the graphical user interface (GUI), use the `--no_studio` flag as below.

   ```bash
   python -m mindsdb --no_studio
   ```
   </Tip>

<Info>
Alternatively, you can use a makefile to install dependencies and start MindsDB:
  
   ```bash
    make install_mindsdb
    make run_mindsdb
    ```
</Info>

Now you should see the following message in the console:

```
...

mindsdb.api.http.initialize:  - GUI available at http://127.0.0.1:47334/
mindsdb.api.mysql.mysql_proxy.mysql_proxy: Starting MindsDB Mysql proxy server on tcp://127.0.0.1:47335
mindsdb.api.mysql.mysql_proxy.mysql_proxy: Waiting for incoming connections...
mindsdb: mysql API: started on 47335
mindsdb: http API: started on 47334
```

You can access the MindsDB Editor at `localhost:47334`.


## Install dependencies

The core installation includes everything needed to run the Federated Query Engine and essential database capabilities.
The dependencies for many of the data or ML integrations are not installed by default.

If you need additional features — such as Agents, the Knowledge Base, MCP or A2A protocol — you can enable them through extras, rather than installing everything by default.

### Install Features via Extras

Optional integrations and features can be installed as needed using extras.

| Feature | Install command |
|---------|----------------|
| Agents / LLMs | `pip install ".[agents]"` |
| Knowledge Base | `pip install ".[kb]"` |
| Multiple features at once | `pip install ".[agents,knowledgebase]"` |
| Integrations | `pip install .[integration_name]` |

<Tip>
You can find all available [handlers here](https://github.com/mindsdb/mindsdb/tree/main/mindsdb/integrations/handlers).
</Tip>

## What's Next?

Now that you installed and started MindsDB locally, go ahead and find out how to create and train a model using the [`CREATE MODEL`](/sql/create/model) statement.

Check out the [Use Cases](/use-cases/overview) section to follow tutorials that cover Large Language Models, Chatbots, Time Series, Classification, and Regression models, Semantic Search, and more.
