Neon MCP Server
Interaja com bancos de dados Neon Postgres usando linguagem natural para gerenciar projetos, branches, consultas e migrações por meio da Neon API.
Documentação
Neon MCP Server
Neon MCP Server é uma ferramenta de código aberto que permite interagir com seus bancos de dados Lakebase Postgres na Neon em linguagem natural.
O Model Context Protocol (MCP) é um protocolo padronizado projetado para gerenciar contexto entre modelos de linguagem de grande porte (LLMs) e sistemas externos. Este repositório fornece um MCP Server remoto para Neon.
O servidor MCP da Neon atua como uma ponte entre solicitações em linguagem natural e a API da Neon. Construído sobre o MCP, ele traduz suas solicitações nas chamadas de API necessárias, permitindo gerenciar tarefas como criar projetos e branches, executar consultas e realizar migrações de banco de dados de forma integrada.
Alguns dos principais recursos do servidor MCP da Neon incluem:
- Interação em linguagem natural: Gerencie bancos de dados Neon usando comandos intuitivos e conversacionais.
- Gerenciamento simplificado de banco de dados: Execute ações complexas sem escrever SQL ou usar diretamente a API da Neon.
- Acessibilidade para não desenvolvedores: Capacite usuários com diferentes níveis de conhecimento técnico a interagir com bancos de dados Neon.
- Suporte a migração de banco de dados: Aproveite os recursos de branching da Neon para alterações de esquema de banco de dados iniciadas por meio de linguagem natural.
Por exemplo, no Claude Code ou em qualquer Cliente MCP, você pode usar linguagem natural para realizar tarefas com a 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]
Considerações de Segurança do Neon MCP Server
O Neon MCP Server concede recursos poderosos de gerenciamento de banco de dados por meio de solicitações em linguagem natural. Sempre revise e autorize as ações solicitadas pelo LLM antes da execução. Garanta que apenas usuários e aplicativos autorizados tenham acesso ao Neon MCP Server.O Neon MCP Server é destinado apenas para desenvolvimento local e integrações com IDEs. Não recomendamos o uso do Neon MCP Server em ambientes de produção. Ele pode executar operações poderosas que podem levar a alterações acidentais ou não autorizadas.
Para mais informações, consulte orientações de segurança do MCP →.
Configurando o Neon MCP Server
Existem algumas opções para configurar o Neon MCP Server:
- Configuração rápida com chave de API (Cursor, VS Code e Claude Code): Execute
neon@latest initpara configurar automaticamente o MCP Server da Neon, habilidades de agente e a extensão do VS Code com um único comando. - MCP Server remoto (autenticação baseada em OAuth): Conecte-se ao servidor MCP gerenciado da Neon usando OAuth para autenticação. Este método é mais conveniente, pois elimina a necessidade de gerenciar chaves de API. Além disso, você receberá automaticamente os recursos e melhorias mais recentes assim que forem lançados.
- MCP Server remoto (autenticação baseada em chave de API): Conecte-se ao servidor MCP gerenciado da Neon usando chave de API para autenticação. Este método é útil se você quiser conectar um agente remoto à Neon onde o OAuth não está disponível. Além disso, você receberá automaticamente os recursos e melhorias mais recentes assim que forem lançados.
Pré-requisitos
- Um aplicativo Cliente MCP.
- Uma conta Neon.
- Node.js (>= v18.0.0): Baixe em nodejs.org.
- Se o IP Allow estiver habilitado, adicione
34.192.103.46e23.22.233.166à sua lista de permissões (mcp.neon.techIPs estáticos).
Para desenvolvimento, você precisará do Node.js 22+ (pnpm é fornecido via Corepack — execute corepack enable para ativá-lo).
Opção 1. Configuração rápida com chave de API
Não quer criar uma chave de API manualmente?
Execute neon@latest init para configurar automaticamente o MCP Server da Neon com um único comando:
npx neon@latest init
Isso funciona com Cursor, VS Code (GitHub Copilot) e Claude Code. Ele autenticará via OAuth, criará uma chave de API da Neon para você e configurará seu editor automaticamente.
Opção 2. MCP Server remoto hospedado (autenticação baseada em OAuth)
Conecte-se ao servidor MCP gerenciado da Neon usando OAuth para autenticação. Esta é a configuração mais fácil, não requer instalação local deste servidor e não precisa de uma chave de API da Neon configurada no cliente.
Execute o seguinte comando para adicionar o Neon MCP Server para todos os agentes e editores detectados no seu espaço de trabalho:
npx add-mcp "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
Essa URL publica projetos, branches, endpoints de computação, consultas e esquemas. Visualize-a com /api/list-tools?category=projects&category=branches&category=endpoints&category=querying&category=schema. A URL sem filtro publica todas as categorias:
npx add-mcp https://mcp.neon.tech/mcp
Adicione o sinalizador -g para adicionar o Neon MCP Server à lista global de servidores MCP em vez de escopo de projeto.
Alternativamente, você pode adicionar a seguinte entrada "Neon" ao arquivo de configuração do servidor MCP do seu cliente (por exemplo, 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: Adicione o seguinte ao seu arquivo de configuração MCP do Kiro (~/.kiro/settings/mcp.json para global, ou .kiro/settings/mcp.json para escopo de projeto):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?category=projects&category=branches&category=endpoints&category=querying&category=schema"
}
}
}
Ou use o botão de instalação com um clique no topo deste README. Para mais informações, consulte a documentação MCP do Kiro.
- Reinicie ou atualize seu cliente MCP.
- Uma janela OAuth será aberta no seu navegador. Siga as instruções para autorizar seu cliente MCP a acessar sua conta Neon.
Com autenticação baseada em OAuth, o servidor MCP operará, por padrão, em projetos sob sua conta Neon pessoal. Para acessar ou gerenciar projetos que pertencem a uma organização, você deve fornecer explicitamente
org_idouproject_idno seu prompt para o cliente MCP.
Opção 3. MCP Server remoto hospedado (autenticação baseada em chave de API)
O MCP Server remoto também suporta autenticação usando uma chave de API no cabeçalho Authorization se o seu cliente suportar.
Crie uma chave de API da Neon no Console da Neon. Em seguida, execute o seguinte comando para adicionar o Neon MCP Server para todos os agentes e editores detectados no seu espaço de trabalho:
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, você pode adicionar a seguinte entrada "Neon" ao arquivo de configuração do servidor MCP do seu cliente (por exemplo, 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>"
}
}
}
}
Forneça uma chave de API de uma organização para limitar o acesso apenas aos projetos sob a organização.
Escopos e Modo Somente Leitura
O Neon MCP anuncia os escopos OAuth read e write. Seu cliente MCP pode solicitá-los, ou você pode fazer a seleção na interface de permissões OAuth. * é tratado como gravação se um cliente ainda o enviar.
O modo somente leitura restringe quais ferramentas estão disponíveis, desabilitando operações de gravação como criar projetos, branches ou executar migrações. As ferramentas somente leitura incluem listar projetos, descrever esquemas, consultar dados e visualizar métricas de desempenho.
Você pode definir o modo somente leitura de duas maneiras:
- URL MCP padrão (consentimento editável): Conecte-se com
https://mcp.neon.tech/mcpe desmarque Permitir gravações na página de autorização. Você também pode escolher um projeto e um subconjunto de categorias de ferramentas lá. - URL MCP parametrizada (consentimento fixo): Coloque
readonly,projectIde/oucategoryna URL do servidor MCP. A página de autorização confirma essa concessão e não oferece editores. Altere a URL e autorize novamente para alterar a concessão.
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true"
}
}
}
Como o parâmetro de consulta se comporta:
- Fluxo de chave de API:
readonly=trueé a maneira de habilitar o modo somente leitura (não há troca de escopo OAuth neste fluxo). As alterações de URL são aplicadas na próxima solicitação. - Fluxo OAuth:
projectId,categoryereadonlyna URL MCP são uma concessão fixa confirmada na autorização.readonly=truenão pode ser ampliado para gravações nessa página. Após a emissão de um token, alterar a URL não amplia esse token; autorize novamente.
Para registro OAuth, x-read-only é um padrão inicial de Permitir gravações no consentimento editável. Ele não bloqueia a confirmação e não reduz uma URL parametrizada que inclui readonly=false. Solicitações com chave de API ainda honram x-read-only por solicitação, abaixo do parâmetro de consulta readonly.
Nota: O modo somente leitura restringe quais ferramentas estão disponíveis. Além disso, a ferramenta
run_sqlpermanece disponível apenas para consultas somente leitura.
Parâmetros de Consulta de URL para Controle de Acesso
O contexto de concessão (categorias de escopo, escopo de projeto, modo somente leitura) é configurado por meio de parâmetros de consulta de URL na URL do servidor MCP. Solicitações com chave de API aplicam esses parâmetros em cada solicitação. Tokens OAuth armazenam a concessão confirmada ou editada na autorização.
| Parâmetro | Descrição | Exemplo |
|---|---|---|
readonly | Habilita o modo somente leitura (true/false) | ?readonly=true |
category | Restringe a categorias específicas de ferramentas (repetido ou CSV) | ?category=querying&category=schema |
projectId | Escopa todas as operações a um único projeto | ?projectId=proj-123 |
Exemplo de somente leitura + escopo de projeto:
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true&projectId=my-project-id"
}
}
}
Exemplo de filtro por categoria (apenas ferramentas de consulta e esquema):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?category=querying&category=schema"
}
}
}
Você pode visualizar quais ferramentas estão visíveis para qualquer configuração usando o endpoint /api/list-tools (sem necessidade de autenticação):
curl "https://mcp.neon.tech/api/list-tools?readonly=true&category=querying"
Ferramentas disponíveis no modo somente leitura
Ferramentas 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.
Ferramentas geradas da Management API que são GET e não retornam segredos, além de query_logs (POST, somente leitura). Visualize o conjunto exato com /api/list-tools?readonly=true.
Ferramentas que exigem acesso de gravação:
- Gravações geradas da Management API (
create_project,create_branch,delete_project, …) get_connection_string(a string de conexão carrega uma senha de função privilegiada, portanto é retida no modo somente leitura; copie-a do Console da Neon em vez disso)prepare_database_migration,complete_database_migrationprepare_query_tuning,complete_query_tuning
Transporte Server-Sent Events (SSE) (Obsoleto)
O MCP suporta dois transportes de servidor remoto: o obsoleto Server-Sent Events (SSE) e o mais novo e recomendado Streamable HTTP. Se o seu cliente LLM ainda não suporta Streamable HTTP, você pode alternar o endpoint de https://mcp.neon.tech/mcp para https://mcp.neon.tech/sse para usar SSE.
Execute o seguinte comando para adicionar o Neon MCP Server para todos os agentes e editores detectados no seu espaço de trabalho usando o transporte SSE:
npx add-mcp https://mcp.neon.tech/sse --type sse
Arquitetura do Servidor Remoto
O servidor remoto é executado como um aplicativo Next.js App Router na Vercel em mcp.neon.tech.
[!NOTE] O caminho raiz
/redireciona para a documentação do Neon MCP Server. Não há página de destino.
Áreas principais de implementação:
app/api/[transport]/route.ts: endpoint de transporte MCP para Streamable HTTP (/mcp) e SSE (/sse)app/api/authorize/,app/callback/,app/api/token/,app/api/revoke/: endpoints do fluxo OAuthapp/.well-known/: endpoints de metadados de descoberta OAuthmcp/: servidor MCP, ferramentas, manipuladores, análises e integração Sentrylib/: auxiliares compatíveis com Next.js (OAuth, configuração, tratamento de erros)mcp/utils/read-only.ts: modo somente leitura e tratamento de escopo
Guias
- Guia do Neon MCP Server
- Conectar Clientes MCP ao Neon
- Cursor com Neon MCP Server
- Claude Code com Neon MCP Server
- Claude Desktop com Neon MCP Server
- Cline com Neon MCP Server
- Windsurf com Neon MCP Server
- Zed com Neon MCP Server
Recursos
Ferramentas Suportadas
O Neon MCP Server fornece as seguintes ações, que são expostas como "ferramentas" para Clientes MCP. Você pode usar essas ferramentas para interagir com seus projetos e bancos de dados Neon usando comandos em linguagem natural.
Metadados de Escopo da Ferramenta
Cada definição de ferramenta inclui uma categoria scope usada para filtragem de ferramentas baseada em concessões e UX de consentimento. As categorias atuais são:
projectsbranchesendpointssnapshotsschemaqueryingneon_authdata_apiobservabilitydocsfunctionsstoragenull(ferramentas sem categoria de escopo)
Observações:
- As ferramentas da Management API vêm de
@neon/tools. Os seletores são caminhos de SDK (projects.list); os nomes MCP publicados são verbo-primeiro (list_projects,delete_project,query_logs). Nomes históricos permanecem onde já existiam (describe_project,create_branch,reset_from_parent,compare_database_schema,provision_neon_auth,provision_neon_data_api,list_branch_computes). ?category=branchesinclui ferramentas de branch, role e banco de dados (list_postgres_roles,create_postgres_database, …). Um token já emitido parabranchesganha essas gravações. A listagem de computação é?category=endpoints. A restauração de snapshot é?category=snapshots.- Gravações de membros de projeto e permissões não são publicadas.
list_project_memberselist_project_permissionssão leituras. - Ferramentas de schema (
?category=schema) são as ferramentas hostget_database_tablesedescribe_table_schema, além docompare_database_schemagerado. - A aplicação de somente leitura ainda depende de
readOnlySafee da lógica de somente leitura no servidor;scopeé metadado de categoria, não um interruptor independente de leitura/gravação. - No modo com escopo de projeto (
?projectId=...), ferramentas sem caminho de projeto (list_projects,create_project,list_organizations,list_regions,search,fetch, …) ficam ocultas.delete_projecttambém fica oculto.
Gerenciamento de Projetos:
list_projects: Lista projetos Neon.limitlimita quantos itens são retornados.describe_project: Busca um projeto Neon por id ({ "project_id": "…" }).create_project: Cria um projeto Neon e aguarda a computação padrão. Não retorna uma string de conexão. Os argumentos são{ "name": "…", "org_id": "…", "region_id": "…" }. Chameget_connection_stringapós o sucesso.delete_project: Exclui um projeto Neon existente. Os argumentos são{ "project_id": "…" }.list_organizations: Lista todas as organizações às quais o usuário atual tem acesso. Opcionalmente, filtre por nome ou ID da organização usando o parâmetro de busca.
Gerenciamento de Branches:
list_branches: Lista branches em um projeto. Use para resolver um nome de branch para um id debr-….list_credentials,create_credential,revoke_credential,rotate_credential: Credenciais com escopo de branch para Object Storage e o AI Gateway.revealnão é uma ferramenta; a rotação substitui segredos no lugar e não é idempotente.create_branch: Cria um branch com computação de leitura/gravação e aguarda até estar pronto. Não retorna uma string de conexão. Os argumentos são{ "project_id": "…", "name": "feature-x" }. Passeno_compute: truepara pular o endpoint. Chameget_connection_stringapós o sucesso.reset_from_parent: Redefine um branch para o HEAD atual do pai ({ "project_id": "…", "branch_id": "br-…" }). Descarta gravações desde que o branch divergiu.preserve_under_nameé necessário quando o branch tem filhos; esses filhos se movem para o novo branch. Apenas HEAD do pai; restauração point-in-time érestore_snapshot.delete_branch: Exclui um branch ({ "project_id": "…", "branch_id": "br-…" }).describe_branch: Recupera uma árvore de bancos de dados, schemas, tabelas, views e funções em um branch.- Ferramentas de branch geradas usam
branch_idcomo um id de branch (br-...), não um nome. restore_snapshot: Restaura um snapshot. Passetarget_branch_idpara restaurar em um branch existente; omita para criar um novo.
Endpoints de computação (?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
Snapshots (?category=snapshots):
list_snapshots,get_snapshot_schedule,set_snapshot_schedule,create_snapshot,update_snapshot,delete_snapshot,restore_snapshot
Schema (?category=schema):
get_database_tables,describe_table_schemacompare_database_schema: Diff de schema SQL de um banco de dados contra outro branch.database_nameé obrigatório. Omitirbase_branch_idcompara contra o pai. Opcionaislsn,timestamp,base_lsn,base_timestampsão apenas point-in-time.
Execução de Consultas SQL:
get_connection_string: Retorna sua string de conexão do banco de dados.run_sql: Executa uma única consulta SQL em um banco de dados Neon especificado. Suporta operações de leitura e gravação.run_sql_transaction: Executa uma série de consultas SQL em uma única transação em um banco de dados Neon.get_database_tables: Lista todas as tabelas em um banco de dados Neon especificado.describe_table_schema: Recupera a definição de schema de uma tabela específica, detalhando colunas, tipos de dados e restrições.
Migrações de Banco de Dados (Alterações de Schema):
prepare_database_migration: Inicia um processo de migração de banco de dados. Criticamente, cria um branch temporário para aplicar e testar a migração com segurança antes de afetar o branch principal.complete_database_migration: Finaliza e aplica uma migração de banco de dados preparada ao branch principal. Esta ação mescla alterações do branch de migração temporário e limpa recursos temporários.
Consultas e Otimização SQL:
inspect_database: Executa um dos 15 diagnósticos Postgres somente leitura predefinidos em um branch — tamanhos de relação e índice, uso de índice e varredura sequencial, consultas e locks ativos, consultas mais pesadas e frequentes, taxa de acerto de cache e tamanho do working set, estimativas de autovacuum e bloat, e estado de replicação. Mesmas verificações que o comando CLIneon inspect db. Omitadatabase_namepara cobrir todos os bancos de dados no branch; passe um nome para inspecionar um. Quatro deles precisam da extensãopg_stat_statementsouneon.list_slow_queries: Identifica gargalos de desempenho encontrando as consultas mais lentas em um banco de dados. Requer a extensão pg_stat_statements.explain_sql_statement: Fornece planos de execução detalhados para consultas SQL para ajudar a identificar gargalos de desempenho.prepare_query_tuning: Analisa o desempenho de consultas e sugere otimizações, como criação de índices. Cria um branch temporário para testar essas otimizações com segurança.complete_query_tuning: Finaliza o ajuste de consultas aplicando otimizações ao branch principal ou descartando-as. Limpa o branch de ajuste temporário.
Neon Auth (?category=neon_auth):
provision_neon_auth,get_auth,disable_auth,update_auth_configget_neon_auth_config: ferramenta host; segredos redigidos. Use ferramentas de gravação Auth geradas para alterar configurações.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
Neon Data API (?category=data_api):
provision_neon_data_api,get_data_api,update_data_api,delete_data_api: Gerencie a Data API para um banco de dados de branch.
Busca e Descoberta:
search: Busca em organizações, projetos e branches que correspondem a uma consulta. Retorna IDs, títulos e links diretos para o Neon Console.fetch: Busca informações detalhadas sobre uma organização, projeto ou branch específico usando um ID (normalmente da ferramenta de busca).
Observabilidade (?category=observability): essas ferramentas exigem o Neon Platform Beta e atualmente estão disponíveis apenas para projetos na região aws-us-east-2. Um branch sem acesso a logs retorna HTTP 404 com o motivo telemetry_not_enabled.
query_logs: Consulta logs OpenTelemetry para um branch. POST na Management API; tratado como somente leitura por este servidor.list_log_fields: Lista os campos de log para os quais você pode enumerar valores em um branch.list_log_field_values: Lista os valores distintos de um campo de log dentro de um branch e janela de tempo.
Documentação e Recursos (?category=docs):
list_docs_resources: Lista todas as páginas de documentação Neon disponíveis buscando o índice dehttps://neon.com/docs/llms.txt. Retorna URLs e títulos de páginas que podem ser buscados individualmente usando a ferramentaget_doc_resource.get_doc_resource: Busca uma página específica de documentação Neon como conteúdo markdown. Use a ferramentalist_docs_resourcesprimeiro para descobrir slugs de páginas disponíveis, depois passe o slug para esta ferramenta.
Funções (?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: Gatilhos de função agendados (type: "schedule", cron UTC de cinco campos).
Armazenamento (?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
Migrações
Migrações são uma forma de gerenciar alterações no schema do seu banco de dados ao longo do tempo. Com o servidor Neon MCP, LLMs são capacitados a fazer migrações com segurança usando comandos separados de "Iniciar" (prepare_database_migration) e "Confirmar" (complete_database_migration).
O comando "Iniciar" aceita uma migração e a executa em um novo branch temporário. Ao retornar, este comando sugere ao LLM que ele deve testar a migração neste branch. O LLM pode então executar o comando "Confirmar" para aplicar a migração ao branch original.
Desenvolvimento
Este projeto usa pnpm como gerenciador de pacotes, fixado via Corepack.
Estrutura do Projeto
O código do servidor MCP fica na raiz do repositório, uma aplicação Next.js implantada na Vercel em mcp.neon.tech.
corepack enable
pnpm install
Veja CONTRIBUTING.md para saber como adicionar ferramentas. Os argumentos das ferramentas são snake_case.
Desenvolvimento Local
# Start the Next.js dev server (for the remote MCP server)
pnpm dev
Linting e Verificação de Tipos
pnpm lint
pnpm typecheck
Variáveis de Ambiente
Obrigatórias para o runtime do servidor remoto:
| Variável | Descrição |
|---|---|
SERVER_HOST | URL do servidor (padrão é VERCEL_URL) |
UPSTREAM_OAUTH_HOST | URL do provedor OAuth Neon |
CLIENT_ID | ID do cliente OAuth |
CLIENT_SECRET | Segredo do cliente OAuth |
KV_URL | URL do Vercel KV (Upstash Redis) |
OAUTH_DATABASE_URL | URL Postgres para armazenamento de tokens |
Opcional:
| Variável | Descrição |
|---|---|
LOG_LEVEL | Nível de log do Winston: error, warn, info (padrão), debug, verbose, silly |
NEON_MCP_DISABLE_ANALYTICS | Defina como 1 para desativar a análise de produto |
Pirâmide de Testes
Todos os testes são executados a partir da raiz do repositório.
# 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
Estratégia de testes:
- Prefira E2E para transporte/protocolo e comportamento visível ao usuário.
- Use testes de integração para contratos de ferramentas determinísticos e comportamento de fluxo de trabalho.
- Use testes unitários para lógica pura e casos de borda.
- Evite depender da disponibilidade de terceiros em testes de bloqueio de merge; simule dependências externas nos níveis de integração/unitário.
Implantação
A Vercel implanta o servidor remoto automaticamente a partir da configuração da branch do repositório. Ambientes de pré-visualização estão disponíveis para pull requests.
Telemetria
O servidor Neon MCP coleta análises de produto e relatórios de erros para nos ajudar a entender o uso e melhorar a confiabilidade:
- Análise de produto (Segment): quando você se conecta com uma conta autenticada, o servidor envia um evento
identifycom seu ID de conta Neon, nome e endereço de e-mail. Ele também rastreia o início da sessão (server_init), cada chamada de ferramenta (tool_call) e erros inesperados do servidor (server_error). Um evento de chamada de ferramenta inclui o nome da ferramenta, método de autenticação e cliente, não os argumentos da ferramenta ou resultados de consulta. Chamadas de ferramentas somente de documentação sem conta são rastreadas anonimamente. Os eventos vão paratrack.neon.tech, o endpoint de análise da própria Neon. - Relatório de erros (Sentry): erros inesperados do servidor são relatados com rastreamentos de pilha e contexto de solicitação.
Esta coleta é coberta pela Política de Privacidade da Neon. Para desativar a análise ao executar o servidor você mesmo, defina NEON_MCP_DISABLE_ANALYTICS=1. Essa flag não desativa o Sentry.