Neon MCP Server
Interactúa con bases de datos Neon Postgres usando lenguaje natural para gestionar proyectos, ramas, consultas y migraciones a través de la API de Neon.
Documentación
Neon MCP Server
Neon MCP Server es una herramienta de código abierto que te permite interactuar con tus bases de datos Lakebase Postgres en Neon mediante lenguaje natural.
El Protocolo de Contexto de Modelos (MCP) es un protocolo estandarizado diseñado para gestionar el contexto entre modelos de lenguaje de gran tamaño (LLMs) y sistemas externos. Este repositorio proporciona un servidor MCP remoto para Neon.
El servidor MCP de Neon actúa como un puente entre las solicitudes en lenguaje natural y la API de Neon. Construido sobre MCP, traduce tus solicitudes en las llamadas API necesarias, permitiéndote gestionar tareas como crear proyectos y ramas, ejecutar consultas y realizar migraciones de bases de datos sin problemas.
Algunas de las características clave del servidor MCP de Neon incluyen:
- Interacción en lenguaje natural: Gestiona bases de datos de Neon usando comandos conversacionales intuitivos.
- Gestión simplificada de bases de datos: Realiza acciones complejas sin escribir SQL ni usar directamente la API de Neon.
- Accesibilidad para no desarrolladores: Permite a usuarios con diversos niveles técnicos interactuar con las bases de datos de Neon.
- Soporte para migraciones de bases de datos: Aprovecha las capacidades de ramificación de Neon para cambios en el esquema de la base de datos iniciados mediante lenguaje natural.
Por ejemplo, en Claude Code, o en cualquier cliente MCP, puedes usar lenguaje natural para lograr cosas con Neon, como:
Let's create a new Postgres database, and call it "my-database". Let's then create a table called users with the following columns: id, name, email, and password.I want to run a migration on my project called "my-project" that alters the users table to add a new column called "created_at".Can you give me a summary of all of my Neon projects and what data is in each one?
[!WARNING]
Consideraciones de seguridad del Neon MCP Server
El Neon MCP Server otorga potentes capacidades de gestión de bases de datos a través de solicitudes en lenguaje natural. Siempre revisa y autoriza las acciones solicitadas por el LLM antes de ejecutarlas. Asegúrate de que solo usuarios y aplicaciones autorizados tengan acceso al Neon MCP Server.El Neon MCP Server está destinado únicamente al desarrollo local e integraciones con IDE. No recomendamos usar el Neon MCP Server en entornos de producción. Puede ejecutar operaciones potentes que podrían provocar cambios accidentales o no autorizados.
Para más información, consulta guía de seguridad de MCP →.
Configuración del Neon MCP Server
Hay algunas opciones para configurar el Neon MCP Server:
- Configuración rápida con clave API (Cursor, VS Code y Claude Code): Ejecuta
neon@latest initpara configurar automáticamente el MCP Server de Neon, las habilidades de agente y la extensión de VS Code con un solo comando. - Servidor MCP remoto (autenticación basada en OAuth): Conéctate al servidor MCP gestionado de Neon usando OAuth para la autenticación. Este método es más conveniente ya que elimina la necesidad de gestionar claves API. Además, recibirás automáticamente las últimas funciones y mejoras tan pronto como se publiquen.
- Servidor MCP remoto (autenticación basada en clave API): Conéctate al servidor MCP gestionado de Neon usando una clave API para la autenticación. Este método es útil si deseas conectar un agente remoto a Neon donde OAuth no está disponible. Además, recibirás automáticamente las últimas funciones y mejoras tan pronto como se publiquen.
Requisitos previos
- Una aplicación cliente MCP.
- Una cuenta de Neon.
- Node.js (>= v18.0.0): Descárgalo desde nodejs.org.
- Si IP Allow está habilitado, agrega
34.192.103.46y23.22.233.166a tu lista de permitidos (mcp.neon.techIPs estáticas).
Para desarrollo, necesitarás Node.js 22+ (pnpm se proporciona a través de Corepack — ejecuta corepack enable para activarlo).
Opción 1. Configuración rápida con clave API
¿No quieres crear manualmente una clave API?
Ejecuta neon@latest init para configurar automáticamente el MCP Server de Neon con un solo comando:
npx neon@latest init
Esto funciona con Cursor, VS Code (GitHub Copilot) y Claude Code. Se autenticará mediante OAuth, creará una clave API de Neon para ti y configurará tu editor automáticamente.
Opción 2. Servidor MCP remoto alojado (autenticación basada en OAuth)
Conéctate al servidor MCP gestionado de Neon usando OAuth para la autenticación. Esta es la configuración más sencilla, no requiere instalación local de este servidor y no necesita una clave API de Neon configurada en el cliente.
Ejecuta el siguiente comando para agregar el Neon MCP Server para todos los agentes y editores detectados en tu espacio de trabajo:
npx add-mcp "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
Esa URL publica proyectos, ramas, endpoints de cómputo, consultas y esquemas. Previsualízala con /api/list-tools?category=projects&category=branches&category=endpoints&category=querying&category=schema. La URL sin filtrar publica todas las categorías:
npx add-mcp https://mcp.neon.tech/mcp
Agrega el indicador -g para añadir el Neon MCP Server a la lista global de servidores MCP en lugar de al ámbito del proyecto.
Alternativamente, puedes agregar la siguiente entrada "Neon" al archivo de configuración del servidor MCP de tu cliente (por ejemplo, mcp.json, mcp_config.json):
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
}
}
}
Kiro: Agrega lo siguiente a tu archivo de configuración MCP de Kiro (~/.kiro/settings/mcp.json para global, o .kiro/settings/mcp.json para ámbito de proyecto):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
}
}
}
O usa el botón de instalación de un clic en la parte superior de este README. Para más información, consulta la documentación de MCP de Kiro.
- Reinicia o actualiza tu cliente MCP.
- Se abrirá una ventana de OAuth en tu navegador. Sigue las indicaciones para autorizar a tu cliente MCP a acceder a tu cuenta de Neon.
Con la autenticación basada en OAuth, el servidor MCP operará, por defecto, en proyectos bajo tu cuenta personal de Neon. Para acceder o gestionar proyectos que pertenecen a una organización, debes proporcionar explícitamente
org_idoproject_iden tu mensaje al cliente MCP.
Opción 3. Servidor MCP remoto alojado (autenticación basada en clave API)
El servidor MCP remoto también admite autenticación mediante una clave API en el encabezado Authorization si tu cliente lo admite.
Crea una clave API de Neon en la consola de Neon. A continuación, ejecuta el siguiente comando para agregar el Neon MCP Server para todos los agentes y editores detectados en tu espacio de trabajo:
npx add-mcp "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema" --header "Authorization: Bearer <$NEON_API_KEY>"
Alternativamente, puedes agregar la siguiente entrada "Neon" al archivo de configuración del servidor MCP de tu cliente (por ejemplo, mcp.json, mcp_config.json):
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema",
"headers": {
"Authorization": "Bearer <$NEON_API_KEY>"
}
}
}
}
Proporciona la clave API de una organización para limitar el acceso solo a los proyectos de esa organización.
Ámbitos y modo de solo lectura
Neon MCP anuncia los ámbitos OAuth read y write. Tu cliente MCP puede solicitarlos, o puedes hacer la selección en la interfaz de permisos de OAuth. * se trata como escritura si un cliente aún lo envía.
El modo de solo lectura restringe qué herramientas están disponibles, deshabilitando operaciones de escritura como crear proyectos, ramas o ejecutar migraciones. Las herramientas de solo lectura incluyen listar proyectos, describir esquemas, consultar datos y ver métricas de rendimiento.
Puedes configurar el modo de solo lectura de dos maneras:
- URL MCP predeterminada (consentimiento editable): Conéctate con
https://mcp.neon.tech/mcpy desmarca Permitir escrituras en la página de autorización. También puedes elegir un proyecto y un subconjunto de categorías de herramientas allí. - URL MCP parametrizada (consentimiento fijo): Coloca
readonly,projectIdy/ocategoryen la URL del servidor MCP. La página de autorización confirma esa concesión y no ofrece editores. Cambia la URL y autoriza nuevamente para cambiar la concesión.
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true"
}
}
}
Cómo se comporta el parámetro de consulta:
- Flujo de clave API:
readonly=truees la forma de habilitar el modo de solo lectura (no hay intercambio de ámbitos OAuth en este flujo). Los cambios de URL se aplican en la siguiente solicitud. - Flujo OAuth:
projectId,categoryyreadonlyen la URL MCP son una concesión fija confirmada en la autorización.readonly=trueno se puede ampliar a escrituras en esa página. Después de emitir un token, cambiar la URL no amplía ese token; autoriza nuevamente.
Para el registro OAuth, x-read-only es un valor predeterminado inicial de Permitir escrituras en el consentimiento editable. No bloquea la confirmación y no reduce una URL parametrizada que incluya readonly=false. Las solicitudes con clave API aún respetan x-read-only por solicitud, por debajo del parámetro de consulta readonly.
Nota: El modo de solo lectura restringe qué herramientas están disponibles. Además, la herramienta
run_sqlpermanece disponible solo para consultas de solo lectura.
Parámetros de consulta de URL para control de acceso
El contexto de concesión (categorías de ámbito, ámbito de proyecto, modo de solo lectura) se configura mediante parámetros de consulta de URL en la URL del servidor MCP. Las solicitudes con clave API aplican esos parámetros en cada solicitud. Los tokens OAuth almacenan la concesión confirmada o editada en la autorización.
| Parámetro | Descripción | Ejemplo |
|---|---|---|
readonly | Habilita el modo de solo lectura (true/false) | ?readonly=true |
category | Restringe a categorías de herramientas específicas (repetidas o CSV) | ?category=querying&category=schema |
projectId | Limita todas las operaciones a un solo proyecto | ?projectId=proj-123 |
Ejemplo de solo lectura + ámbito de proyecto:
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true&projectId=my-project-id"
}
}
}
Ejemplo filtrado por categoría (solo herramientas de consulta y esquema):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?category=querying&category=schema"
}
}
}
Puedes previsualizar qué herramientas son visibles para cualquier configuración usando el endpoint /api/list-tools (sin autenticación requerida):
curl "https://mcp.neon.tech/api/list-tools?readonly=true&category=querying"
Herramientas disponibles en modo de solo lectura
Herramientas de host: list_organizations, describe_branch, run_sql, run_sql_transaction, get_database_tables, describe_table_schema, list_slow_queries, explain_sql_statement, inspect_database, get_neon_auth_config, search, fetch, list_docs_resources, get_doc_resource.
Herramientas de API de gestión generadas que son GET y no devuelven secretos, más query_logs (POST, solo lectura). Previsualiza el conjunto exacto con /api/list-tools?readonly=true.
Herramientas que requieren acceso de escritura:
- Escrituras de API de gestión generadas (
create_project,create_branch,delete_project, …) get_connection_string(la cadena de conexión lleva la contraseña de un rol privilegiado, por lo que se retiene en modo de solo lectura; cópiala desde la Consola de Neon en su lugar)prepare_database_migration,complete_database_migrationprepare_query_tuning,complete_query_tuning
Transporte Server-Sent Events (SSE) (obsoleto)
MCP admite dos transportes de servidor remoto: el obsoleto Server-Sent Events (SSE) y el más nuevo y recomendado Streamable HTTP. Si tu cliente LLM aún no admite Streamable HTTP, puedes cambiar el endpoint de https://mcp.neon.tech/mcp a https://mcp.neon.tech/sse para usar SSE en su lugar.
Ejecuta el siguiente comando para agregar el Neon MCP Server para todos los agentes y editores detectados en tu espacio de trabajo usando el transporte SSE:
npx add-mcp https://mcp.neon.tech/sse --type sse
Arquitectura del servidor remoto
El servidor remoto se ejecuta como una aplicación Next.js App Router en Vercel en mcp.neon.tech.
[!NOTE] La ruta raíz
/redirige a la documentación del Neon MCP Server. No hay página de inicio.
Áreas de implementación principales:
app/api/[transport]/route.ts: endpoint de transporte MCP para Streamable HTTP (/mcp) y SSE (/sse)app/api/authorize/,app/callback/,app/api/token/,app/api/revoke/: endpoints del flujo OAuthapp/.well-known/: endpoints de metadatos de descubrimiento OAuthmcp/: servidor MCP, herramientas, manejadores, análisis e integración con Sentrylib/: ayudantes compatibles con Next.js (OAuth, configuración, manejo de errores)mcp/utils/read-only.ts: manejo del modo de solo lectura y ámbitos
Guías
- Guía del servidor MCP de Neon
- Conectar clientes MCP a Neon
- Cursor con el servidor MCP de Neon
- Claude Code con el servidor MCP de Neon
- Claude Desktop con el servidor MCP de Neon
- Cline con el servidor MCP de Neon
- Windsurf con el servidor MCP de Neon
- Zed con el servidor MCP de Neon
Características
Herramientas compatibles
El servidor MCP de Neon proporciona las siguientes acciones, que se exponen como "herramientas" a los clientes MCP. Puedes usar estas herramientas para interactuar con tus proyectos y bases de datos de Neon mediante comandos en lenguaje natural.
Metadatos de alcance de herramientas
Cada definición de herramienta incluye una categoría scope utilizada para el filtrado de herramientas basado en permisos y la experiencia de consentimiento. Las categorías actuales son:
projectsbranchesendpointssnapshotsschemaqueryingneon_authdata_apiobservabilitydocsfunctionsstoragenull(herramientas sin categoría de alcance)
Notas:
- Las herramientas de la API de gestión provienen de
@neon/tools. Los selectores son rutas del SDK (projects.list); los nombres MCP publicados son verbo-primero (list_projects,delete_project,query_logs). Los nombres históricos se mantienen donde ya existían (describe_project,create_branch,reset_from_parent,compare_database_schema,provision_neon_auth,provision_neon_data_api,list_branch_computes). ?category=branchesincluye herramientas de ramas, roles y bases de datos (list_postgres_roles,create_postgres_database, …). Un token ya emitido parabranchesobtiene esas escrituras. El listado de cómputo es?category=endpoints. La restauración de instantáneas es?category=snapshots.- Las escrituras de miembros de proyecto y permisos no se publican.
list_project_membersylist_project_permissionsson lecturas. - Las herramientas de esquema (
?category=schema) son las herramientas del hostget_database_tablesydescribe_table_schema, más elcompare_database_schemagenerado. - La aplicación de solo lectura sigue dependiendo de
readOnlySafey la lógica de solo lectura del servidor;scopees metadatos de categoría, no un interruptor independiente de lectura/escritura. - En el modo de alcance de proyecto (
?projectId=...), las herramientas sin ruta de proyecto (list_projects,create_project,list_organizations,list_regions,search,fetch, …) están ocultas.delete_projecttambién está oculta.
Gestión de proyectos:
list_projects: Lista los proyectos de Neon.limitlimita cuántos elementos se devuelven.describe_project: Obtiene un proyecto de Neon por id ({ "project_id": "…" }).create_project: Crea un proyecto de Neon y espera al cómputo predeterminado. No devuelve una cadena de conexión. Los argumentos son{ "name": "…", "org_id": "…", "region_id": "…" }. Llama aget_connection_stringdespués de que tenga éxito.delete_project: Elimina un proyecto de Neon existente. Los argumentos son{ "project_id": "…" }.list_organizations: Lista todas las organizaciones a las que el usuario actual tiene acceso. Opcionalmente, filtra por nombre o ID de organización usando el parámetro de búsqueda.
Gestión de ramas:
list_branches: Lista las ramas de un proyecto. Úsala para resolver un nombre de rama a un id debr-….list_credentials,create_credential,revoke_credential,rotate_credential: Credenciales de ámbito de rama para Object Storage y AI Gateway.revealno es una herramienta; la rotación reemplaza los secretos en su lugar y no es idempotente.create_branch: Crea una rama con un cómputo de lectura-escritura y espera hasta que esté lista. No devuelve una cadena de conexión. Los argumentos son{ "project_id": "…", "name": "feature-x" }. Pasano_compute: truepara omitir el endpoint. Llama aget_connection_stringdespués de que tenga éxito.reset_from_parent: Restablece una rama al HEAD actual de su rama padre ({ "project_id": "…", "branch_id": "br-…" }). Descarta las escrituras desde que la rama divergió.preserve_under_namees obligatorio cuando la rama tiene hijos; esos hijos se mueven a la nueva rama. Solo HEAD del padre; la restauración a un punto en el tiempo esrestore_snapshot.delete_branch: Elimina una rama ({ "project_id": "…", "branch_id": "br-…" }).describe_branch: Recupera un árbol de bases de datos, esquemas, tablas, vistas y funciones en una rama.- Las herramientas de rama generadas toman
branch_idcomo id de rama (br-...), no un nombre. restore_snapshot: Restaura una instantánea. Pasatarget_branch_idpara restaurar en una rama existente; omítelo para crear una nueva.
Endpoints de cómputo (?category=endpoints):
list_postgres_endpoints,list_branch_computes,get_postgres_endpoint,create_postgres_endpoint,update_postgres_endpoint,delete_postgres_endpoint,start_postgres_endpoint,suspend_postgres_endpoint,restart_postgres_endpoint
Instantáneas (?category=snapshots):
list_snapshots,get_snapshot_schedule,set_snapshot_schedule,create_snapshot,update_snapshot,delete_snapshot,restore_snapshot
Esquema (?category=schema):
get_database_tables,describe_table_schemacompare_database_schema: Diff de esquema SQL de una base de datos contra otra rama.database_namees obligatorio. Omitirbase_branch_idcompara contra la rama padre. Los opcionaleslsn,timestamp,base_lsn,base_timestampson solo para puntos en el tiempo.
Ejecución de consultas SQL:
get_connection_string: Devuelve tu cadena de conexión a la base de datos.run_sql: Ejecuta una única consulta SQL contra una base de datos de Neon especificada. Admite operaciones de lectura y escritura.run_sql_transaction: Ejecuta una serie de consultas SQL dentro de una única transacción contra una base de datos de Neon.get_database_tables: Lista todas las tablas dentro de una base de datos de Neon especificada.describe_table_schema: Recupera la definición de esquema de una tabla específica, detallando columnas, tipos de datos y restricciones.
Migraciones de base de datos (cambios de esquema):
prepare_database_migration: Inicia un proceso de migración de base de datos. De manera crítica, crea una rama temporal para aplicar y probar la migración de forma segura antes de afectar a la rama principal.complete_database_migration: Finaliza y aplica una migración de base de datos preparada a la rama principal. Esta acción fusiona los cambios de la rama de migración temporal y limpia los recursos temporales.
Consultas y optimización SQL:
inspect_database: Ejecuta uno de los 15 diagnósticos de Postgres de solo lectura predefinidos contra una rama: tamaños de relaciones e índices, uso de índices y escaneos secuenciales, consultas activas y bloqueos, consultas más pesadas y frecuentes, tasa de aciertos de caché y tamaño del conjunto de trabajo, estimaciones de autovacuum y bloat, y estado de replicación. Mismas comprobaciones que el comando CLIneon inspect db. Omitedatabase_namepara cubrir todas las bases de datos de la rama; pasa un nombre para inspeccionar una. Cuatro de ellos necesitan la extensiónpg_stat_statementsoneon.list_slow_queries: Identifica cuellos de botella de rendimiento encontrando las consultas más lentas en una base de datos. Requiere la extensión pg_stat_statements.explain_sql_statement: Proporciona planes de ejecución detallados para consultas SQL para ayudar a identificar cuellos de botella de rendimiento.prepare_query_tuning: Analiza el rendimiento de las consultas y sugiere optimizaciones, como la creación de índices. Crea una rama temporal para probar estas optimizaciones de forma segura.complete_query_tuning: Finaliza el ajuste de consultas aplicando optimizaciones a la rama principal o descartándolas. Limpia la rama de ajuste temporal.
Neon Auth (?category=neon_auth):
provision_neon_auth,get_auth,disable_auth,update_auth_configget_neon_auth_config: herramienta del host; secretos redactados. Usa las herramientas de escritura de Auth generadas para cambiar la configuración.list_auth_oauth_providers,add_auth_oauth_provider,update_auth_oauth_provider,delete_auth_oauth_providerlist_auth_trusted_domains,add_auth_trusted_domain,delete_auth_trusted_domaincreate_auth_user,delete_auth_user,update_auth_user_role
API de datos de Neon (?category=data_api):
provision_neon_data_api,get_data_api,update_data_api,delete_data_api: Gestiona la API de datos para una base de datos de rama.
Búsqueda y descubrimiento:
search: Busca entre organizaciones, proyectos y ramas que coincidan con una consulta. Devuelve IDs, títulos y enlaces directos a la consola de Neon.fetch: Obtiene información detallada sobre una organización, proyecto o rama específicos usando un ID (normalmente de la herramienta de búsqueda).
Observabilidad (?category=observability): estas herramientas requieren la versión Beta de la plataforma Neon y actualmente solo están disponibles para proyectos en la región aws-us-east-2. Una rama sin acceso a registros devuelve HTTP 404 con el motivo telemetry_not_enabled.
query_logs: Consulta registros de OpenTelemetry para una rama. POST en la API de gestión; tratado como solo lectura por este servidor.list_log_fields: Lista los campos de registro cuyos valores puedes enumerar en una rama.list_log_field_values: Lista los valores distintos de un campo de registro dentro de una rama y ventana de tiempo.
Documentación y recursos (?category=docs):
list_docs_resources: Lista todas las páginas de documentación de Neon disponibles obteniendo el índice dehttps://neon.com/docs/llms.txt. Devuelve URLs y títulos de páginas que se pueden obtener individualmente usando la herramientaget_doc_resource.get_doc_resource: Obtiene una página específica de documentación de Neon como contenido markdown. Usa primero la herramientalist_docs_resourcespara descubrir los slugs de página disponibles, luego pasa el slug a esta herramienta.
Funciones (?category=functions):
list_functions,get_function,update_function,delete_function,deploy_functionlist_functions_custom_domains,register_functions_custom_domain,delete_functions_custom_domainlist_triggers,get_trigger,create_trigger,update_trigger,delete_trigger: Disparadores de funciones programadas (type: "schedule", cron UTC de cinco campos).
Almacenamiento (?category=storage):
list_storage_buckets,create_storage_bucket,delete_storage_bucketlist_storage_objects,delete_storage_object,delete_storage_objects_by_prefixpresign_storage_object,get_storage
Migraciones
Las migraciones son una forma de gestionar los cambios en el esquema de tu base de datos a lo largo del tiempo. Con el servidor MCP de Neon, los LLM pueden realizar migraciones de forma segura con comandos separados de "Inicio" (prepare_database_migration) y "Confirmar" (complete_database_migration).
El comando "Inicio" acepta una migración y la ejecuta en una nueva rama temporal. Al regresar, este comando sugiere al LLM que debe probar la migración en esta rama. El LLM puede entonces ejecutar el comando "Confirmar" para aplicar la migración a la rama original.
Desarrollo
Este proyecto usa pnpm como gestor de paquetes, fijado mediante Corepack.
Estructura del proyecto
El código del servidor MCP se encuentra en la raíz del repositorio, una aplicación Next.js desplegada en Vercel en mcp.neon.tech.
corepack enable
pnpm install
Consulta CONTRIBUTING.md para saber cómo añadir herramientas. Los argumentos de las herramientas son snake_case.
Desarrollo local
# Start the Next.js dev server (for the remote MCP server)
pnpm dev
Linting y comprobación de tipos
pnpm lint
pnpm typecheck
Variables de entorno
Requeridas para el tiempo de ejecución del servidor remoto:
| Variable | Descripción |
|---|---|
SERVER_HOST | URL del servidor (por defecto VERCEL_URL) |
UPSTREAM_OAUTH_HOST | URL del proveedor OAuth de Neon |
CLIENT_ID | ID de cliente OAuth |
CLIENT_SECRET | Secreto de cliente OAuth |
KV_URL | URL de Vercel KV (Upstash Redis) |
OAUTH_DATABASE_URL | URL de Postgres para almacenamiento de tokens |
Opcional:
| Variable | Descripción |
|---|---|
LOG_LEVEL | Nivel de registro de Winston: error, warn, info (predeterminado), debug, verbose, silly |
NEON_MCP_DISABLE_ANALYTICS | Establecer en 1 para deshabilitar la analítica de producto |
Pirámide de pruebas
Todas las pruebas se ejecutan desde la raíz del repositorio.
# Unit tests
pnpm test:unit
# Integration tests
pnpm test:integration
# MCP protocol end-to-end tests (real MCP client/server tool calls)
pnpm test:e2e:mcp
# Website end-to-end tests (Playwright; provisions/validates ephemeral DB first)
pnpm test:e2e:web
# Full end-to-end suite
pnpm test:e2e
# Full test pyramid (unit + integration + e2e; used in CI)
pnpm test
Estrategia de pruebas:
- Prefiere E2E para transporte/protocolo y comportamiento visible para el usuario.
- Usa pruebas de integración para contratos de herramientas deterministas y comportamiento de flujos de trabajo.
- Usa pruebas unitarias para lógica pura y casos límite.
- Evita depender de la disponibilidad de terceros en pruebas de fusión de cambios; simula dependencias externas en los niveles de integración/unitario.
Despliegue
Vercel despliega el servidor remoto automáticamente desde la configuración de la rama del repositorio. Los entornos de vista previa están disponibles para las solicitudes de extracción.
Telemetría
El servidor Neon MCP recopila analítica de producto e informes de errores para ayudarnos a comprender el uso y mejorar la fiabilidad:
- Analítica de producto (Segment): cuando te conectas con una cuenta autenticada, el servidor envía un evento
identifycon tu ID de cuenta de Neon, nombre y dirección de correo electrónico. También rastrea el inicio de sesión (server_init), cada llamada a herramienta (tool_call) y errores inesperados del servidor (server_error). Un evento de llamada a herramienta incluye el nombre de la herramienta, el método de autenticación y el cliente, no los argumentos de la herramienta ni los resultados de las consultas. Las llamadas a herramientas solo de documentación sin cuenta se rastrean de forma anónima. Los eventos se envían atrack.neon.tech, el propio endpoint de analítica de Neon. - Informe de errores (Sentry): los errores inesperados del servidor se informan con seguimientos de pila y contexto de solicitud.
Esta recopilación está cubierta por la Política de privacidad de Neon. Para deshabilitar la analítica al ejecutar el servidor tú mismo, establece NEON_MCP_DISABLE_ANALYTICS=1. Ese indicador no deshabilita Sentry.