Skip to main content
Glama
stoicsatvik

MySQL Bridge

by stoicsatvik

MySQL Bridge

MySQL Bridge is a read-only MySQL MCP plugin for Claude Code and a submission-ready MCP package for ChatGPT’s Plugins Directory.

Claude Code

Install directly from this repository’s marketplace:

claude plugin marketplace add stoicsatvik/mysql-bridge-mcp
claude plugin install mysql-bridge@mysql-bridge-marketplace

Claude Code then asks for a host, port, database, and a dedicated read-only MySQL account. The password is marked sensitive in the plugin manifest. The package includes its bundled server artifact, so users do not need to install project dependencies.

Related MCP server: MCP MySQL Server

Security model

  • list_tables lists available tables and views.

  • describe_table reads schema metadata.

  • query only accepts one SELECT, SHOW, DESCRIBE, EXPLAIN, or WITH statement.

  • The server never executes writes, even if the connected database account is over-permissioned.

ChatGPT Plugins Directory

chatgpt-app-submission.json provides the required app information, tool annotations, and five positive plus three negative review tests. ChatGPT public listing requires a production Streamable HTTP MCP endpoint with OAuth 2.1, a verified publisher, public privacy/terms/support URLs, and OpenAI approval. The current bundled server is a Claude Code local stdio plugin; it is intentionally not submitted as a fake public ChatGPT endpoint.

See official submission notes for the exact remaining requirements.

Develop

npm install
npm run check
npm run build
npm run build:plugin

Available Tools

3 tools
describe_tableA
Read-only

Use this when you need the columns, types, keys, and defaults for one MySQL table.

ParametersJSON Schema
NameRequiredDescriptionDefault
tableYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds value by specifying exactly what the tool returns (columns, types, keys, defaults), providing behavioral context beyond the annotations.

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?

A single sentence that is front-loaded with the use case and contains no extraneous information. Every word earns its place.

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

Completeness5/5

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

The output schema exists, so return values are already documented. The description covers the tool's purpose and parameter meaning sufficiently for a simple read-only operation. Nothing critical is missing.

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 no description for the 'table' parameter (0% coverage). The description clarifies that it refers to a MySQL table name, which is helpful, but it doesn't specify naming conventions or whether it expects a qualified name (e.g., schema.table). Minimal but adequate for a single obvious parameter.

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 states a specific action—retrieving columns, types, keys, and defaults—for a MySQL table. It clearly distinguishes itself from sibling tools list_tables (which lists tables) and query (which runs SQL) by specifying schema inspection.

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?

It provides an explicit 'use when' condition: when you need schema details for one MySQL table. It doesn't mention alternatives or when not to use it, but the context is clear enough for an agent to select it over list_tables or query.

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

list_tablesA
Read-only

Use this when you need to list tables and views in the configured MySQL database.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds no extra behavioral context such as output format, pagination, or system-table exclusion. It is adequate but does not exceed the annotation information.

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?

A single, front-loaded sentence with zero waste. It states the tool's purpose and condition in a clear, minimal form.

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

Completeness5/5

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

For a simple, parameterless, read-only listing tool with an output schema present, the description fully covers what the agent needs to know. No return-value explanation is required because the output schema exists.

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?

The tool has zero parameters, so the description cannot add parameter details. According to the baseline rule, 0 params earns a baseline of 4; no additional explanation 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?

The description clearly states the verb 'list' and the resource 'tables and views in the configured MySQL database.' It distinguishes itself from siblings 'describe_table' (which describes a single table) and 'query' (which runs arbitrary SQL) by specifying a listing operation.

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?

It explicitly says 'Use this when you need to list tables and views,' providing a clear condition for use. However, it does not mention alternatives or when not to use it, so it could be more explicit about routing away from siblings.

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

queryA
Read-only

Use this when you need to run one read-only MySQL query. It accepts SELECT, SHOW, DESCRIBE, EXPLAIN, and WITH statements only.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, and the description confirms by specifying only read-only statements. It adds the SQL length limit (12000 chars) and the constraint that only one query is executed, which are behavioral details not in annotations. No contradiction found.

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, concise sentence that front-loads the primary purpose (run a read-only query) and lists the accepted statement types at the end. Every word is necessary and there is no fluff.

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 tool's simplicity (one parameter) and the presence of an output schema, the description covers the essential aspects: what the tool does, the accepted statement types, and the read-only constraint. It lacks explicit mention of how to use the output or edge cases, but those are likely in the output schema.

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 schema has only one parameter (sql) with no description, so schema coverage is 0%. The description does not explain what the parameter should contain beyond 'SQL query', but the tool name and statement types imply it. This is a minimal but acceptable level of compensation; a stronger description would specify the exact format or examples.

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 states a clear purpose: run one read-only MySQL query, listing accepted statement types. It distinguishes from siblings by focusing on arbitrary SQL execution versus listing tables or describing a specific table, though it doesn't explicitly compare to them.

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?

It clearly indicates when to use this tool (when needing a read-only query) and specifies accepted statement types, providing implicit guidance on when not to use it (e.g., for DDL or DML). However, it doesn't explicitly mention alternatives like list_tables or describe_table for simpler needs.

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. 3 tool updatesv0.2.0
    • First observeddescribe_table
    • First observedlist_tables
    • First observedquery

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool serves a clearly distinct purpose: listing tables, describing a table's schema, and executing arbitrary read-only queries. There is no overlap or ambiguity, so an agent can easily select the right tool for the task.

Naming Consistency4/5

Two tools follow the verb_noun pattern (list_tables, describe_table), while 'query' is a bare verb. This is a minor deviation, but the naming remains predictable and readable, and the overall style is consistent (snake_case).

Tool Count4/5

Three tools is a small but reasonable footprint for a read-only database bridge. They cover the core operations (listing, describing, and querying) without unnecessary bloat, though a slightly larger set could be justified.

Completeness4/5

For a read-only MySQL bridge, the surface covers the essential workflows: discovering available tables, understanding schema, and running arbitrary queries. A potential gap is lack of transaction or metadata utilities, but these are not expected for a simple bridge.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables read-only access to MySQL databases through natural language queries. Provides automatic table schema discovery and executes SELECT, SHOW, DESCRIBE, and EXPLAIN statements within secure read-only transactions.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides read-only access to MySQL databases, enabling schema inspection, table listing, and execution of SELECT queries through the Model Context Protocol.
    362 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables safe interaction with MySQL databases through SELECT queries, table structure inspection, and database schema exploration. Provides read-only access to query data and examine database metadata.
    1
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables read-only MySQL database access, allowing listing databases, tables, describing schemas, and executing SELECT/SHOW/DESCRIBE/EXPLAIN queries.
    7
    12 npm
    4
    MIT