Supabase
MCP server for interacting with the Supabase platform
作者提供的说明(英文原文)
MCP server for MySQL/MariaDB — pooled async queries with destructive-query safety
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 codeChap 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.0)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。
同一分类中有:Supabase, MongoDB MCP Server, Elasticsearch MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP server for interacting with the Supabase platform
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A high-quality Model Context Protocol (MCP) server implementation for MySQL databases. This server enables AI assistants like Claude to interact with MySQL databases through a standardized protocol.
Version: 0.2.0 | Protocol: MCP 2025-03-26 | Rust: 1.70+ | Status: Production Ready
git clone <repository-url>
cd mcp-server-mysql cargo build --release
The compiled binary will be available at target/release/mcp-server-mysql.
# Extract the package
tar -xzf mcp-server-mysql-v0.2.0-linux-x86_64.tar.gz
sudo cp mcp-server-mysql /usr/local/bin/
mcp-server-mysql --version
cargo build --release
The binary will be at target/release/mcp-server-mysql
./target/release/mcp-server-mysql \
--host localhost \ --username root \ --password yourpassword \ --database testdb
You should see: "MCP MySQL Server started and ready to accept connections"
Edit your Claude Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd this configuration:
{
"mcpServers": { "mysql": { "command": "/absolute/path/to/mcp-server-mysql", "args": [ "--host", "localhost", "--port", "3306", "--username", "your_username", "--password", "your_password", "--database", "your_database" ] } } }
Security Note: For production use, consider using environment variables or a secure secrets management solution instead of hardcoding passwords in the configuration file.
Close and reopen Claude Desktop completely. You should see a small hammer icon indicating the MCP server is connected.
Ask Claude:
mcp-server-mysql \
--host localhost \ --port 3306 \ --username your_username \ --password your_password \ --database your_database \ --allow-dangerous-queries false
| Argument | Description | Default | Required |
|---|---|---|---|
--host | MySQL server hostname | localhost | No |
--port | MySQL server port | 3306 | No |
--username | MySQL username | - | Yes |
--password | MySQL password | (empty) | No |
--database | Database name to connect to | - | Yes |
--allow-dangerous-queries | Allow INSERT/UPDATE/DELETE queries | false | No |
Add this configuration to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": { "mysql": { "command": "/path/to/mcp-server-mysql", "args": [ "--host", "localhost", "--port", "3306", "--username", "your_username", "--password", "your_password", "--database", "your_database" ] } } }
Retrieve database schema information for tables.
Parameters:
table_name (string): Name of the table to inspect, or "all-tables" to get all table schemasExample:
{
"table_name": "users" }
Returns:
Execute SQL queries on the database.
Parameters:
query (string): SQL query to executedatabase (string, optional): Database name to use for this specific queryExample:
{
"query": "SELECT * FROM users WHERE active = 1 LIMIT 10", "database": "my_database" }
Safety:
--allow-dangerous-queries flag to enable INSERT/UPDATE/DELETEInsert data into a specified table.
Parameters:
table_name (string): Name of the tabledata (object): Key-value pairs of column names and valuesExample:
{
"table_name": "users", "data": { "username": "john_doe", "email": "john@example.com", "active": true } }
Returns: Last insert ID
Update data in a specified table based on conditions.
Parameters:
table_name (string): Name of the tabledata (object): Key-value pairs of columns to updateconditions (object): Key-value pairs for WHERE clauseExample:
{
"table_name": "users", "data": { "email": "newemail@example.com", "updated_at": "2024-01-15 10:30:00" }, "conditions": { "id": 123 } }
Returns: Number of affected rows
Delete data from a specified table based on conditions.
Parameters:
table_name (string): Name of the tableconditions (object): Key-value pairs for WHERE clauseExample:
{
"table_name": "users", "conditions": { "id": 123 } }
Returns: Number of affected rows
Warning: Always specify conditions to avoid deleting all rows!
Previously, database context was not maintained between queries:
-- Query 1
USE dev_database; -- Succeeds
-- Query 2 (new connection from pool) SELECT * FROM my_table; -- ❌ Fails: context was lost
Use the optional database parameter on each query:
{
"query": "SELECT * FROM my_table", "database": "dev_database" }
"database": "name" to query arguments{
"query": "SELECT * FROM crm_sites LIMIT 10", "database": "dev_smartConnect_za" }
{
"query": "SELECT * FROM users WHERE active = 1" }
Uses the database specified in --database startup argument.
// Query database 1
{ "query": "SELECT COUNT(*) FROM customers", "database": "production_db" }
// Query database 2 { "query": "SELECT COUNT(*) FROM test_data", "database": "test_db" }
Before (Required fully qualified names):
SELECT * FROM dev_smartConnect_za.crm_sites
JOIN dev_smartConnect_za.crm_orgs ON ... WHERE dev_smartConnect_za.crm_sites.active = 1;
After (Clean and simple):
{
"query": "SELECT * FROM crm_sites JOIN crm_orgs ON ... WHERE active = 1", "database": "dev_smartConnect_za" }
Set default database and omit the parameter:
# Startup
--database my_project_db
{ "query": "SELECT * FROM users" }
Specify database for each query:
// Customer database
{ "query": "...", "database": "customers_db" }
// Orders database { "query": "...", "database": "orders_db" }
// Analytics database { "query": "...", "database": "analytics_db" }
Error Code -32005: Connection Acquisition Failed
Cause: Connection pool exhausted
Solution: Retry after a moment
Error Code -32006: Database Context Switch Failed
Cause: Database doesn't exist or user lacks permissions
Solution: Verify database exists and user has access
✅ DO
SELECT DATABASE() to verify context❌ DON'T
By default, the server operates in read-only mode, allowing only SELECT queries. This prevents accidental data modification or deletion.
Enable write operations with --allow-dangerous-queries:
mcp-server-mysql --username user --password pass --database mydb --allow-dangerous-queries true
Use with caution! This enables:
CREATE USER 'mcp_user'@'localhost' IDENTIFIED BY 'secure_password';
GRANT SELECT ON your_database.* TO 'mcp_user'@'localhost'; FLUSH PRIVILEGES;
--allow-dangerous-queries true # Use with caution!
┌─────────────────────────────────────────────────────┐
│ MCP Client (e.g., Claude) │ │ Sends: {query, database} │ └────────────────────────┬────────────────────────────┘ │ JSON-RPC 2.0 (stdio) ▼ ┌─────────────────────────────────────────────────────┐ │ MCP MySQL Server (Rust) │ │ │ │ execute_query(query, database, poo
只显示了开头部分;其余内容请在仓库中阅读