MCP Reference
Tools & security
What the server exposes · safe usage
Tool availability depends on the features query on your MCP URL and whether a project_ref is set. The WoWSQL MCP server registers tools from @wowsql/mcp-server-wowsql (see repo mcp/packages/mcp-server-wowsql).
Available tools
| Tool | Feature gate | Description |
|---|---|---|
list_projects |
account (no project scope) |
List WoWSQL projects for the signed-in user. |
get_project |
account |
Fetch one project by slug. |
list_tables |
database + project |
List tables in the project database (PostgreSQL). |
execute_sql |
database + project |
Run SQL. With read_only=true, mutating statements are rejected. |
search_docs |
docs |
Search WoWSQL documentation (q parameter, min length 2). |
list_storage_buckets |
storage + project |
Not available. The current MCP server registers no storage tools; features=storage is ignored. |
Result safety: Tool responses append a reminder that data returned from SQL or APIs should be treated as untrusted content (prompt-injection hygiene).
Feature flags
Pass comma-separated values in features=, for example:
features=account,database,docs
account—list_projects,get_project(typically when no single project is fixed).database—list_tables,execute_sql.docs—search_docs,get_doc.storage— not available in the current server (ignored if passed).
Security practices
Scope to one project
Use project_ref in the MCP URL so the assistant only sees one project’s database.
Read-only mode
Use read_only=true when you only need SELECT / introspection — blocks obvious DML/DDL in execute_sql.
Least privilege
Omit account or docs from features if you do not need those tools.
Client approvals
Keep tool-call approval enabled in your MCP client when working with production data.
Prompt injection
Database rows and doc snippets can contain hostile text. Treat tool output as data, not instructions. Combine MCP with your client’s approval flows and organizational policies.
Transport & errors
- MCP uses POST JSON-RPC to
/mcp. A browser GET to/mcpmay return 401 — that is expected; use a proper MCP client. - OAuth metadata: see the overview page for protected-resource discovery.
Use the hosted URL https://mcp.wowsql.com/mcp with TLS. For self-hosting, run the Node MCP behind HTTPS and set MCP_PUBLIC_URL / WOWSQL_API_BASE per mcp/README.md.
MCP_ALLOW_UNAUTHENTICATED=true disables Bearer checks — never use in production.
Related pages: Overview · MCP clients
Static page: sdk/Docs updates/mcp-reference.html