- ✓Recently active
- ✓Documented (README)
- !Licence file present but not machine-readable
- !No description
git clone https://github.com/WoWSQL/MCP-Server{
"mcpServers": {
"mcp-server": {
"command": "node",
"args": ["/path/to/MCP-Server/dist/index.js"],
"env": {
"MCP_PUBLIC_URL": "<mcp_public_url>"
}
}
}
}MCP_PUBLIC_URLMCP Servers overview
# WoWSQL MCP (Model Context Protocol)
wowsql-style **HTTP MCP** with **OAuth 2.0 authorization code + PKCE** on the WoWSQL API.
## Packages
| Package | Description |
|--------|-------------|
| [`packages/mcp-server-wowsql`](packages/mcp-server-wowsql) | `@wowsql/mcp-server-wowsql` — HTTP MCP server, `createToolSchemas()` for AI SDK |
## Quick start (self-hosted MCP process)
From the repo root:
```bash
cd mcp
npm install
npm run build
npm start
```
### Authentication (OAuth 2.0 + MCP)
The MCP process is an **OAuth protected resource** (not the authorization server):
1. **`POST /mcp`** requires `Authorization: Bearer <access_token>` unless `MCP_ALLOW_UNAUTHENTICATED=true` (dev only).
2. Missing/invalid tokens get **401** with `WWW-Authenticate: Bearer ... resource_metadata="<url>"` so MCP clients (Cursor, etc.) can start OAuth.
3. **Token validation** calls your API: `GET {WOWSQL_API_BASE}/api/v1/auth/me` with the same Bearer token (must match the JWT issued by WoWSQL OAuth or login).
4. **Discovery**
- Authorization server metadata (WoWSQL API): `GET {WOWSQL_API_BASE}/.well-known/oauth-authorization-server`
- Protected 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_API_BASE` | `https://api.wowsql.com` | WoWSQL FastAPI base URL (no trailing slash). |
| `WOWSQL_OAUTH_ISSUER_URL` | same as `WOWSQL_API_BASE` | `issuer` advertised in PRM (`authorization_servers`). |
| `MCP_PUBLIC_URL` | unset | If set, fixed public origin (no `/mcp` path) for OAuth PRM + `WWW-Authenticate`; overrides Host-based derivation. |
| `MCP_ALLOW_UNAUTHENTICATED` | unset | If `true`, skips Bearer check (**insecure**; local testing only). |
| `PORT` / `MCP_PORT` | `8787` | MCP HTTP port. |
| `MCP_HOST` | `0.0.0.0` | 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.
```bash
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 start
```
**Option B — shell (no file)**
PowerShell:
```powershell
cd mcp
$env:WOWSQL_API_BASE="http://localhost:8005"
$env:PORT="8787"
npm start
```
bash / zsh:
```bash
cd mcp
export WOWSQL_API_BASE=http://localhost:8005
export PORT=8787
npm start
```
### Endpoints
- **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/mcp` returns **401** with a short “not authorized” page (no public metadata). The protocol is **POST** JSON-RPC with `Authorization: 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-server`
- Authorize (redirect to dashboard): `GET /api/v1/auth/oauth/mcp/authorize`
- Approve (logged-in user): `POST /api/v1/auth/oauth/mcp/approve`
- Token: `POST /api/v1/auth/oauth/mcp/token` (`grant_type=authorization_code` or `refresh_token`)
Dashboard consent UI: `/mcp/oauth` on the app (see `dashboard/app/mcp/oauth/page.tsx`).
## Deploy `mcp.wowsql.com`
1. Run this Node service behind TLS (reverse proxy or platform of your choice).
2. Set `WOWSQL_API_BASE` / `WOWSQL_OAUTH_ISSUER_URL` to **`https://api.wowsql.com`** (not `127.0.0.1:8000/8001`). Blue/green flips change the backend host port; the public hostname always follows the active slot via NPM.
3. Set `MCP_PUBLIC_URL=https://mcp.wowsql.com`.
4. Point DNS `mcp.wowsql.com` to the service; health check: `GET /health`.
5. Ensure CORS and OAuth `redirect_uri` values include your MCP client callbacks (see `oauth_clients` seed + env).
EC2 blue/green: `./deploy/ec2-blue-green.sh mcp` sets those env vars automatically.
## npm publish
```bash
cd mcp/packages/mcp-server-wowsql
npm version patch
npm publish --access public
```
Requires an npm org scope `@wowsql` (or change `name` in `package.json`).
What people ask about MCP-Server
What is WoWSQL/MCP-Server?
+
WoWSQL/MCP-Server is mcp servers for the Claude AI ecosystem with 4 GitHub stars.
How do I install MCP-Server?
+
You can install MCP-Server by cloning the repository (https://github.com/WoWSQL/MCP-Server) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is WoWSQL/MCP-Server safe to use?
+
Our security agent has analyzed WoWSQL/MCP-Server and assigned a Trust Score of 57/100 (tier: OK). See the full breakdown of passed checks and flags on this page.
Who maintains WoWSQL/MCP-Server?
+
WoWSQL/MCP-Server is maintained by WoWSQL. The last recorded GitHub activity is dated 2026-08-13, with 0 open issues.
Are there alternatives to MCP-Server?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy MCP-Server to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/wowsql-mcp-server)<a href="https://claudewave.com/repo/wowsql-mcp-server"><img src="https://claudewave.com/api/badge/wowsql-mcp-server" alt="Featured on ClaudeWave: WoWSQL/MCP-Server" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
The fastest path to AI-powered full stack observability, even for lean teams.