Supabase
server ทางการของ Supabase ให้ AI สร้างตาราง ถามข้อมูล และดูการตั้งค่าโปรเจกต์ในฐานข้อมูล Supabase ของคุณ
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Scout your PostgreSQL databases with AI - safety features, monitoring, and data quality
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"postgres-scout": {
"command": "npx",
"args": [
"-y",
"postgres-scout-mcp",
"read-only",
"postgresql://localhost:5432/postgres"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add postgres-scout -- npx -y postgres-scout-mcp read-only postgresql://localhost:5432/postgresวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"postgres-scout": {
"command": "npx",
"args": [
"-y",
"postgres-scout-mcp",
"read-only",
"postgresql://localhost:5432/postgres"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"postgres-scout": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"postgres-scout-mcp",
"read-only",
"postgresql://localhost:5432/postgres"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub bluwork ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.3) เข้า registry 8 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Supabase, MongoDB MCP Server, Elasticsearch MCP Server
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ Supabase ให้ AI สร้างตาราง ถามข้อมูล และดูการตั้งค่าโปรเจกต์ในฐานข้อมูล Supabase ของคุณ
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Scout your PostgreSQL databases with AI - A production-ready Model Context Protocol server with built-in safety features, monitoring, and data quality tools.
You ask:
*"How healthy is my production database? Any urgent issues?"*
Postgres Scout returns:
Component Breakdown
| Component | Score | Status |
|---|---|---|
| Cache Performance | 94/100 | Healthy |
| Index Efficiency | 82/100 | Good |
| Table Bloat | 61/100 | Needs Attention |
| Connection Usage | 75/100 | Fair |
Issues Found
orders has 34% bloat (2.1 GB wasted). VACUUM FULL recommended.sessions consuming 890 MB.analytics_events is 71% (target: >90%).Recommendations
VACUUM FULL orders during maintenance windowidx_sessions_legacy, idx_sessions_old_token, idx_sessions_tempanalytics_events to shared_buffers or partitioning by dateThat's getHealthScore — one of 38 tools covering exploration, diagnostics, optimization, monitoring, data quality, and safe writes.
claude mcp add postgres-scout -- npx -y postgres-scout-mcp postgresql://localhost:5432/mydb
Then ask: *"Show me the largest tables and whether they have any bloat issues."*
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": { "postgres-scout": { "command": "npx", "args": ["-y", "postgres-scout-mcp", "postgresql://localhost:5432/mydb"], "type": "stdio" } } }
Cursor / VS Code
Add to your MCP settings:
{
"postgres-scout": { "command": "npx", "args": ["-y", "postgres-scout-mcp", "postgresql://localhost:5432/mydb"] } }
Read-Only vs Read-Write
The server runs in read-only mode by default. For write operations, run a separate instance:
{
"mcpServers": { "postgres-scout-readonly": { "command": "npx", "args": ["-y", "postgres-scout-mcp", "--read-only", "postgresql://localhost:5432/production"], "type": "stdio" }, "postgres-scout-readwrite": { "command": "npx", "args": ["-y", "postgres-scout-mcp", "--read-write", "postgresql://localhost:5432/development"], "type": "stdio" } } }
listDatabases — databases the user has access togetDatabaseStats — size, cache hit ratio, connection infolistSchemas — all schemas in the current databaselistTables — tables with size and row statisticsdescribeTable — columns, constraints, indexes, and moreexecuteQuery — run SELECT queries (or writes in read-write mode)explainQuery — EXPLAIN plans for performance analysisoptimizeQuery — optimization recommendations for a specific querygetHealthScore — overall health score with component breakdowndetectAnomalies — anomalies in performance, connections, and dataanalyzeTableBloat — bloat analysis for VACUUM planninggetSlowQueries — slow query analysis (requires pg_stat_statements)suggestVacuum — VACUUM recommendations based on dead tuples and bloatsuggestIndexes — missing index recommendations from query patternssuggestPartitioning — partitioning strategies for large tablesgetIndexUsage — identify unused or underused indexesgetCurrentActivity — active queries and connectionsanalyzeLocks — lock contention and blocking queriesgetLiveMetrics — real-time metrics over a time windowgetHottestTables — tables with highest activitygetTableMetrics — comprehensive per-table I/O and scan statsfindDuplicates — duplicate rows by column combinationfindMissingValues — NULL analysis across columnsfindOrphans — orphaned records with invalid foreign keyscheckConstraintViolations — test constraints before adding themanalyzeTypeConsistency — type inconsistencies in text columnsexploreRelationships — multi-hop foreign key traversalanalyzeForeignKeys — foreign key health and performancefindRecent — rows within a time windowanalyzeTimeSeries — window functions and anomaly detectiondetectSeasonality — seasonal pattern detectionexportTable — CSV, JSON, JSONL, or SQLgenerateInsertStatements — INSERT statements for migrationpreviewUpdate / previewDelete — see what would change before committingsafeUpdate — UPDATE with dry-run, row limits, empty WHERE protectionsafeDelete — DELETE with dry-run, row limits, empty WHERE protectionsafeInsert — INSERT with validation, batching, ON CONFLICT support*"What are the largest tables and do they have bloat?"*
listTables({ schema: "public" })
analyzeTableBloat({ schema: "public", minSizeMb: 100 })
*"Find duplicate emails in the users table."*
findDuplicates({ table: "users", columns: ["email"] })
*"Which queries are slowest and how can I speed them up?"*
getSlowQueries({ minDurationMs: 100, limit: 10 })
suggestIndexes({ schema: "public" })
*"Show me what's happening on the database right now."*
getCurrentActivity()
getLiveMetrics({ metrics: ["queries", "connections", "cache"], duration: 30000, interval: 1000 }) getHottestTables({ limit: 5, orderBy: "seq_scan" })
*"Find orphaned orders that reference deleted customers."*
findOrphans({ table: "orders", foreignKey: "customer_id", referenceTable: "customers", referenceColumn: "id" })
| Variable | Default | Description |
|---|---|---|
QUERY_TIMEOUT | 30000 | Query timeout in milliseconds |
MAX_RESULT_ROWS | 10000 | Maximum rows returned per query |
ENABLE_RATE_LIMIT | true | Enable rate limiting |
RATE_LIMIT_MAX_REQUESTS | 100 | Requests per window |
RATE_LIMIT_WINDOW_MS | 60000 | Rate limit window (ms) |
PGMAXPOOLSIZE | 10 | Connection pool max size |
PGMINPOOLSIZE | 2 | Connection pool min size |
PGIDLETIMEOUT | 10000 | Idle connection timeout (ms) |
ENABLE_LOGGING | false | Enable file logging |
LOG_DIR | ./logs | Log file directory |
LOG_LEVEL | info | Log verbosity: debug, info, warn, error |
CLI flags: --read-only (default), --read-write, --mode
File logging is disabled by default. Set ENABLE_LOGGING=true to enable. Two log files are created in LOG_DIR:
Connection strings are automatically redacted in all output.
git clone https://github.com/bluwork/postgres-scout-mcp.git
cd postgres-scout-mcp pnpm install pnpm build pnpm test
Apache-2.0