Authenticated MCP SSE Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports containerization of the MCP server for deployment to Google Cloud Run, with the deployment script handling Docker container building and pushing to Google Container Registry.

  • Enables hosting an MCP server on Google Cloud Run with IAM authentication, allowing teams to securely access the server over the internet using Cloud SDK for authentication and proxy connections.

Hospedar el servidor MCP SSE en Google Cloud Run

Actualmente (03/04/2024), MCP aún está trabajando en la autenticación y autorización. Planean completar esto en el primer semestre de 2025. El problema es que quiero compartir mi servidor MCP con mi equipo AHORA. Así que aquí estamos. La única solución inmediata para usar un servidor MCP de SSE en Cursor, etc., por ahora es una solución basada en la capa de red (por ejemplo, un proxy). Autenticación básica, claves API, ¡olvídelo!

Al utilizar GCP Cloud Run y la autenticación IAM basada en el usuario, he creado una forma sencilla y segura de permitir que los clientes accedan a un servidor MCP personalizado a través de Internet.

Hoja de ruta del MCP

Cómo funciona

El servidor MCP está alojado en Google Cloud Run. Mediante la autenticación IAM de Cloud Run, podemos conectarnos de forma segura al servidor desde internet mediante el SDK de Google Cloud para crear una conexión proxy.

LÉAME TLDR

Esto debería funcionar de inmediato con una configuración mínima si ya tiene Docker y la CLI de gcloud configurados localmente.

Paso 1: Actualice deploy.sh con el ID de su proyecto, el correo electrónico de la cuenta de servicio, etc.

Paso 2: Si la implementación es exitosa, toma la URL de ejecución en la nube proporcionada y agrégala a mcp_proxy.ts junto con el ID de tu proyecto.

Paso 3: Ejecute el proxy npx ts-node mcp_proxy.ts

Paso 3: Acceda a su servidor MCP usando http://localhost:3030 - Agréguelo al Cursor en Configuración > Características > Servidores MCP (asegúrese de seleccionar SSE, no comando)

LÉAME LARGO Y ABURRIDO

Pasos de implementación

  1. Clonar el repositorio
  2. Ejecute npm install para instalar las dependencias
  3. Ejecute npm run dev para iniciar el servidor localmente

Implementación en Google Cloud Run

Para implementar su servidor MCP en Google Cloud Run:

  1. Asegúrate de tener instalado el SDK de Google Cloud
  2. Actualice el script deploy.sh con los detalles de su proyecto:
    • PROJECT_ID : Su ID de proyecto de Google Cloud
    • REGION : Su región de GCP preferida
    • SERVICE_ACCOUNT_EMAIL : El correo electrónico de la cuenta de servicio con los permisos adecuados
  3. Ejecute el script de implementación:
    chmod +x deploy.sh ./deploy.sh

El script de implementación hará lo siguiente:

  • Cree un contenedor Docker para su servidor MCP
  • Enviarlo a Google Container Registry
  • Implementarlo en Cloud Run con la autenticación habilitada

Conexión a su servidor MCP implementado

Para conectarse a su servidor MCP implementado:

  1. Ejecute el proxy MCP localmente:
    npx ts-node mcp_proxy.ts
  2. El apoderado se encargará de:
    • Comprueba si estás autenticado con Google Cloud
    • Obtener tokens de autenticación automáticamente
    • Crear un servidor proxy local (predeterminado: http://localhost:3030 )
    • Reenvíe solicitudes autenticadas a su servicio Cloud Run
  3. Configure su cliente MCP para conectarse a la URL del proxy local

Utilice el servidor MCP en Cursor

  1. Primero, ejecutemos nuestro proxy para establecer una conexión entre nuestra máquina local y el servidor MCP alojado en Google Cloud Run.
npx ts-node mcp_proxy.ts
  1. Ahora agreguemos nuestro servidor proxy local al cursor dentro de la pestaña Configuración > Características en la sección del servidor MCP.

  1. ¡Listo! Inicia un nuevo Composer (asegúrate de estar en modo agente) y pregunta qué tiempo hace en una ubicación. La salida en tu terminal donde está conectado el proxy, junto con la salida de tu Composer, debería verse así:

Seguridad

Esta configuración proporciona varios beneficios de seguridad:

  • Su servidor MCP no es accesible públicamente sin autenticación
  • Todas las conexiones están protegidas con Google Cloud IAM
  • Los miembros del equipo necesitan acceso al SDK de Google Cloud para conectarse

Problemas de conexión

  • Verifique que la URL de Cloud Run en mcp_proxy.ts coincida con el servicio implementado
  • Verifique los registros de Cloud Run para detectar cualquier error del lado del servidor

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar incidencias o solicitudes de incorporación de cambios.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor MCP (Protocolo de contexto de modelo) seguro alojado en Google Cloud Run que permite la colaboración en equipo al proporcionar acceso autenticado a través de Google Cloud IAM, lo que permite a los equipos compartir servidores MCP personalizados a través de Internet antes de que se implemente la autenticación oficial de MCP.

  1. How it works
    1. TLDR README
      1. LONG BORING README
        1. Deployment Steps
        2. Deployment to Google Cloud Run
        3. Connecting to your deployed MCP server
        4. Use the MCP server in Cursor
        5. Security
        6. Contributing
        7. License
      ID: vpk7fxri26