Skip to main content
Glama
wenb1n-dev

mysql_mcp_server

by wenb1n-dev

简体中文 English MCPHub

mcp_mysql_server_pro

Introduction

mcp_mysql_server_pro is not just about MySQL CRUD operations, but also includes database anomaly analysis capabilities and makes it easy for developers to extend with custom tools.

  • Supports all Model Context Protocol (MCP) transfer modes (STDIO, SSE, Streamable Http)

  • Supports OAuth2.0

  • Supports multiple SQL execution, separated by ";"

  • Supports querying database table names and fields based on table comments

  • Supports SQL execution plan analysis

  • Supports Chinese field to pinyin conversion

  • Supports table lock analysis

  • Supports database health status analysis

  • Supports permission control with three roles: readonly, writer, and admin

    "readonly": ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN"],  # Read-only permissions
    "writer": ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE"],  # Read-write permissions
    "admin": ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE", 
             "CREATE", "ALTER", "DROP", "TRUNCATE"]  # Administrator permissions
  • Supports prompt template invocation

Related MCP server: MySQL MCP Server Pro

Tool List

Tool Name

Description

execute_sql

SQL execution tool that can execute ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER", "DROP", "TRUNCATE"] commands based on permission configuration

get_chinese_initials

Convert Chinese field names to pinyin initials

get_db_health_running

Analyze MySQL health status (connection status, transaction status, running status, lock status detection)

get_table_desc

Search for table structures in the database based on table names, supporting multi-table queries

get_table_index

Search for table indexes in the database based on table names, supporting multi-table queries

get_table_lock

Check if there are row-level locks or table-level locks in the current MySQL server

get_table_name

Search for table names in the database based on table comments and descriptions

get_db_health_index_usage

Get the index usage of the currently connected mysql database, including redundant index situations, poorly performing index situations, and the top 5 unused index situations with query times greater than 30 seconds

optimize_sql

Professional SQL performance optimization tool, providing expert optimization suggestions based on MySQL execution plans, table structure information, table data volume, and table indexes.

use_prompt_queryTableData

Use built-in prompts to let the model construct a chain call of tools in mcp (not a commonly used fixed tool, you need to modify the code to enable it, see this class for details)

Prompt List

Prompt Name

Description

analyzing-mysql-prompt

This is a prompt for analyzing MySQL-related issues

query-table-data-prompt

This is a prompt for querying table data using tools. If description is empty, it will be initialized as a MySQL database query assistant

Usage Instructions

Installation and Configuration

  1. Install Package

pip install mysql_mcp_server_pro
  1. Configure Environment Variables Create a .env file with the following content:

# MySQL Database Configuration
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=your_username
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database
# Optional, default is 'readonly'. Available values: readonly, writer, admin
MYSQL_ROLE=readonly
  1. Run Service

# SSE mode
mysql_mcp_server_pro --mode sse --envfile /path/to/.env

## Streamable Http mode (default)
mysql_mcp_server_pro --envfile /path/to/.env

# Streamable Http  oauth Authentication
mysql_mcp_server_pro --oauth true
  1. mcp client

go to see see "Use uv to start the service" ^_^

Note:

  • The .env file should be placed in the directory where you run the command or use --envfile parameter to specify the path

  • You can also set these variables directly in your environment

  • Make sure the database configuration is correct and can connect

Run with uvx, Client Configuration

  • This method can be used directly in MCP-supported clients, no need to download the source code. For example, Tongyi Qianwen plugin, trae editor, etc.

{
	"mcpServers": {
		"mysql": {
			"command": "uvx",
			"args": [
				"--from",
				"mysql_mcp_server_pro",
				"mysql_mcp_server_pro",
				"--mode",
				"stdio"
			],
			"env": {
				"MYSQL_HOST": "192.168.x.xxx",
				"MYSQL_PORT": "3306",
				"MYSQL_USER": "root",
				"MYSQL_PASSWORD": "root",
				"MYSQL_DATABASE": "a_llm",
				"MYSQL_ROLE": "admin"
			}
		}
	}
}

Local Development with Streamable Http mode

  • Use uv to start the service

Add the following content to your mcp client tools, such as cursor, cline, etc.

mcp json as follows:

{
  "mcpServers": {
    "mysql_mcp_server_pro": {
      "name": "mysql_mcp_server_pro",
      "type": "streamableHttp",
      "description": "",
      "isActive": true,
      "url": "http://localhost:3000/mcp/"
    }
  }
}

Modify the .env file content to update the database connection information with your database details:

# MySQL Database Configuration
MYSQL_HOST=192.168.xxx.xxx
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_DATABASE=a_llm
MYSQL_ROLE=admin

Start commands:

# Download dependencies
uv sync

# Start
uv run -m mysql_mcp_server_pro.server

# Custom env file location
uv run -m mysql_mcp_server_pro.server --envfile /path/to/.env

# oauth Authentication
uv run -m mysql_mcp_server_pro.server --oauth true

Local Development with SSE Mode

  • Use uv to start the service

Add the following content to your mcp client tools, such as cursor, cline, etc.

mcp json as follows:

{
  "mcpServers": {
    "mysql_mcp_server_pro": {
      "name": "mysql_mcp_server_pro",
      "description": "",
      "isActive": true,
      "url": "http://localhost:9000/sse"
    }
  }
}

Modify the .env file content to update the database connection information with your database details:

# MySQL Database Configuration
MYSQL_HOST=192.168.xxx.xxx
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_DATABASE=a_llm
MYSQL_ROLE=admin

Start commands:

# Download dependencies
uv sync

# Start
uv run -m mysql_mcp_server_pro.server --mode sse

# Custom env file location
uv run -m mysql_mcp_server_pro.server --mode sse --envfile /path/to/.env

Local Development with STDIO Mode

Add the following content to your mcp client tools, such as cursor, cline, etc.

mcp json as follows:

{
  "mcpServers": {
      "operateMysql": {
        "isActive": true,
        "name": "operateMysql",
        "command": "uv",
        "args": [
          "--directory",
          "/Volumes/mysql_mcp_server_pro/src/mysql_mcp_server_pro",    # Replace this with your project path
          "run",
          "-m",
          "mysql_mcp_server_pro.server",
          "--mode",
          "stdio"
        ],
        "env": {
          "MYSQL_HOST": "localhost",
          "MYSQL_PORT": "3306",
          "MYSQL_USER": "root", 
          "MYSQL_PASSWORD": "123456",
          "MYSQL_DATABASE": "a_llm",
          "MYSQL_ROLE": "admin"
       }
    }
  }
} 

Custom Tool Extensions

  1. Add a new tool class in the handles package, inherit from BaseHandler, and implement get_tool_description and run_tool methods

  2. Import the new tool in init.py to make it available in the server

OAuth2.0 Authentication

  1. Start the authentication service. By default, it uses the built-in OAuth 2.0 password mode authentication. You can modify your own authentication service address in the env file.

uv run -m mysql_mcp_server_pro.server --oauth true
  1. Visit the authentication service at http://localhost:3000/login. Default username and password are configured in the env file. image

  2. Copy the token and add it to the request headers, for example: image

{
  "mcpServers": {
    "mysql_mcp_server_pro": {
      "name": "mysql_mcp_server_pro",
      "type": "streamableHttp",
      "description": "",
      "isActive": true,
      "url": "http://localhost:3000/mcp/",
      "headers": {
        "authorization": "bearer TOKEN_VALUE"
      }
    }
  }
}

Examples

  1. Create a new table and insert data, prompt format as follows:

# Task
   Create an organizational structure table with the following structure: department name, department number, parent department, is valid.
# Requirements
 - Table name: department
 - Common fields need indexes
 - Each field needs comments, table needs comment
 - Generate 5 real data records after creation

image image

  1. Query data based on table comments, prompt as follows:

Search for data with Department name 'Executive Office' in Department organizational structure table

image

  1. Analyze slow SQL, prompt as follows:

select * from t_jcsjzx_hjkq_cd_xsz_sk xsz
left join t_jcsjzx_hjkq_jcd jcd on jcd.cddm = xsz.cddm 
Based on current index situation, review execution plan and provide optimization suggestions in markdown format, including table index status, execution details, and optimization recommendations
  1. Analyze SQL deadlock issues, prompt as follows:

update t_admin_rms_zzjg set sfyx = '0' where xh = '1' is stuck, please analyze the cause

image

  1. Analyze the health status prompt as follows

Check the current health status of MySQL

image

Available Tools

5 tools
execute_sqlC

在MySQL5.6s数据库上执行SQL

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes要执行的SQL语句

TDQS

C2.9/5.0
Behavior2/5

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 executes SQL on MySQL5.6, but doesn't disclose critical behavioral traits: whether it's read-only or can modify data, authentication requirements, transaction handling, error behavior, result format, or any rate limits. '执行SQL' implies both read and write operations are possible, but this isn't clarified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - a single sentence that directly states the tool's purpose without any wasted words. It's front-loaded with the core functionality and includes the database specification. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a SQL execution tool with no annotations and no output schema, the description is incomplete. It doesn't address critical context: what types of SQL are supported, whether it's for read-only queries or data modification, what the return format looks like, error handling, or security implications. The agent lacks sufficient information to use this tool safely and effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'query' documented as '要执行的SQL语句' (SQL statement to execute). The description adds no additional parameter semantics beyond what the schema provides. The baseline score of 3 is appropriate when the schema already fully documents parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('执行SQL' - execute SQL) and specifies the target resource ('在MySQL5.6s数据库上' - on MySQL5.6 database). It distinguishes from sibling tools that focus on metadata retrieval (get_table_name, get_table_desc, etc.) rather than SQL execution. However, it doesn't explicitly differentiate from potential non-sibling SQL execution tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 this tool is appropriate, what types of SQL statements it supports (SELECT, INSERT, UPDATE, DDL, etc.), or any prerequisites or limitations. The agent must infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_chinese_initialsC

创建表结构时,将中文字段名转换为拼音首字母字段

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes要获取拼音首字母的汉字文本,以“,”分隔

TDQS

C2.9/5.0
Behavior2/5

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 tool's function but lacks details on behavioral traits such as error handling (e.g., for non-Chinese text), performance considerations, or output format. The description does not contradict annotations, but it fails to provide sufficient context for safe and effective use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, consisting of a single sentence that directly states the tool's purpose. There is no wasted verbiage, and it efficiently communicates the core function. However, it could be slightly improved by structuring it to include usage context more explicitly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of text conversion and the lack of annotations and output schema, the description is incomplete. It does not explain what the tool returns (e.g., a string of initials, a list, or an error message), nor does it address edge cases or dependencies. For a tool with no structured output documentation, this leaves significant gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'text' parameter documented as 'Chinese text to get pinyin initials, separated by commas.' The description adds no additional parameter semantics beyond what the schema provides, such as examples or constraints. Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: converting Chinese field names to pinyin initials during table structure creation. It specifies the verb ('convert') and resource ('Chinese field names'), though it doesn't explicitly differentiate from sibling tools like get_table_desc or get_table_name, which appear to be related to table metadata but serve different functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance, only mentioning 'when creating table structures.' It does not specify when to use this tool versus alternatives (e.g., whether it's for database design, data migration, or other contexts), nor does it mention prerequisites or exclusions. This leaves the agent with little context for appropriate invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_table_descC

根据表名搜索数据库中对应的表结构,支持多表查询

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes要搜索的表名

TDQS

C2.9/5.0
Behavior2/5

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 searches for table structures and supports multi-table queries, but lacks details on permissions, rate limits, error handling, or output format. For a database query tool with zero annotation coverage, this is a significant gap in transparency about how the tool behaves in practice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Chinese that conveys the core functionality without unnecessary words. It's front-loaded with the main purpose and includes an additional feature (multi-table query support). However, it could be slightly more structured by separating key points, but overall it's concise and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a database query tool with no annotations and no output schema, the description is incomplete. It doesn't explain what '表结构' (table structures) includes (e.g., columns, data types, constraints), how results are returned, or any limitations. For a tool that likely returns detailed metadata, 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'text' documented as '要搜索的表名' (table name to search). The description adds minimal value beyond this, only implying that multiple table names might be supported via '多表查询' (multi-table queries), but doesn't specify syntax or format. With high schema coverage, the baseline score of 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: searching for table structures in a database by table name, with support for multi-table queries. It specifies the verb ('搜索' - search) and resource ('表结构' - table structures), making the function understandable. However, it doesn't explicitly differentiate from sibling tools like get_table_name or get_table_index, which likely serve related but distinct purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 mentions support for multi-table queries but doesn't clarify scenarios where this is preferable over other tools like get_table_name (which might retrieve table names without structures) or execute_sql (which could query data directly). There's no mention of prerequisites, limitations, or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_table_indexC

根据表名搜索数据库中对应的表索引,支持多表查询

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes要搜索的表名

TDQS

C2.9/5.0
Behavior2/5

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 searches for table indexes and supports multi-table queries, but lacks details on permissions, rate limits, error handling, or what '多表查询' entails (e.g., how inputs are processed). This is insufficient for a tool that interacts with a database, leaving behavioral traits unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Chinese that conveys the core functionality without unnecessary details. It is front-loaded with the main purpose, though it could be slightly more structured to separate capabilities from constraints. Overall, it earns its place concisely.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of database operations, lack of annotations, and no output schema, the description is incomplete. It does not explain what the tool returns (e.g., index details, error formats), behavioral aspects like side effects, or how '多表查询' works. This leaves significant gaps for an AI agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'text' documented as '要搜索的表名' (table name to search). The description adds minimal value beyond this, only implying that multiple table names might be supported ('多表查询'), but without specifying format or syntax. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '根据表名搜索数据库中对应的表索引,支持多表查询' (search for table indexes in a database based on table names, supporting multi-table queries). It specifies the verb '搜索' (search) and resource '表索引' (table indexes), though it doesn't explicitly differentiate from sibling tools like get_table_desc or get_table_name, which might retrieve different metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 mentions '支持多表查询' (supports multi-table queries), which hints at a capability, but does not specify scenarios, prerequisites, or exclusions compared to siblings such as execute_sql or get_table_desc. This leaves the agent without clear usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_table_nameB

根据表中文名搜索数据库中对应的表名

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes要搜索的表中文名

TDQS

B3.1/5.0
Behavior2/5

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 searching but doesn't describe how the search works (e.g., exact match, partial match, case sensitivity), what happens if no match is found (e.g., returns null, error), or any performance considerations like rate limits. For a search tool with zero 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.

Conciseness5/5

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 unnecessary words. It is front-loaded with the core purpose and efficiently conveys the essential information, making it easy to parse and understand quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a simple search with one parameter) and the lack of annotations and output schema, the description is minimally adequate. It covers the basic purpose but lacks details on behavior, error handling, and output format. For a tool with no structured metadata beyond the input schema, it should provide more context to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'text' documented as '要搜索的表中文名' (Chinese table name to search for). The description adds no additional semantic details beyond what the schema provides, such as examples or constraints on the input format. Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '根据表中文名搜索数据库中对应的表名' (search for corresponding table names in the database based on Chinese table names). It specifies the verb '搜索' (search) and resource '表名' (table names) with the input constraint '表中文名' (Chinese table names). However, it doesn't explicitly differentiate from sibling tools like 'get_table_desc' or 'get_table_index', which likely retrieve different metadata about tables.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 sibling tools such as 'get_table_desc' (which might retrieve table descriptions) or 'get_table_index' (which might retrieve table indexes), nor does it specify prerequisites like database connectivity or access permissions. The usage context is implied but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.0
    • First observedexecute_sql
    • First observedget_chinese_initials
    • First observedget_table_desc
    • First observedget_table_index
    • First observedget_table_name

TDQS

B3.1/5.0
Disambiguation3/5

The tools have distinct primary purposes (SQL execution, field name conversion, table structure/index/name retrieval), but there is some overlap between get_table_desc, get_table_index, and get_table_name as they all involve table metadata retrieval, which could cause confusion about which to use for specific queries. Descriptions help clarify, but the boundaries are not perfectly clear.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., execute_sql, get_table_desc), with no deviations in style or convention. This predictability makes it easy for agents to understand and navigate the tool set.

Tool Count4/5

With 5 tools, the count is reasonable and well-scoped for a MySQL server, covering core operations like SQL execution and table metadata access. It is slightly lean but not insufficient, as it avoids bloat while providing essential functionality.

Completeness2/5

The tool set is severely incomplete for a MySQL database server. It lacks basic CRUD operations (e.g., create_table, update_data, delete_table), data manipulation beyond raw SQL, and lifecycle management tools, leaving significant gaps that will hinder agent workflows and cause failures in typical database interactions.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A universal SQLite database management tool that enables SQL query execution through MCP protocol. Supports SELECT/INSERT/UPDATE/DELETE/CREATE operations with built-in SQL injection protection across stdio, SSE, and streamable-http communication modes.
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides comprehensive MySQL database operations including CRUD, performance optimization, health analysis, and anomaly detection. Supports multiple connection modes, OAuth2.0 authentication, and role-based permissions for database management through natural language.
    9
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Multi-database management tool and MCP server supporting MySQL, PostgreSQL, SQLite, and Dameng DM8, enabling AI assistants to query and manage databases via stdio or HTTP.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables SQL queries, schema exploration, and Oracle sequence management across multiple databases including Oracle, OceanBase, and DolphinDB. Supports multiple environments with secure password handling.
    -

Latest Blog Posts

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/wenb1n-dev/mysql_mcp_server_pro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server