gqai-editorial-mcp-server
Provides read-only access to the editorial (사설) table in a Supabase project, enabling keyword and date-range search, retrieval of full editorial text by id or link, and listing of media outlets with editorial counts.
Click 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., "@gqai-editorial-mcp-serverFind editorials mentioning "semiconductors" from Chosun Ilbo in the last month"
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.
gqai-editorial-mcp-server
Remote MCP server exposing read-only access to the editorial (사설) table
in the GQAI Supabase project (20250320-exnews-supabase, ~22k Korean newspaper
editorials from 35 outlets).
Live deployment
Endpoint:
https://gqai-editorial-mcp.vercel.app/api/mcpHosted on Vercel; every push to
maindeploys automatically.
Related MCP server: law-search-mcp
Quick install
No auth needed — just point your client at the live endpoint.
Claude Code:
claude mcp add --transport http editorial https://gqai-editorial-mcp.vercel.app/api/mcpClaude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"editorial": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://gqai-editorial-mcp.vercel.app/api/mcp"]
}
}
}Any other Streamable HTTP-capable client: add
https://gqai-editorial-mcp.vercel.app/api/mcp as the server URL — see
Connecting a client below for the raw config format.
Tools
search_editorials— keyword + media outlet + date-range search, paginatedget_editorial— full text of one editorial byidorlinklist_media_outlets— every outlet name and its editorial count
Why it's safe to expose openly
No auth gate on the MCP endpoint itself — anyone with the URL can call it.
That's fine here because the
editorialtable's only RLS policy (editorial_public_select) grantsSELECTtoanon/authenticated— the app can never write, and it exposes nothing that isn't already readable with the public anon key.
Local development
npm install
cp .env.example .env.local # fill in SUPABASE_ANON_KEY
npm run devThe MCP endpoint is http://localhost:3000/api/mcp (Streamable HTTP,
JSON-RPC 2.0). Test it with:
curl -X POST http://localhost:3000/api/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'Deploying to Vercel
vercel link
vercel env add SUPABASE_URL
vercel env add SUPABASE_ANON_KEY
vercel deploy --prodConnecting a client
Any MCP client that supports Streamable HTTP — no auth needed:
{
"mcpServers": {
"editorial": {
"url": "https://gqai-editorial-mcp.vercel.app/api/mcp"
}
}
}For stdio-only clients, bridge with
mcp-remote:
{
"mcpServers": {
"editorial": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://gqai-editorial-mcp.vercel.app/api/mcp"]
}
}
}Notes on the underlying data
title/contenthavepg_trgmGIN indexes (editorial_title_trgm_idx,editorial_content_trgm_idx) added specifically to makeILIKEsearch fast enough to stay under Postgres' statement timeout — without them,search_editorialstimes out on the ~22k-row table.published_atis used as the canonical date for filtering/sorting (falls back topubdatefor display if null, though in practice both are always populated).
This server cannot be deployed
Maintenance
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Your Supabase account in natural language: run SQL, apply migrations, manage tables, storage, edge f
Read-only search of your Sortio knowledge graph (files and entities) for Claude and ChatGPT.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to perform CRUD operations on Supabase databases through natural language. Supports advanced filtering, pagination, and safety checks for seamless database interaction.MIT
- FlicenseAqualityDmaintenanceEnables searching and retrieving Korean Supreme Court precedents from the law.go.kr Open API, with support for keyword search and detailed judgment text.2-
- AlicenseCqualityCmaintenanceEnables search and retrieval of speech turns from Korea's National Assembly records using Korean or English natural-language queries, with citation-ready context and tools for exploring committees and meetings.51Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables read-only search and retrieval of press releases from 12 South Korean government agencies, returning metadata like title, agency, publication date, and original URL.-