Varven

Verificador de endpoints MCP

Apúntalo a un servidor MCP remoto. Recorre la cadena de descubrimiento igual que lo hace un cliente de IA y nombra el paso que falló.

Enter a URL and run the checks.

    Esto se ejecuta desde tu navegador, así que está sujeto a CORS. Un servidor que no envía Access-Control-Allow-Origin bloqueará la petición y parecerá inalcanzable aunque esté sano. Eso ya es información útil de por sí — algunos clientes también necesitan esas cabeceras — pero no interpretes un fallo de CORS como prueba de que el servidor está roto.

    Qué comprueba, y por qué importa cada paso

    1. El desafío sin autenticar

    Una petición sin autenticar debe devolver 401 con una cabecera WWW-Authenticate que lleve resource_metadata. Sin esa cabecera el cliente no tiene forma de descubrir dónde autenticarse y falla con un error de conexión opaco. Es la razón más común de que un conector se niegue a funcionar sin decir nada.

    2. Metadatos del recurso protegido (RFC 9728)

    El campo resource debe coincidir exactamente con el URI canónico del servidor. Los clientes lo comparan de forma literal, así que una barra final o un http frente a https es un fallo total con un mensaje inútil.

    3. Metadatos del servidor de autorización (RFC 8414)

    Debe anunciar los endpoints de authorization, token y registration, y debe incluir S256 en code_challenge_methods_supported. OAuth 2.1 exige PKCE y prohíbe el método plain; un servidor que ofrece plain no cumple la especificación y algunos clientes lo rechazarán.

    4. Transporte

    Se espera que los conectores nuevos hablen Streamable HTTP. El antiguo transporte independiente HTTP+SSE está obsoleto y ya no se acepta para dar de alta conectores en el directorio.

    Por qué construimos esto

    Varven es en sí mismo un servidor MCP remoto, y dejar bien el handshake de OAuth nos llevó más tiempo que el motor de recuperación. El modo de fallo es brutal: el cliente solo informa de que no pudo conectar, sin indicar cuál de los siete pasos falló. Esto los recorre en orden y nombra el que se rompió.

    Cómo se conecta Varven a Claude

    Preguntas frecuentes

    Mi servidor funciona en Claude pero aquí falla.

    Casi seguro que es CORS. Los navegadores lo aplican; los clientes nativos no.

    ¿Necesito registro dinámico de clientes?

    Si quieres que los clientes se conecten sin que los registres tú de antemano, sí. Sin eso, cada cliente necesita credenciales emitidas a mano.

    ¿A qué revisión de la especificación debo apuntar?

    Apunta a la especificación de autorización vigente y cuenta con cambios — se ha revisado varias veces, y la migración de SSE a Streamable HTTP es lo bastante reciente como para que algunos clientes vayan por detrás.