SEODesk Server
БесплатноНе проверенExposes SEODesk SEO tools (analyze_website, keyword_research, backlink overview, etc.) to MCP clients like ChatGPT via Streamable HTTP and OAuth 2.1.
Описание
Exposes SEODesk SEO tools (analyze_website, keyword_research, backlink overview, etc.) to MCP clients like ChatGPT via Streamable HTTP and OAuth 2.1.
README
A Remote MCP (Model Context Protocol) server that exposes the SEODesk SEO toolset to ChatGPT Apps and any other MCP-compatible client (Claude, Cursor, Codex, etc.).
- Transport: Streamable HTTP (spec 2025-06-18) at
POST /mcp - Auth: OAuth 2.1 with PKCE + Dynamic Client Registration (RFC 7591)
- SDK:
@modelcontextprotocol/sdk - Runtime: Node.js 20+
The Lovable frontend is untouched. ChatGPT talks to this MCP server; the frontend keeps talking to the existing Supabase Edge Functions. This server calls the same Edge Functions internally to fulfil tool calls.
Tools exposed
| Tool | Purpose |
|---|---|
analyze_website |
Full on-page SEO analysis for a URL |
seo_audit |
Technical site audit (findings by category) |
page_speed_analysis |
Google PageSpeed Insights (mobile + desktop) |
keyword_research |
Keywords, questions, clusters from a seed |
generate_meta_title |
AI-generated SEO <title> variants |
generate_meta_description |
AI-generated meta descriptions |
generate_schema_markup |
JSON-LD schema (Article, Product, FAQPage, …) |
backlink_overview |
Backlink profile summary (requires provider key) |
content_optimizer |
Content brief vs. a target keyword |
Endpoints
| Path | Description |
|---|---|
POST /mcp |
MCP Streamable HTTP endpoint (requires Authorization: Bearer <token>) |
GET /health |
Liveness probe |
GET /ready |
Readiness probe |
GET /.well-known/oauth-authorization-server |
OAuth 2.0 AS metadata (RFC 8414) |
GET /.well-known/oauth-protected-resource |
MCP resource metadata (RFC 9728) |
POST /oauth/register |
Dynamic Client Registration (RFC 7591) |
GET /oauth/authorize |
Authorization endpoint (PKCE S256 required) |
POST /oauth/token |
Token endpoint (auth code + refresh) |
Local development
cd mcp-server
cp .env.example .env # fill in values
npm install
npm run dev
Sanity check:
curl http://localhost:3333/health
curl http://localhost:3333/.well-known/oauth-authorization-server
Environment variables
See .env.example. Required at minimum:
PUBLIC_BASE_URL— public HTTPS URL of this server (used as OAuth issuer).JWT_SECRET— long random string, signs access tokens.SUPABASE_URL,SUPABASE_ANON_KEY,SUPABASE_SERVICE_ROLE_KEY— to call SEODesk backend Edge Functions.LOVABLE_API_KEY— for AI-powered tools (meta/schema/optimizer).GOOGLE_PAGESPEED_API_KEY— optional (Edge Function can supply its own).
Deploy to Railway
- Push this folder to a Git repo.
- In Railway → New Project → Deploy from GitHub, pick the repo and set the
root directory to
mcp-server. - Add the env vars from
.env.exampleunder Variables. - Railway auto-detects Node;
railway.tomlsets the healthcheck to/health. - After deploy, set
PUBLIC_BASE_URLandOAUTH_ISSUERto the generated HTTPS domain (e.g.https://seodesk-mcp.up.railway.app) and redeploy.
Deploy to Cloudflare Workers
The MCP SDK targets Node's http module, so the simplest CF path is to deploy
this Node app to Cloudflare Containers (or Fly.io / Render) rather than a
plain Worker. If you want a pure Workers deployment, port the two files
src/index.js and src/oauth.js onto itty-router + @modelcontextprotocol/sdk's
Web-Standard transport — the tool definitions in src/tools.js transfer
unchanged.
Minimal Docker deploy (works on Fly.io, Render, CF Containers):
docker build -t seodesk-mcp .
docker run -p 3333:3333 --env-file .env seodesk-mcp
Connect from ChatGPT
- ChatGPT → Settings → Apps → Create App (or Connectors).
- Server URL:
https://<your-domain>/mcp - ChatGPT auto-discovers
/.well-known/oauth-protected-resource, registers a client via/oauth/register, and walks the user through OAuth. - Once approved, all nine tools appear in ChatGPT and can be invoked in chat.
Connect from Claude / Cursor / Codex
Any MCP client that supports Streamable HTTP + OAuth 2.1 works. Point it at
https://<your-domain>/mcp and it will complete DCR + PKCE the same way.
Production hardening checklist
- Replace in-memory
clients/authCodes/refreshTokensstores insrc/oauth.jswith Redis or Postgres. - Replace the auto-approve
/oauth/authorizehandler with a real consent page that authenticates the end user against SEODesk (Supabase Auth). - Rotate
JWT_SECRETand pinALLOWED_REDIRECT_HOSTS. - Put the server behind HTTPS (Railway / Fly / CF terminate TLS for you).
- Add rate limiting (e.g.
express-rate-limit) on/mcpand/oauth/*.
Установка SEODesk Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/apurv00001/seodesk-mcp-serverFAQ
SEODesk Server MCP бесплатный?
Да, SEODesk Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для SEODesk Server?
Нет, SEODesk Server работает без API-ключей и переменных окружения.
SEODesk Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить SEODesk Server в Claude Desktop, Claude Code или Cursor?
Открой SEODesk Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare SEODesk Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
