MindsDB MySQL MCP Server
Integrates with Google embedding models to facilitate the creation and semantic searching of MindsDB knowledge bases.
Allows connecting external MongoDB instances as data sources within MindsDB for data integration and querying.
Uses the MySQL protocol to interface with MindsDB and enables connecting external MySQL databases as data sources for SQL query execution.
Integrates with Ollama embedding models to facilitate the creation and semantic searching of MindsDB knowledge bases.
Integrates with OpenAI embedding models to facilitate the creation and semantic searching of MindsDB knowledge bases.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MindsDB MySQL MCP Serversearch the documentation knowledge base for 'how to configure authentication'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: MySql MCP Server
Installation
cd mcp/mindsdb-mysql
npm install
npm run buildConfiguration
Environment Variables
Variable | Default | Description |
|
| MindsDB server host |
|
| MindsDB MySQL port |
|
| Username (use your MindsDB Cloud email for cloud instances) |
| (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): QueryResult2. 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): Description5. 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.jsOr with a remote MindsDB instance:
MINDSDB_HOST=your-mindsdb-host MINDSDB_PORT=47335 \
npx @modelcontextprotocol/inspector node dist/index.jsManual 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 relevance filter
SELECT * FROM my_kb WHERE content = 'query' AND relevance >= 0.5;
-- Hybrid search (keyword + semantic)
SELECT * FROM my_kb WHERE content = 'query' AND hybrid_search_alpha = 0.8;
-- Metadata filter
SELECT * FROM my_kb WHERE content = 'query' AND metadata_column = 'value';Output Columns
chunk_id:<id>:<chunk_number>of<total>:<start_char>to<end_char>chunk_content: The text contentrelevance: 0-1 score (higher = better match)distance: Vector distance (lower = closer)
Available Tools
11 toolsconnect_databaseC
Connect an external database as a data source in MindsDB.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Database connection name | |
| engine | Yes | Database engine (postgres, mysql, mongodb, etc.) | |
| parameters | Yes | Connection parameters |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While 'connect' implies a setup/mutation operation, the description doesn't disclose whether this creates a persistent connection, requires specific permissions, has rate limits, returns confirmation data, or handles connection errors. For a tool that likely modifies system state, this is a significant gap in behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for the tool's complexity and front-loads the essential information without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that creates database connections (likely a mutation operation) with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after connection, whether connections are persistent, what permissions are needed, or what the tool returns. Given the complexity implied by the nested parameters object and the lack of structured behavioral information, the description should provide more complete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so all parameters are documented in the schema itself. The description doesn't add any meaningful parameter semantics beyond what's already in the schema - it doesn't explain relationships between parameters, provide examples of valid engine values, or clarify the structure of the parameters object beyond what the schema already specifies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('connect') and resource ('external database as a data source in MindsDB'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_databases' or 'query', which would require more specific language about this being a setup/configuration operation rather than a query or listing function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives like 'list_databases' for viewing existing connections or 'query' for interacting with connected databases. The description lacks any context about prerequisites, timing, or appropriate scenarios for database connection setup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_jobC
Create a scheduled job to run a query at regular intervals.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Job name | |
| query | Yes | SQL query to execute | |
| every | Yes | Interval (e.g., '1 hour', '1 day', '15 minute') | |
| start | No | Start datetime (ISO format) | |
| end | No | End datetime (ISO format) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool creates a scheduled job, implying a write operation, but doesn't cover permissions needed, whether jobs can be edited/deleted, error handling, or what happens on success/failure. For a mutation tool with zero annotation coverage, this leaves significant gaps in understanding its behavior and constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part earns its place: 'Create a scheduled job' specifies the action, 'to run a query at regular intervals' adds essential context. There's no redundancy or fluff, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a mutation tool (creating jobs) with no annotations and no output schema, the description is incomplete. It doesn't address what the tool returns (e.g., job ID, success status), error conditions, or behavioral nuances like idempotency. For a tool with 5 parameters and significant implications (scheduled execution), more context is needed to guide effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain format examples beyond 'regular intervals' or clarify dependencies between parameters). With high schema coverage, the baseline score of 3 is appropriate as the description doesn't enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'create' and resource 'scheduled job' with the specific purpose 'to run a query at regular intervals.' It distinguishes from siblings like list_jobs (listing) or query (one-time execution), but doesn't explicitly contrast with them. The purpose is specific and actionable, though sibling differentiation is implicit rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a database connection first), exclusions, or compare with similar tools like list_jobs for monitoring or query for immediate execution. Usage is implied from the purpose alone, with no explicit context or alternatives provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_kbC
Create a new knowledge base with embedding model configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Knowledge base name | |
| embedding_model | Yes | Embedding model config with provider, model_name, api_key | |
| content_columns | Yes | Columns to embed | |
| metadata_columns | No | Metadata columns | |
| id_column | No | ID column name | |
| reranking_model | No | Optional reranking model config | |
| storage | No | Vector storage backend (default: chromadb) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates something new but doesn't mention permissions required, whether this is a destructive operation, rate limits, error conditions, or what happens on success (e.g., returns an ID). For a creation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose without any wasted words. It's appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with 7 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., a knowledge base ID), error handling, or behavioral nuances like idempotency. The schema covers parameters well, but the description fails to compensate for missing annotation and output context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond implying that embedding model configuration is central, but doesn't provide additional context like default values (e.g., 'storage' defaults to 'chromadb') or usage examples. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new knowledge base') and specifies the key configuration aspect ('with embedding model configuration'), which distinguishes it from siblings like 'insert_kb' or 'search_kb'. However, it doesn't explicitly differentiate from 'connect_database' or other creation tools, keeping it at a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'insert_kb' or 'connect_database'. It lacks context about prerequisites, timing, or exclusions, leaving the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describeC
Describe a model, table, or knowledge base. Returns column information and structure.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of model, table, or knowledge base to describe | |
| database | No | Database context |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns 'column information and structure', which gives some output context, but lacks critical details: it doesn't specify if this is a read-only operation (implied but not stated), what permissions are required, whether it works on all resource types equally, or if there are rate limits. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences: the first states the purpose, and the second specifies the return value. It's front-loaded with the core action and resources, and every sentence adds value (purpose and output). However, it could be slightly more structured by explicitly separating resource types or adding brief usage hints without losing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and output but lacks details on behavioral traits, usage context, and parameter nuances. Without an output schema, it should ideally explain return values more thoroughly (e.g., format of 'column information'). It meets the bare minimum for a read-like operation but doesn't fully compensate for missing structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('name' and 'database') fully. The description adds minimal value beyond the schema: it implies 'name' refers to a model, table, or knowledge base, but doesn't clarify syntax, format, or how 'database' context interacts with the resource. With high schema coverage, the baseline is 3, and the description doesn't significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Describe a model, table, or knowledge base' with the verb 'describe' and resources 'model, table, or knowledge base'. It distinguishes from siblings like 'list_tables' (which lists names) by focusing on detailed structure information. However, it doesn't explicitly differentiate from 'search_kb' or 'query', which might also return structural details in some contexts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose 'describe' over 'list_tables' (for overview vs. details) or 'search_kb' (for content vs. structure), nor does it specify prerequisites like needing a connected database. Usage is implied only by the action 'describe', with no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insert_kbC
Insert data into a knowledge base from a source query. Supports batch processing.
| Name | Required | Description | Default |
|---|---|---|---|
| kb_name | Yes | Knowledge base name | |
| source_query | Yes | SELECT query for source data | |
| batch_size | No | Batch size (default: 1000) | |
| threads | No | Thread count (default: 1) | |
| skip_existing | No | Skip existing records (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'batch processing' and 'insert data,' implying a write operation, but lacks details on permissions required, whether it's idempotent, error handling, or performance impacts. This is a significant gap for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and front-loaded, consisting of two efficient sentences that directly state the tool's function and key features ('batch processing') without any wasted words. Every sentence earns its place by contributing essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a data insertion tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It lacks information on behavioral traits, error handling, return values, and usage context, making it inadequate for safe and effective tool invocation by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds minimal value beyond the schema by implying that 'source_query' is a SELECT query for data sourcing and hinting at batch processing, but it doesn't provide additional syntax, format, or usage context for parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('insert data into a knowledge base') and resource ('knowledge base'), distinguishing it from siblings like 'create_kb' (creation) and 'search_kb' (querying). However, it doesn't explicitly differentiate from 'create_job' or 'query' in terms of data manipulation versus job management or querying.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. The description mentions 'from a source query' and 'batch processing,' but it doesn't specify prerequisites, exclusions, or recommend other tools like 'create_kb' for setup or 'search_kb' for retrieval, leaving usage context implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_databasesB
List all databases/data sources in MindsDB.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('List') but doesn't describe what 'List' entails—e.g., whether it returns names, types, statuses, or metadata; if it's paginated; or if it requires specific permissions. This leaves significant gaps for a tool that likely interacts with system resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any fluff or redundancy. It's front-loaded and wastes no words, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. However, it lacks details on return values (since no output schema exists) and behavioral context, which could help an agent understand what to expect from the listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate, earning a baseline score of 4 for not introducing unnecessary information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('all databases/data sources in MindsDB'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'list_tables' or 'list_knowledge_bases', which would require specifying this tool only lists database connections, not their contents or other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing connected databases first), exclusions, or comparisons to siblings like 'list_tables' (for tables within a database) or 'connect_database' (for establishing connections).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_jobsB
List all scheduled jobs in MindsDB.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states it's a list operation but doesn't describe output format, pagination, sorting, error conditions, or any limitations. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple list operation and front-loads the essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete for helping an agent understand this tool's behavior. It doesn't explain what a 'scheduled job' entails in MindsDB, what information is returned, or how to interpret results. For a tool with no structured behavioral data, the description should provide more operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema description coverage, so the description appropriately doesn't discuss parameters. This matches the baseline expectation for parameterless tools, though it doesn't add any extra semantic context beyond what the schema already indicates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List all scheduled jobs') and resource ('in MindsDB'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'list_databases' or 'list_tables' beyond the resource type, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'create_job' or 'query', nor does it mention prerequisites or context for usage. It's a basic statement of function without operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_knowledge_basesB
List all knowledge bases in MindsDB.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't describe how it behaves—such as whether it returns a paginated list, requires authentication, has rate limits, or what format the output takes. This leaves significant gaps for an agent to understand the tool's operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that directly states the tool's purpose with no wasted words. It's front-loaded and efficiently communicates the essential information, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters, no output schema), the description is adequate but incomplete. It covers the basic purpose but lacks behavioral context (e.g., output format, authentication needs) that would help an agent use it effectively, especially with no annotations to fill those gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for zero parameters is 4, as the description appropriately focuses on the tool's purpose without unnecessary parameter explanations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('all knowledge bases in MindsDB'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'list_databases' or 'list_tables' beyond specifying the resource type, which prevents a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list_databases' or 'search_kb'. It lacks context about prerequisites, such as whether a database connection is needed, or any explicit when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tablesC
List all tables in a specific database.
| Name | Required | Description | Default |
|---|---|---|---|
| database | Yes | Database to list tables from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions listing tables but doesn't describe what the output looks like (e.g., format, pagination), whether it requires specific permissions, or any rate limits. This leaves significant gaps for a tool that interacts with databases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that directly states the tool's function without any unnecessary words. It's front-loaded and efficiently communicates the core purpose, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is insufficient for a database interaction tool. It doesn't explain the return format, error conditions, or behavioral nuances, leaving the agent with incomplete information to use this tool effectively in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'database' clearly documented. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for adequate but not enhanced coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('List') and resource ('tables in a specific database'), making the purpose immediately understandable. However, it doesn't distinguish this tool from potential siblings like 'list_databases' or 'describe' beyond the resource name, which keeps it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list_databases' or 'describe', nor does it mention prerequisites such as needing a connected database. It simply states what the tool does without contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queryB
Execute any MindsDB SQL query. Use this for custom queries not covered by other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| sql | Yes | SQL query to execute | |
| database | No | Database context to use |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool executes SQL queries but doesn't disclose behavioral traits such as whether it's read-only or destructive, authentication needs, rate limits, error handling, or return format. For a query execution tool with zero annotation coverage, this is a significant gap, scoring a 2.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with two concise sentences that earn their place: the first states the purpose, and the second provides usage guidance. There is zero waste, making it highly efficient and well-structured, scoring a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of executing SQL queries, no annotations, no output schema, and 100% schema coverage, the description is incomplete. It lacks information on behavioral aspects, return values, error handling, and specific constraints. For a tool that could involve data manipulation or complex operations, this is inadequate, scoring a 2.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters (sql and database) with descriptions. The description adds no additional meaning beyond what the schema provides, such as query syntax examples or database context details. Baseline is 3 when schema does the heavy lifting, and this meets that threshold.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'Execute any MindsDB SQL query', which is a specific verb+resource combination. It distinguishes from siblings by mentioning 'custom queries not covered by other tools', though it doesn't explicitly name alternatives. This is clear but lacks explicit sibling differentiation, warranting a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for usage: 'Use this for custom queries not covered by other tools', which implies when to use it versus alternatives. However, it doesn't explicitly state when not to use it or name specific alternatives, so it's not fully explicit. This is good guidance but not exhaustive, scoring a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_kbA
Search a knowledge base using hybrid semantic + keyword search. Returns relevant chunks with relevance scores.
| Name | Required | Description | Default |
|---|---|---|---|
| kb_name | Yes | Knowledge base name | |
| question | Yes | Search query | |
| limit | No | Max results (default: 10) | |
| alpha | No | Hybrid alpha: 0=keyword, 1=semantic, 0.5=balanced (default: 0.5) | |
| min_relevance | No | Min relevance score 0-1 (default: 0) | |
| metadata_filter | No | Metadata field filters as key-value pairs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the hybrid search method and return format ('relevant chunks with relevance scores'), but omits details like rate limits, authentication needs, or error handling. It adds some value but leaves gaps for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and front-loaded in a single sentence, with zero wasted words. It efficiently communicates the core functionality and output, making it easy for an agent to quickly understand the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (6 parameters, hybrid search) and no output schema, the description is partially complete. It covers the search method and return format but lacks details on output structure (e.g., chunk format, score ranges) and behavioral aspects like performance or limitations, leaving room for improvement.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 6 parameters. The description adds no additional parameter semantics beyond what the schema provides, such as explaining the 'hybrid' aspect in more detail or clarifying 'chunks'. Baseline 3 is appropriate when the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Search a knowledge base') and method ('using hybrid semantic + keyword search'), and distinguishes it from siblings like 'list_knowledge_bases' or 'insert_kb' by focusing on search functionality rather than listing or creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving relevant information from a knowledge base, but provides no explicit guidance on when to use this tool versus alternatives like 'query' or 'describe'. It lacks context on exclusions or prerequisites, leaving usage decisions to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, such as connect_database for data source connections and search_kb for hybrid searches. However, the 'describe' tool is somewhat ambiguous as it can describe models, tables, or knowledge bases, potentially overlapping with other tools like list_tables or list_knowledge_bases in providing structural information, which could cause minor confusion.
All tool names follow a consistent verb_noun pattern using snake_case, such as connect_database, create_job, and list_tables. This uniformity makes the tool set predictable and easy to understand, with no deviations in naming conventions across the 11 tools.
With 11 tools, the server is well-scoped for managing MindsDB's features like databases, jobs, knowledge bases, and queries. Each tool serves a clear purpose, such as list_databases for listing sources and query for custom SQL, making the count appropriate without being overwhelming or insufficient.
The tool set covers key MindsDB operations, including data source management (connect_database, list_databases), knowledge base handling (create_kb, insert_kb, search_kb), and job scheduling (create_job, list_jobs). A minor gap is the lack of update or delete tools for jobs or knowledge bases, but agents can likely work around this using the query tool for custom modifications.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
PostgreSQL, MySQL, OpenAPI/Swagger, and shared Agent Memory with scoped access.
Connect to PlanetScale databases, branches, schema, query insights, and execute SQL
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI models to perform MySQL database operations through a standardized interface, supporting secure connections, query execution, and comprehensive schema management.712133MIT
- AlicenseAqualityNot gradedmaintenanceConnect and interact with MySQL databases seamlessly. Execute SQL queries, manage database connections, and retrieve data directly through AI assistants. Enhance your AI capabilities with structured access to your MySQL data.91718
- AlicenseAqualityCmaintenanceEnables interaction with MySQL databases (including AWS RDS and cloud instances) through natural language. Supports database connections, query execution, schema inspection, and comprehensive database management operations.8288MIT
- AlicenseAqualityCmaintenanceEnables LLMs to interact with MySQL databases through standardized protocol, supporting database management, table operations, data queries, and modifications with configurable permission controls.15611MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nikhgupta/mindsdb-mysql-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server