Supabase
MCP server for interacting with the Supabase platform
作者による説明(英語の原文)
WordPress database access via Local by Flywheel. Execute read-only MySQL queries and inspect schema.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"local-wp": {
"command": "npx",
"args": [
"-y",
"@verygoodplugins/mcp-local-wp"
]
}
}
}ターミナルでこれを実行します
claude mcp add local-wp -- npx -y @verygoodplugins/mcp-local-wpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"local-wp": {
"command": "npx",
"args": [
"-y",
"@verygoodplugins/mcp-local-wp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"local-wp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@verygoodplugins/mcp-local-wp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント verygoodplugins で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(2.0.0)がレジストリに届いたのは25 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Supabase, MongoDB MCP Server, Elasticsearch MCP Server
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP server for interacting with the Supabase platform
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
🎯 What if your AI assistant could actually SEE your WordPress database?
A Model Context Protocol (MCP) server that gives AI assistants like Claude and Cursor direct, read-only access to your Local by Flywheel WordPress database. No more guessing table structures. No more writing SQL queries blind. Your AI can now understand your actual data.
Version 2.0 requires Node.js 24 or newer and uses MCP SDK v2. Existing tool names and site selectors remain available. Query results are now { "rows": [...] }; schema listing returns { "tables": [...], "hasMore": false, "nextAfter": null } with bounded pages of table names. Successful tools return matching structured and JSON-text results, and failures set isError: true.
Database and Local configuration are resolved lazily, so MCP tool discovery works without a running site. Explicit MYSQL_HOST or MYSQL_SOCKET_PATH selects the manual connection. Keep stdin open until all tool responses arrive; EOF closes the session. The parent watchdog also cleans up abandoned stdio servers.
Think of MCP (Model Context Protocol) as a secure bridge between AI assistants and your development tools. Instead of copying and pasting database schemas or query results, MCP servers let AI assistants directly interact with your tools while you maintain complete control.
Without MCP: "Hey AI, I think there's a table called wp_something with a column that might be named user_meta... can you write a query?" With MCP: "Hey AI, check what's in my database and write the exact query I need."
Picture this: You're debugging a LearnDash integration issue. Quiz results aren't syncing properly. You fire up Cursor to help diagnose the problem, but without database access, even the most advanced AI is just making educated guesses about your table structures.
Here's an actual support ticket we were working on. The task was simple: fetch quiz activity data from LearnDash tables.
❌ Before MCP Server (AI Flying Blind):
The AI tried its best, suggesting this query:
$quiz_activities = $wpdb->get_results(
$wpdb->prepare( 'SELECT post_id, activity_meta FROM ' . esc_sql( LDLMS_DB::get_table_name( 'user_activity' ) ) . ' WHERE user_id=%d AND activity_type=%s AND activity_status=1 AND activity_completed IS NOT NULL', $user_id, 'quiz' ), ARRAY_A );
Problem? The activity_meta column doesn't exist! LearnDash stores metadata in a completely separate table with a different structure. Without database access, the AI made reasonable but incorrect assumptions. You'd spend the next 20 minutes manually correcting table names, discovering relationships, and rewriting the query.
✅ After MCP Server (AI With X-Ray Vision):
With database access, the AI immediately saw the actual table structure and wrote:
$quiz_activities = $wpdb->get_results(
$wpdb->prepare( 'SELECT ua.post_id, ua.activity_id, uam.activity_meta_key, uam.activity_meta_value FROM ' . esc_sql( LDLMS_DB::get_table_name( 'user_activity' ) ) . ' ua LEFT JOIN ' . esc_sql( LDLMS_DB::get_table_name( 'user_activity_meta' ) ) . ' uam ON ua.activity_id = uam.activity_id WHERE ua.user_id=%d AND ua.activity_type=%s AND ua.activity_completed IS NOT NULL AND uam.activity_meta_key IN (%s, %s, %s)', $user_id, 'quiz', 'percentage', 'points', 'total_points' ), ARRAY_A );
The difference? The AI could see that metadata lives in a separate user_activity_meta table, understood the relationship through activity_id, and knew exactly which meta keys were available. First try. Zero guesswork. Problem solved.
When your AI assistant can read your database:
When using the original mcp-server-mysql with Local by Flywheel, developers face several challenges:
lx97vbzE7) that change when sites are restartedThis MCP server automatically detects your active Local by Flywheel MySQL instance by:
mysqld instancesWhen you have multiple Local sites, the server uses priority-based site selection to ensure you're always connected to the right database:
Specify which site to connect to in your MCP config:
{
"mcpServers": { "wordpress-dev": { "command": "npx", "args": ["-y", "@verygoodplugins/mcp-local-wp@latest"], "env": { "SITE_NAME": "dev" } } } }
Or use the site ID directly:
{
"env": { "SITE_ID": "lx97vbzE7" } }
When using Claude Code or Cursor, the server automatically detects which site you're working in based on your current directory. If you're editing files in /Users/.../Local Sites/dev/app/public/wp-content/plugins/my-plugin/, the server connects to the "dev" site's database automatically.
Use the mysql_current_site tool to see which site you're connected to:
{
"siteName": "dev", "siteId": "lx97vbzE7", "sitePath": "/Users/.../Local Sites/dev", "domain": "dev.local", "selectionMethod": "cwd_detection", }
Use mysql_list_sites to see all available sites and their status.
Execute read-only SQL against your Local WordPress database.
Input fields:
sql (string): Single read-only statement (SELECT, including WITH CTEs, or SHOW/DESCRIBE/EXPLAIN)params ((string | number | boolean | null)[]): Optional parameter values for ? placeholdersExample Usage:
-- With parameters
SELECT * FROM wp_posts WHERE post_status = ? ORDER BY post_date DESC LIMIT ?; -- params: ["publish", "5"]
-- Direct queries SELECT option_name, option_value FROM wp_options WHERE option_name LIKE '%theme%'; SHOW TABLES; DESCRIBE wp_users;
-- Common table expression (CTE) WITH published AS (SELECT ID, post_title FROM wp_posts WHERE post_status = ?) SELECT * FROM published LIMIT 10; -- params: ["publish"]
Inspect database schema using INFORMATION_SCHEMA.
hasMore and nextAfterprefix (case-sensitive literal prefix), limit (1–200), after (previous page's nextAfter), and includeStats (defaults to false)table: returns columns and indexes for that tableWhen hasMore is true, pass nextAfter as after to fetch the next page, keeping the same prefix. The last page has hasMore: false and nextAfter: null. Listing rows contain only table_name by default; includeStats: true adds engine, estimated row count, data bytes and index bytes. % and _ in a prefix are literal characters. Use table alone for detailed inspection; listing options cannot be combined with it. Each page reflects the current schema, so changes to tables between requests can affect the listing.
Examples:
// First page of table names
{ "tool": "mysql_schema", "args": {} }
// Filter to WordPress tables and include statistics { "tool": "mysql_schema", "args": { "prefix": "wp_", "limit": 50, "includeStats": true } }
// Continue a filtered listing using the previous response's nextAfter { "tool": "mysql_schema", "args": { "prefix": "wp_", "limit": 50, "after": "wp_posts" } }
// Inspect a specific table { "tool": "mysql_schema", "args": { "table": "wp_posts" } }
Get information about the currently connected Local WordPress site.
Returns the site name, ID, path, domain, socket path, and how the site was selected (env var, cwd detection, or auto-detection).
{
"tool": "mysql_current_site", "args": {}, } // Returns: // { // "siteName": "dev", // "siteId": "lx97vbzE7", // "sitePath": "/Users/.../Local Sites/dev", // "domain": "dev.local", // "selectionMethod": "cwd_detection", // "socketPath": "/Users/.../Local/run/lx97vbzE7/mysql/mysqld.sock" // }
List all available Local WordPress sites and their running status.
{
"tool": "mysql_list_sites", "args": {}, } // Returns: // { // "sites": [ // { "id": "lx97vbzE7", "name": "dev", "domain": "dev.local", "running": true }, // { "id": "WP7lolWDi", "name": "staging", "domain": "staging.local", "running": false } // ], // "currentSiteId": "lx97vbzE7" // }
The easiest way to get started - no installation required:
Add this to your Cursor MCP configuration file (.cursor/mcp.json):
{
"mcpServers": { "mcp-local-wp": { "command": "npx", "args": ["-y", "@verygoodplugins/mcp-local-wp@latest"] } } }
Add this to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\\Claude\\claude_desktop_config.json
{
"mcpServers": { "mcp-local-wp": { "command": "npx", "args": ["-y", "@verygoodplugins/mcp-local-wp@latest"] } } }
For customization or local development:
git clone https://github.com/verygoodplugins/mcp-local-wp.git
cd mcp-local-wp npm install npm run build
{
"mcpServers": { "mcp-local-wp": { "command": "node", "args": ["/full/path/to/mcp-local-wp/dist/index.js"] } } }
For non-Local setups or custom configurations:
{
"mcpServers": { "mcp-local-wp": { "command": "npx", "args": ["-y", "@verygoodplugins/mcp-local-wp@latest"], "env": { "MYSQL_DB": "local", "MYSQL_HOST": "localhost",
冒頭だけを表示しています。続きはリポジトリで読めます