WoWSQL MCP
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WoWSQL MCPconnect to my WoWSQL project and show the users table schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WoWSQL MCP (Model Context Protocol)
wowsql-style HTTP MCP with OAuth 2.0 authorization code + PKCE on the WoWSQL API.
Packages
Package | Description |
|
Related MCP server: NetSuite MCP Server
Quick start (self-hosted MCP process)
From the repo root:
cd mcp
npm install
npm run build
npm startAuthentication (OAuth 2.0 + MCP)
The MCP process is an OAuth protected resource (not the authorization server):
POST /mcprequiresAuthorization: Bearer <access_token>unlessMCP_ALLOW_UNAUTHENTICATED=true(dev only).Missing/invalid tokens get 401 with
WWW-Authenticate: Bearer ... resource_metadata="<url>"so MCP clients (Cursor, etc.) can start OAuth.Token validation calls your API:
GET {WOWSQL_API_BASE}/api/v1/auth/mewith the same Bearer token (must match the JWT issued by WoWSQL OAuth or login).Discovery
Authorization server metadata (WoWSQL API):
GET {WOWSQL_API_BASE}/.well-known/oauth-authorization-serverProtected resource metadata (this MCP host):
GET /.well-known/oauth-protected-resource/mcp
Cursor / Electron: OAuth metadata is rewritten so authorization_endpoint, token_endpoint, and registration_endpoint point at this MCP host (e.g. http://localhost:8787/...). The MCP process proxies those requests to WOWSQL_API_BASE, so the IDE does not need a working direct fetch to localhost:8000 for OAuth (which often shows up as fetch failed). You still need FastAPI running on WOWSQL_API_BASE so the proxy can reach it.
If MCP_PUBLIC_URL is unset, PRM and 401 resource_metadata are derived from each request’s Host (and X-Forwarded-Proto), so http://localhost:8787/mcp and http://127.0.0.1:8787/mcp each get matching metadata. Set MCP_PUBLIC_URL when the MCP is behind a reverse proxy or you need a single fixed origin in production.
Variable | Default | Purpose |
|
| WoWSQL FastAPI base URL (no trailing slash). |
| same as |
|
| unset | If set, fixed public origin (no |
| unset | If |
|
| MCP HTTP port. |
|
| Bind address. |
Option A — .env / .env.local (recommended)
Copy packages/mcp-server-wowsql/.env.example to .env or .env.local in that folder. The CLI loads .env, then .env.local (overrides), then the process cwd .env. Use .env.local for machine-specific values (e.g. http://localhost:8000) without committing them.
cd mcp/packages/mcp-server-wowsql
cp .env.example .env
# edit .env — set WOWSQL_API_BASE to your API
npm run build # from mcp root: npm run build -w @wowsql/mcp-server-wowsql
npm startOption B — shell (no file)
PowerShell:
cd mcp
$env:WOWSQL_API_BASE="http://localhost:8005"
$env:PORT="8787"
npm startbash / zsh:
cd mcp
export WOWSQL_API_BASE=http://localhost:8005
export PORT=8787
npm startEndpoints
MCP (Streamable HTTP):
POST http://localhost:8787/mcp— JSON-RPC body; append query params for scoping. MCP clients (Cursor, etc.) use this.MCP (browser):
GET http://localhost:8787/mcpreturns 401 with a short “not authorized” page (no public metadata). The protocol is POST JSON-RPC withAuthorization: Bearer.Health:
GET http://localhost:8787/health
Example scoped URL for clients:
http://localhost:8787/mcp?project_ref=<uuid-or-slug>&read_only=true&features=database,docs
OAuth (API)
Metadata:
GET https://api.wowsql.com/.well-known/oauth-authorization-serverAuthorize (redirect to dashboard):
GET /api/v1/auth/oauth/mcp/authorizeApprove (logged-in user):
POST /api/v1/auth/oauth/mcp/approveToken:
POST /api/v1/auth/oauth/mcp/token(grant_type=authorization_codeorrefresh_token)
Dashboard consent UI: /mcp/oauth on the app (see dashboard/app/mcp/oauth/page.tsx).
Deploy mcp.wowsql.com
Run this Node service behind TLS (reverse proxy or platform of your choice).
Set
WOWSQL_API_BASE/WOWSQL_OAUTH_ISSUER_URLtohttps://api.wowsql.com(not127.0.0.1:8000/8001). Blue/green flips change the backend host port; the public hostname always follows the active slot via NPM.Set
MCP_PUBLIC_URL=https://mcp.wowsql.com.Point DNS
mcp.wowsql.comto the service; health check:GET /health.Ensure CORS and OAuth
redirect_urivalues include your MCP client callbacks (seeoauth_clientsseed + env).
EC2 blue/green: ./deploy/ec2-blue-green.sh mcp sets those env vars automatically.
npm publish
cd mcp/packages/mcp-server-wowsql
npm version patch
npm publish --access publicRequires an npm org scope @wowsql (or change name in package.json).
This server cannot be deployed
Maintenance
Related MCP Connectors
Query, browse, and automate OmegaAI workspaces from any MCP client. Streamable HTTP with OAuth 2.0.
Connect AI agents to Filepad workspaces through OAuth MCP.
Your OpenWork org's skills, plugins, workflows, and connections through one OAuth MCP URL.
Create, publish and measure SparkleTree marketing campaigns from an AI client. OAuth 2.1 with PKCE.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables MCP-compatible AI agents to read and write architecture-map projects and diagrams with per-project access controls via OAuth 2.1/PKCE.11 npm1ISC
- AlicenseAqualityCmaintenanceEnables MCP-compatible clients to securely access and query NetSuite data using OAuth 2.0 with PKCE, including SuiteQL, reports, saved searches, and record operations.251 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables database querying and modification through an MCP server where each action is gated by human-granted scopes, per-call confirmations for destructive operations, and revocable access.MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to sign in with OAuth 2.1 and read a user's WHOOP recovery, sleep, strain, and workout data through read-only tools, while also receiving and forwarding signed WHOOP webhooks to your endpoints.15 npmMIT