MindsDB MySQL MCP Server

$cd mcp/mindsdb-mysql && npm install && npm run build
README.md

Connects AI clients to MindsDB via the MySQL protocol to execute SQL queries.

MindsDB MySQL MCP Server

MCP server for MindsDB that connects via MySQL protocol (port 47335), providing reliable tools for Claude Code and Desktop.

Why MySQL over SSE/HTTP?

  • MySQL protocol is stable and well-tested
  • No async event loop issues (the "this event loop is already running" errors)
  • Better error messages and debugging
  • Works reliably with knowledge base queries

Installation

cd mcp/mindsdb-mysql
npm install
npm run build

Configuration

Environment Variables

Variable Default Description
MINDSDB_HOST 127.0.0.1 MindsDB server host
MINDSDB_PORT 47335 MindsDB MySQL port
MINDSDB_USER mindsdb Username (use your MindsDB Cloud email for cloud instances)
MINDSDB_PASSWORD (empty) Password (required for MindsDB Cloud)

Claude Code (`~/.claude.json`)

{
  "mcpServers": {
    "mindsdb": {
      "type": "stdio",
      "command": "node",
      "args": [
        "/path/to/mindsdb-mysql/dist/index.js"
      ],
      "env": {
        "MINDSDB_HOST": "localhost",
        "MINDSDB_PORT": "47335",
        "MINDSDB_USER": "mindsdb",
        "MINDSDB_PASSWORD": ""
      }
    }
  }
}

For MindsDB Cloud, use your email as MINDSDB_USER and your password for MINDSDB_PASSWORD.

Claude Desktop (`claude_desktop_config.json`)

Same configuration, add to the mcpServers object.

Available Tools (11)

1. `query` - Execute SQL

Execute any MindsDB SQL query. Use this for custom queries not covered by other tools.

query(sql: string, database?: string): QueryResult

2. `list_databases` - List Data Sources

List all databases/data sources in MindsDB.

list_databases(): string[]

3. `list_knowledge_bases` - List KBs

List all knowledge bases in MindsDB.

list_knowledge_bases(): KnowledgeBase[]

4. `describe` - Describe Any Object

Describe a model, table, or knowledge base. Returns column information.

describe(name: string, database?: string): Description

5. `search_kb` - Search Knowledge Base

Search a knowledge base using hybrid semantic + keyword search.

search_kb(
  kb_name: string,
  question: string,
  limit?: number,         // default: 10
  alpha?: number,         // default: 0.5 (0=keyword, 1=semantic)
  min_relevance?: number, // default: 0
  metadata_filter?: Record<string, string>
): SearchResult[]

6. `insert_kb` - Insert Data into Knowledge Base

Insert data into a knowledge base from a source query.

insert_kb(
  kb_name: string,
  source_query: string,   // e.g., "SELECT id, content FROM mydb.docs"
  batch_size?: number,    // default: 1000
  threads?: number,       // default: 1
  skip_existing?: boolean // default: false
): { rows_inserted: number }

7. `create_kb` - Create Knowledge Base

Create a new knowledge base with embedding model configuration.

create_kb(
  name: string,
  embedding_model: {
    provider: string,     // openai, azure, google, ollama
    model_name: string,
    api_key?: string
  },
  content_columns: string[],
  metadata_columns?: string[],
  id_column?: string,
  reranking_model?: {...},
  storage?: string        // default: chromadb
): { kb_name: string }

8. `list_jobs` - List Scheduled Jobs

List all scheduled jobs in MindsDB.

list_jobs(): Job[]

9. `create_job` - Schedule Recurring Query

Create a scheduled job to run a query at regular intervals.

create_job(
  name: string,
  query: string,          // SQL to execute
  every: string,          // e.g., "1 hour", "1 day"
  start?: string,         // ISO datetime
  end?: string            // ISO datetime
): { job_name: string }

10. `list_tables` - List Tables

List all tables in a specific database.

list_tables(database: string): string[]

11. `connect_database` - Connect External Data Source

Connect an external database as a data source in MindsDB.

connect_database(
  name: string,
  engine: string,         // postgres, mysql, mongodb, etc.
  parameters: {
    host: string,
    port: number,
    database: string,
    user: string,
    password: string
  }
): { database_name: string }

Testing

With MCP Inspector

npx @modelcontextprotocol/inspector node dist/index.js

Or with a remote MindsDB instance:

MINDSDB_HOST=your-mindsdb-host MINDSDB_PORT=47335 \
  npx @modelcontextprotocol/inspector node dist/index.js

Manual verification

After configuring Claude Code, restart and verify:

# In Claude Code, these tools should be available:
mcp__mindsdb__list_databases
mcp__mindsdb__list_knowledge_bases
mcp__mindsdb__search_kb
mcp__mindsdb__query
# ... etc.

MindsDB SQL Reference

Knowledge Base Query

-- Semantic search
SELECT * FROM my_kb WHERE content = 'search phrase' LIMIT 10;

-- With relevanc

Tools (11)

queryExecute any MindsDB SQL query for custom operations.
list_databasesList all databases and data sources in MindsDB.
list_knowledge_basesList all knowledge bases in MindsDB.
describeDescribe a model, table, or knowledge base to return column information.
search_kbSearch a knowledge base using hybrid semantic and keyword search.
insert_kbInsert data into a knowledge base from a source query.
create_kbCreate a new knowledge base with embedding model configuration.
list_jobsList all scheduled jobs in MindsDB.
create_jobCreate a scheduled job to run a query at regular intervals.
list_tablesList all tables in a specific database.
connect_databaseConnect an external database as a data source in MindsDB.

Environment Variables

MINDSDB_HOSTMindsDB server host (default: 127.0.0.1)
MINDSDB_PORTMindsDB MySQL port (default: 47335)
MINDSDB_USERUsername (use MindsDB Cloud email for cloud instances)
MINDSDB_PASSWORDPassword (required for MindsDB Cloud)

Configuration

claude_desktop_config.json
{
  "mcpServers": {
    "mindsdb": {
      "type": "stdio",
      "command": "node",
      "args": [
        "/path/to/mindsdb-mysql/dist/index.js"
      ],
      "env": {
        "MINDSDB_HOST": "localhost",
        "MINDSDB_PORT": "47335",
        "MINDSDB_USER": "mindsdb",
        "MINDSDB_PASSWORD": ""
      }
    }
  }
}

Try it

List all the knowledge bases currently available in MindsDB.
Search the 'customer_support' knowledge base for 'how to reset password' using semantic search.
Schedule a job named 'daily_sync' to run 'SELECT * FROM sales' every 1 day.
Connect a new PostgreSQL database named 'inventory_db' to MindsDB.
Describe the schema of the 'user_feedback' table in the 'production' database.

Frequently Asked Questions

What are the key features of MindsDB MySQL MCP Server?

Uses stable MySQL protocol (port 47335) to avoid async event loop issues.. Performs hybrid semantic and keyword searches within MindsDB knowledge bases.. Automates workflows through job scheduling and recurring query execution.. Integrates external data sources like Postgres, MySQL, and MongoDB into the AI workflow..

What can I use MindsDB MySQL MCP Server for?

Building RAG applications by querying and searching MindsDB knowledge bases directly from Claude.. Automating data synchronization tasks by scheduling recurring SQL jobs.. Managing and inspecting remote database schemas and data sources through a unified interface.. Populating knowledge bases with data from external databases using SQL source queries..

How do I install MindsDB MySQL MCP Server?

Install MindsDB MySQL MCP Server by running: cd mcp/mindsdb-mysql && npm install && npm run build

What MCP clients work with MindsDB MySQL MCP Server?

MindsDB MySQL MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use MindsDB MySQL MCP Server with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free