Skip to main content
Glama
chenkumi

easy-mysql-mcp

by chenkumi

easy-mysql-mcp

AI 어시스턴트가 안전하고 구조화된 도구 인터페이스를 통해 MySQL 데이터베이스를 검사하고 쿼리할 수 있게 해주는 경량 Model Context Protocol (MCP) 서버입니다.

이 프로젝트는 Node.js, TypeScript, 공식 MCP SDK 및 mysql2/promise를 사용합니다. stdio를 통해 실행되므로 Claude Desktop과 같은 MCP 클라이언트에서 직접 사용할 수 있습니다.

기능

  • mysql2/promise 기반의 MySQL 연결 풀링

  • 데이터 검색을 위한 읽기 전용 쿼리 도구

  • 데이터 수정 문을 위한 실행 도구

  • 테이블, 뷰, 인덱스 및 트리거를 위한 스키마 탐색 도구

  • EXPLAIN을 통한 쿼리 계획 검사

  • 현재 사용자 및 권한 검사

  • 비-MCP 로그가 stdio 프로토콜을 오염시키지 않도록 하는 stdout 보호

Related MCP server: MCP MySQL Server

요구 사항

  • Node.js 18 이상

  • npm

  • 연결 가능한 MySQL 호환 데이터베이스

설치

npx를 사용하여 서버를 직접 실행합니다:

npx -y easy-mysql-mcp

저장소를 복제한 후 로컬 개발을 위해:

cd easy-mysql-mcp
npm install
npm run build

구성

환경 변수로 서버를 구성합니다. MCP 클라이언트 구성이나 로컬 .env 파일을 생성하여 제공할 수 있습니다.

변수

필수

기본값

설명

MYSQL_HOST

예

-

MySQL 호스트 이름 또는 IP 주소

MYSQL_PORT

아니요

3306

MySQL 포트

MYSQL_USER

예

-

MySQL 사용자 이름

MYSQL_PASSWORD

예

-

MySQL 비밀번호

MYSQL_DATABASE

예

-

기본 데이터베이스/스키마

MYSQL_CONNECTION_LIMIT

아니요

10

활성 풀 연결의 최대 수

MYSQL_MAX_IDLE

아니요

10

유휴 풀 연결의 최대 수

MYSQL_IDLE_TIMEOUT

아니요

60000

유휴 연결 시간 초과 (밀리초)

MYSQL_QUEUE_LIMIT

아니요

0

대기 중인 최대 연결 요청 수, 0은 무제한을 의미

MYSQL_WAIT_FOR_CONNECTIONS

아니요

true

모든 연결이 사용 중일 때 풀이 대기할지 여부

MYSQL_ENABLE_KEEP_ALIVE

아니요

true

TCP keep-alive 활성화 여부

MYSQL_KEEP_ALIVE_INITIAL_DELAY

아니요

0

초기 TCP keep-alive 지연 시간 (밀리초)

.env 예시:

MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database

사용법

npx를 통해 패키지를 실행하도록 MCP 클라이언트를 구성합니다.

로컬 개발을 위해 먼저 TypeScript 소스를 빌드합니다:

npm run build

MCP 서버를 시작합니다:

npm start

서버는 stdio를 통해 통신하며 일반적으로 수동으로 실행되지 않고 MCP 클라이언트에 의해 시작됩니다.

Claude Desktop 예시

claude_desktop_config.json에 서버를 추가합니다:

{
  "mcpServers": {
    "easy-mysql-mcp": {
      "command": "npx",
      "args": ["-y", "easy-mysql-mcp"],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

구성을 업데이트한 후 Claude Desktop을 다시 시작하십시오.

사용 가능한 도구

도구

설명

mysql_query

SELECT와 같이 데이터 검색을 위한 SQL 쿼리 실행

mysql_execute

INSERT, UPDATE, DELETE와 같은 데이터 수정 문 실행

explain_query

SQL 쿼리에 대해 EXPLAIN을 실행하고 실행 계획 반환

list_tables

현재 데이터베이스의 기본 테이블 목록(대략적인 행 수 및 주석 포함)

list_views

현재 데이터베이스의 뷰 목록

describe_table

하나 이상의 테이블에 대한 열 정보 표시

describe_index

테이블의 인덱스 표시

list_triggers

현재 데이터베이스의 트리거 목록

get_current_privileges

현재 MySQL 사용자 및 권한 표시

보안 참고 사항

  • 어시스턴트에 필요한 최소 권한만 가진 전용 MySQL 사용자를 사용하십시오.

  • 검사 및 보고만 필요한 경우 읽기 전용 데이터베이스 자격 증명을 사용하는 것이 좋습니다.

  • mysql_execute는 데이터를 수정할 수 있으므로 주의해서 사용하십시오.

  • .env 파일이나 실제 데이터베이스 자격 증명을 GitHub에 커밋하지 마십시오.

  • 프로덕션 데이터에 대해 실행하기 전에 생성된 SQL을 검토하십시오.

개발

npm run dev

이 명령은 감시 모드에서 TypeScript를 실행합니다.

프로덕션 빌드를 생성하려면:

npm run build

프로젝트 구조

src/
  db.ts       MySQL pool and query helpers
  index.ts    MCP server and tool registration
  proxy.ts    stdout protection for stdio-based MCP transport

라이선스

ISC

Available Tools

9 tools
describe_indexB

Show indexes for a specific table.

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYesThe name of the table to show indexes for.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Does not disclose what types of indexes are shown, return format, or any limitations.

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?

One short sentence, no unnecessary words. Could benefit from slightly more detail without harming conciseness.

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?

No output schema; description should provide more context about returned data or behavior, but doesn't.

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

Parameters4/5

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

Schema covers single parameter 'table' with clear description. No additional context needed.

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

Purpose5/5

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

Clearly states the action (show indexes) and resource (specific table). Distinguishes from siblings like describe_table (table structure) and list_tables (table list).

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?

No guidance on when to use this tool versus alternatives like describe_table or explain_query. No prerequisites or context about when indexing info is needed.

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

describe_tableB

Show the schema/structure of one or more specific tables.

ParametersJSON Schema
NameRequiredDescriptionDefault
tablesYesThe names of the tables to describe.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavior. It only states it shows schema/structure, but does not disclose that it is read-only, how it handles missing tables, or any performance considerations.

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?

Single sentence, no wasted words. However, it could be slightly more informative without becoming verbose.

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 no output schema and only one parameter, the description fails to explain what the output looks like or any constraints. It is minimal and leaves the agent guessing about return structure.

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%, so baseline is 3. The description adds no additional information about the 'tables' parameter beyond what the schema already provides ('The names of the tables to describe').

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

Purpose5/5

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

The description clearly states the tool shows schema/structure of tables, using specific verb 'Show' and resource 'tables'. It distinguishes from siblings like describe_index and list_tables by focusing on structure.

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?

No guidance on when to use this tool versus alternatives like describe_index (for indexes) or explain_query (for query plans). The description does not mention exclusions or prerequisites.

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

explain_queryA

Run EXPLAIN on a SQL query to analyze its execution plan and performance.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesThe SQL query to explain.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes the action as 'analyze execution plan' which implies read-only, but does not explicitly state it is non-destructive or disclose any behavioral traits like side effects or auth requirements. Adequate but lacks explicitness.

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 sentence that clearly states the action and purpose. It is front-loaded and contains no unnecessary words.

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 simplicity (one parameter, no output schema), the description is mostly complete. However, it could mention that the output is an execution plan and that it is a read-only operation. Without output schema, a hint about return value would improve completeness.

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 coverage is 100% and the description's mention of 'SQL query' mirrors the schema parameter description. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Run EXPLAIN'), the resource ('SQL query'), and the purpose ('analyze its execution plan and performance'). It distinguishes from siblings like mysql_execute (which runs the query) and mysql_query (returns results).

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

Usage Guidelines3/5

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

The description implies use for performance analysis but does not explicitly state when to use this tool over alternatives or provide when-not-to-use guidance. No comparison to sibling tools is given.

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

get_current_privilegesA

Check the permissions and grants of the current database user. Useful for debugging access issues.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It correctly indicates a read operation (checking permissions) but does not disclose any additional behavioral traits (e.g., required permissions, performance impact).

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?

Two concise sentences with zero wasted words. Every sentence adds value: first states purpose, second gives typical usage context.

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 has no parameters and no output schema, the description is adequate for basic understanding but lacks details about the return format or potential errors, which would enhance completeness.

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 coverage is 100% (no parameters), so baseline is 3. The description does not need to add parameter-level detail, and it doesn't, but it also doesn't enrich understanding of the tool's behavior beyond the schema.

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

Purpose5/5

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

Clear verb 'Check' and specific resource 'permissions and grants of the current database user'. Distinct from sibling tools like describe_table or mysql_query which deal with other aspects.

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

Usage Guidelines4/5

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

Explicitly states 'Useful for debugging access issues', providing clear context for appropriate use. Does not mention when not to use or alternatives, but this is sufficient for a simple read-only tool.

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

list_tablesA

List all base tables in the current database with row counts and comments.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the burden of behavioral context. It states the output includes row counts and comments but does not specify whether row counts are approximate, whether system tables are excluded, or any access requirements. Some transparency is present but incomplete.

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 sentence containing 12 words with no fluff. Every word earns its place.

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

Completeness4/5

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

For a zero-parameter tool with no output schema and no annotations, the description covers the essential behavior. However, it could be more complete by specifying whether tables from all schemas are listed or just the current schema, and whether row counts are real-time or cached. Still, it is largely adequate.

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

Parameters4/5

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

There are no parameters, and schema description coverage is 100%. The description adds no param info because none is needed. Baseline 4 is appropriate.

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

Purpose5/5

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

The description uses a specific verb ('List') and resource ('base tables') and includes additional details ('with row counts and comments'). It clearly distinguishes itself from siblings like 'describe_table' (which describes a single table) and 'list_views' (lists views).

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

Usage Guidelines3/5

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

The description provides no explicit guidance on when to use this tool versus alternatives like 'describe_table' or 'list_views'. It implies usage for listing tables but does not mention when not to use it or which sibling to choose in specific scenarios.

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

list_triggersA

List all triggers in the current database.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as whether the operation is read-only or if there are any side effects. For a list operation, it likely is harmless, but this is not stated.

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 sentence that is perfectly concise and front-loaded with the action and resource. No unnecessary words.

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

Completeness4/5

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

Given the low complexity (no parameters, no output schema), the description is sufficient to understand what the tool does. It could mention what the returned list contains (e.g., trigger names/details), but it is not required for basic 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 tool has zero parameters, and the input schema is empty. The description adds no additional meaning beyond the schema, which is already fully documented by its absence. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description uses 'List' as a specific verb and 'triggers' as the resource, with scope 'current database'. It clearly distinguishes from sibling tools like list_tables and list_views.

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

Usage Guidelines3/5

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

The description implies a straightforward use case but provides no explicit guidance on when to use this tool versus alternatives (e.g., describe_table for metadata). No exclusions or context are given.

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

list_viewsA

List all views in the current database.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must fully disclose behavior. It only states 'List all views' without specifying that it is read-only, whether results are ordered, paginated, or what form the list takes. Minimal transparency for a potentially resource-consuming operation.

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?

Single, clear sentence with no extraneous words. Perfectly concise and structured for quick comprehension.

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 no output schema, the description should indicate what the list contains (e.g., names only). It does not, leaving ambiguity. However, for a straightforward listing tool with zero parameters, the description is minimally adequate but could be more complete.

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

Parameters4/5

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

Zero parameters and schema coverage is 100% (vacuously). Per calibration, 0 parameters gives baseline 4. The description adds no parameter info, but none is needed.

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

Purpose5/5

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

Clearly states the verb 'List' and resource 'views' with scope 'all views in the current database'. Differentiated from siblings that focus on tables, indexes, queries, etc.

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

Usage Guidelines3/5

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

No explicit guidance on when to use versus alternatives, though the sibling tools cover different database objects, making usage contextually implied. Lacks any 'when not to use' or alternative references.

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

mysql_executeC

Execute a data modification SQL statement (e.g., INSERT, UPDATE, DELETE).

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesThe SQL statement to execute.
paramsNoOptional parameters for the statement.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states the basic function without disclosing behavior such as transaction handling, permission requirements, or potential side effects. The description does not compensate for the lack of annotations.

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, concise sentence that immediately conveys the tool's purpose. It is front-loaded with the verb 'Execute'. While brief, it wastes no words.

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 presence of sibling tools like `mysql_query`, the description fails to differentiate use cases. It also does not specify return values (no output schema) or any additional context that would help an agent select this tool over others.

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 already describes both parameters (`sql` and `params`) with 100% coverage. The description adds no additional semantic information about the parameters, so it meets the baseline but does not go beyond.

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 indicates the tool executes data modification SQL statements and provides examples (INSERT, UPDATE, DELETE), making the purpose obvious. However, it does not explicitly distinguish from the sibling tool `mysql_query`, which likely handles read queries.

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?

No guidance is given on when to use this tool versus alternatives like `mysql_query` or `explain_query`. There are no explicit context, prerequisites, or exclusions mentioned.

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

mysql_queryA

Execute a read-only SQL query (e.g., SELECT). Use this for data retrieval.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesThe SQL query to execute.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries the burden. It explicitly states 'read-only', which is a critical behavioral trait, but does not mention potential errors, auth requirements, or return format.

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?

Single sentence with no unnecessary words, front-loading the core purpose and usage context.

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

Completeness4/5

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

For a simple read-only query tool with one parameter and no output schema, the description is adequate. It covers the essential constraint (read-only) and usage scenario.

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?

Input schema has 100% coverage for the single parameter 'sql' with description. Description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states the tool executes a read-only SQL query for data retrieval, and the sibling mysql_execute implies write operations, distinguishing it effectively.

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

Usage Guidelines4/5

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

Description specifies 'read-only' and 'use for data retrieval', implying it should not be used for mutations, but does not explicitly mention alternatives or when not to use.

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.

  1. 9 tool updatesv1.0.0
    • First observeddescribe_index
    • First observeddescribe_table
    • First observedexplain_query
    • First observedget_current_privileges
    • First observedlist_tables
    • First observedlist_triggers
    • First observedlist_views
    • First observedmysql_execute
    • First observedmysql_query

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: describing indexes vs tables, explaining queries, checking privileges, listing various objects, executing vs querying SQL. No two tools overlap in functionality.

Naming Consistency3/5

Tools mostly follow a verb_noun pattern, but there's inconsistency: some use 'mysql_' prefix (mysql_execute, mysql_query) while others use direct verbs (describe_table, list_tables). This mix is not chaotic but lacks uniformity.

Tool Count5/5

With 9 tools covering listing, describing, querying, executing, and explaining, the count is well-scoped for a MySQL management server. Each tool adds clear value without redundancy.

Completeness3/5

The set covers introspection and DML operations well, but lacks dedicated tools for DDL operations like CREATE, ALTER, or DROP. mysql_execute is described for DML only, so creating tables or indexes is not directly supported.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables secure interaction with MySQL databases, allowing AI assistants to list tables, read data, and execute SQL queries through a controlled interface.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to safely query MySQL databases with read-only access by default, supporting table listing, structure inspection, and SQL queries with optional write operation control.
    11 npm
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to securely interact with MySQL databases through tools for query execution, schema inspection, and transaction management. It features built-in safety controls like row limits and query validation to ensure safe and standardized database access.
    730 npm
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to securely interact with MySQL databases, including listing tables, viewing schemas, and executing read-only SQL queries through natural language.
    6
    -