Sakenowa Vercel
БесплатноНе проверенEnables querying Japanese sake data (prefectures, sakes, flavors, rankings) via MCP protocol, deployed as a Vercel serverless function.
Описание
Enables querying Japanese sake data (prefectures, sakes, flavors, rankings) via MCP protocol, deployed as a Vercel serverless function.
README
Vercel deploy wrapper for @yawaragi/sakenowa-mcp. Exposes the MCP streamable-HTTP endpoint as a Next.js Pages-API function, so the OSS MCP server (which natively wants a long-lived http.Server.listen()) can run on Vercel's serverless model.
The endpoint is at /api/mcp. Point any MCP client (the Vercel AI SDK's @ai-sdk/mcp, Claude Desktop, etc.) at https://<your-deploy>/mcp (with the /api path prefix configured in the wrapper, see below — MCP_HTTP_PATH style env var coming in a follow-up).
How it works
@yawaragi/[email protected] ships a streamable-HTTP transport that is already stateless per request — a fresh Server + StreamableHTTPServerTransport is constructed inside every invocation, then closed when the response stream ends. The published createMcpHttpServer(...) wrapper just plugs that per-request handler into Node's http.createServer.
This project does the same thing, but plugs the per-request handler into a Next.js Pages-API function instead. Result: each Vercel function invocation does the equivalent of one stock sakenowa-mcp request, with no state shared between invocations except the pg connection pool (which Vercel keeps warm across requests on the same function container).
The handler lives at pages/api/mcp.ts and mirrors sakenowa-mcp's internal handleRequest (@yawaragi/sakenowa-mcp/dist/http.js) closely.
Deploy
Connect this repo to a Vercel project in the Vercel dashboard. Set the project name to
sakenowa-mcp(or whatever — the deploy URL is what matters downstream).Set the project region to
fra1(Frankfurt, EU) for DPA continuity with the Supabase mirror. Already pinned in vercel.json.Set the environment variable
DATABASE_URLto the Sakenowa-mirrored Postgres connection string. Use the EU pooler URL (aws-1-eu-central-1.pooler.supabase.com:5432), NOT the direct DB URL — serverless concurrency would otherwise blow throughmax_connections. See .env.example.Deploy. Vercel auto-deploys on push.
Smoke-test the deployment:
curl -s -X POST https://<your-deploy>.vercel.app/api/mcp \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | jqExpected: a JSON-RPC response advertising the six tools (
list_prefectures,search_sakes_by_name,find_similar_sakes,get_sake_details,find_sakes_by_flavor,get_top_ranked).Point the yawaragi app at the deploy — set
MCP_SAKENOWA_URL=https://<your-deploy>.vercel.app/api/mcpon the yawaragi Vercel project (Production + Preview).
Auth
@yawaragi/sakenowa-mcp v0.1.0 ships with no built-in authentication — the OSS asset's contract is "anyone with DATABASE_URL can query, anyone with the HTTP endpoint can query." The data is public-domain Sakenowa data, and no PII / user-state ever passes through the server.
If you want to restrict access, layer auth in front: Vercel rewrite with a bearer token, Cloudflare Tunnel with mTLS, etc. Not built into this wrapper.
Caveats
enableJsonResponse: true— the wrapper requests plainapplication/jsonresponses, not the SSE-streamed variant. All six tools are short synchronous reads; streaming would only matter if a future tool added long-running work.- Cold-start cost: ~200–500ms to construct the pg pool + first MCP
Server. Subsequent warm invocations are near-instant. - Subpath imports (
@yawaragi/sakenowa-mcp/dist/server.js): brittle because v0.1.0 has no publicexportsfield. A patch-level follow-up against sakenowa-mcp to addexportsmapping is tracked separately; once that ships, switch to named subpath imports here. - Pool sizing: default
Poolhasmax: 10. Vercel can spawn many parallel function containers; the Supabase pooler handles that fine, but if you switch to a direct DB URL you'd need to tune.
Local dev
pnpm install
DATABASE_URL=postgresql://... pnpm dev # binds on :3030 by default
# In another terminal
curl -s -X POST http://localhost:3030/api/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Установка Sakenowa Vercel
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/yawaragi-dev/sakenowa-mcp-vercelFAQ
Sakenowa Vercel MCP бесплатный?
Да, Sakenowa Vercel MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Sakenowa Vercel?
Нет, Sakenowa Vercel работает без API-ключей и переменных окружения.
Sakenowa Vercel — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Sakenowa Vercel в Claude Desktop, Claude Code или Cursor?
Открой Sakenowa Vercel на 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 Sakenowa Vercel with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
