Skip to main content
Glama

oferty-spike-mcp

Spike #1 del proyecto „Oferty Online": ¿el servidor OAuth 2.1 integrado de Supabase Auth (beta) se entiende con la aplicación Claude mediante Dynamic Client Registration?

El código está para tirar. Cero pruebas, cero manejo de errores aparte de lo que diagnostica el propio spike, cero herramientas MCP reales. Al final solo queda una nota con conclusiones.

Qué hay aquí

Archivo

Rol

src/server.js

enrutado HTTP, validación de Host, lazy auth, discovery

src/mcp.js

servidor MCP v2 + herramienta ping() que devuelve la identidad del token

src/verifier.js

dos rutas: Bearer estático (Claude Code) y token Supabase (aplicación Claude)

src/consent.js

página de consentimiento — lo único que escribimos nosotros

src/supabase-metadata.js

obtención de metadatos AS al inicio, fail fast

Usamos SDK v2 (@modelcontextprotocol/server + @modelcontextprotocol/node). @modelcontextprotocol/sdk es la legacy v1 — la mayoría de los tutoriales en la red describen esa.

Related MCP server: Remote MCP Server on Cloudflare

Variables de entorno

Ver .env.example. Las cuatro son obligatorias, el proceso no arranca sin ellas.

Ejecución local

npm ci
APP_ORIGIN=http://localhost:3000 SUPABASE_URL=https://twoj.supabase.co \
  SUPABASE_ANON_KEY=... SPIKE_STATIC_TOKEN=... npm start

Endpoints

  • POST /mcp — Streamable HTTP, stateless

  • GET /.well-known/oauth-protected-resource/mcp — RFC 9728

  • GET /.well-known/oauth-authorization-server — metadatos de Supabase, pasados literalmente

  • GET /oauth/consent?authorization_id=… — página de consentimiento

  • GET /healthz — vitalidad del proceso, a propósito no hace ping a Supabase

Diagnóstico

Sin token, POST /mcp responde 401 con la cabecera WWW-Authenticate que apunta a Protected Resource Metadata — así sabrás que lazy authentication funciona.

Ante la sospecha de un problema con la reconexión del conector (el punto más sospechoso del spike) son útiles supabase.auth.oauth.listGrants() y revokeGrant({ clientId }) — permiten ver y borrar el consentimiento guardado sin tocar la base de datos manualmente.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables Claude.ai to connect to a Hermes MCP server via OAuth 2.1 authorization code flow with PKCE, acting as a reverse proxy and single-user authorization gateway.
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables remote MCP server deployment on Cloudflare Workers with OAuth login, supporting tool calling via SSE from clients like MCP Inspector or Claude Desktop.
  • F
    license
    Not graded
    quality
    B
    maintenance
    A proof-of-concept HTTP MCP server requiring OAuth 2.0 authentication before tool use. Demonstrates the full authentication flow with Claude Code, including discovery, client registration, PKCE authorization, and bearer token verification.

View all related MCP servers

Related MCP Connectors

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

  • MCP server for interacting with the Supabase platform

  • MCP server for verifying EUDI/Talao wallet data via OIDC4VP (pull) for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIBiz-Automatyzacje/oferty-spike-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server