Quickstart
1. Pick a URL
Working handlers (same Vercel app):
https://houseofvibes.app/api/mcp
https://mcp.houseofvibes.app/api/mcpVanity rewrite (same handler) — preferred for Grok:
https://mcp.houseofvibes.app/mcp
https://houseofvibes.app/mcp2. Public tools need no bearer
Omit Authorization for community + travel tools. Pass Authorization: Bearer <ADMIN_API_TOKEN> only for admin/ops tools.
export MCP_URL="https://mcp.houseofvibes.app/mcp"
# Optional for admin tools only:
# export ADMIN_API_TOKEN="…" # secret — never commit3. Initialize
curl -sS -X POST "$MCP_URL" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": { "name": "curl", "version": "1.0" }
}
}'4. Notify initialized (expect 202)
curl -sS -o /dev/null -w "%{http_code}\n" -X POST "$MCP_URL" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"notifications/initialized"}'5. List and call tools
curl -sS -X POST "$MCP_URL" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'curl -sS -X POST "$MCP_URL" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": { "name": "leaderboard", "arguments": { "limit": 5 } }
}'