Skip to main content
Glama

Neon MCP 服务器

Neon MCP Server是一个开源工具,可让您使用自然语言与 Neon Postgres 数据库进行交互。

npm 版本 npm 下载 许可证:MIT 铁匠徽章

模型上下文协议 (MCP) 是一种全新的标准化协议,旨在管理大型语言模型 (LLM) 与外部系统之间的上下文。本仓库提供了Neon的安装程序和 MCP 服务器。

Neon 的 MCP 服务器充当自然语言请求和Neon API之间的桥梁。它基于 MCP 构建,将您的请求转换为必要的 API 调用,使您能够无缝地管理创建项目和分支、运行查询以及执行数据库迁移等任务。

Neon MCP 服务器的一些主要功能包括:

  • **自然语言交互:**使用直观的对话命令管理 Neon 数据库。

  • **简化的数据库管理:**无需编写 SQL 或直接使用 Neon API 即可执行复杂的操作。

  • **非开发人员的可访问性:**使具有不同技术背景的用户能够与 Neon 数据库进行交互。

  • **数据库迁移支持:**利用 Neon 的分支功能通过自然语言发起数据库模式更改。

例如,在 Claude Desktop 或任何 MCP 客户端中,您可以使用自然语言通过 Neon 完成以下操作:

  • 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?

[!笔记]
Neon MCP 服务器通过自然语言请求提供强大的数据库管理功能。请务必在执行 LLM 请求的操作之前对其进行审核和授权。确保只有授权用户和应用程序才能访问 Neon MCP 服务器和 Neon API 密钥。

设置 Neon MCP 服务器

您可以通过两种方式将 MCP 客户端连接到 Neon:

  1. **远程 MCP 服务器(预览版):**使用 OAuth 身份验证连接到 Neon 托管的 MCP 服务器。此方法更加便捷,无需管理 API 密钥。此外,您将自动收到最新功能和改进,并立即获得更新。

  2. **本地 MCP 服务器:**在您的机器上本地运行 Neon MCP 服务器,并使用 Neon API 密钥进行身份验证。

Related MCP server: Neo4j MCP Clients & Servers

先决条件

  • MCP 客户端应用程序。

  • 一个Neon 帐户

  • **Node.js(>= v18.0.0)和 npm:**从nodejs.org下载。

要设置本地 MCP 服务器,您还需要一个 Neon API 密钥。请参阅Neon API 密钥文档,了解如何生成密钥。

选项 1. 远程托管 MCP 服务器(预览版)

使用 OAuth 连接到 Neon 托管的 MCP 服务器进行身份验证。这是最简单的设置,无需在本地安装此服务器,也不需要在客户端配置 Neon API 密钥。

  • 将以下“Neon”条目添加到客户端的 MCP 服务器配置文件(例如mcp.jsonmcp_config.json ):

    { "mcpServers": { "Neon": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.neon.tech/sse"] } } }
  • 保存配置文件。

  • 重新启动或刷新您的 MCP 客户端。

  • 您的浏览器中将打开一个 OAuth 窗口。按照提示授权您的 MCP 客户端访问您的 Neon 帐户。

选项 2. 本地 MCP 服务器

在本地机器上运行 Neon MCP 服务器。

通过 Smithery 设置:

npx -y @smithery/cli@latest install neon --client <client_name>

系统将提示您输入 Neon API 密钥。请输入您在先决条件部分获取的 API 密钥。将<client_name>替换为您的 MCP 客户端应用程序名称。支持的客户端名称包括:

安装后重新启动 MCP 客户端。

通过 npm 设置

如果您的 MCP 客户端未在此处列出,您可以手动将 Neon MCP 服务器详细信息添加到客户端的mcp_config文件中。

在客户端的mcp_config文件的mcpServers部分中添加以下 JSON 配置,将<YOUR_NEON_API_KEY>替换为您的实际 Neon API 密钥:

{ "mcpServers": { "neon": { "command": "npx", "args": [ "-y", "@neondatabase/mcp-server-neon", "start", "<YOUR_NEON_API_KEY>" ] } } }

故障排除

如果您的客户端不使用JSON来配置 MCP 服务器(例如旧版本的 Cursor),您可以在出现提示时使用以下命令:

npx -y @neondatabase/mcp-server-neon start <YOUR_NEON_API_KEY>

Windows 上的故障排除

如果您使用的是 Windows,并且在添加 MCP 服务器时遇到问题,则可能需要使用命令提示符 ( cmd ) 或适用于 Linux 的 Windows 子系统 ( wsl ) 来运行必要的命令。您的配置设置可能类似于以下内容:

{ "mcpServers": { "neon": { "command": "cmd", "args": [ "/c", "npx", "-y", "@neondatabase/mcp-server-neon", "start", "<YOUR_NEON_API_KEY>" ] } } }
{ "mcpServers": { "neon": { "command": "wsl", "args": [ "npx", "-y", "@neondatabase/mcp-server-neon", "start", "<YOUR_NEON_API_KEY>" ] } } }

指南

特征

支持的工具

Neon MCP 服务器提供以下操作,这些操作作为“工具”提供给 MCP 客户端。您可以使用这些工具通过自然语言命令与您的 Neon 项目和数据库进行交互。

项目管理:

  • list_projects :检索您的 Neon 项目列表,提供与您的 Neon 帐户关联的每个项目的摘要。支持限制返回的项目数量(默认值:10)。

  • describe_project :获取有关特定 Neon 项目的详细信息,包括其 ID、名称以及相关分支和数据库。

  • create_project :在您的 Neon 帐户中创建一个新的 Neon 项目。项目充当分支、数据库、角色和计算资源的容器。

  • delete_project :删除现有的 Neon 项目及其所有相关资源。

分行管理:

  • create_branch :在指定的 Neon 项目中创建一个新的分支。利用Neon 的分支功能进行开发、测试或迁移。

  • delete_branch :从 Neon 项目中删除现有分支。

  • describe_branch :检索有关特定分支的详细信息,例如其名称、ID 和父分支。

  • list_branch_computes :列出项目或特定分支的计算端点,包括计算 ID、类型、大小和自动缩放信息。

SQL查询执行:

  • get_connection_string :返回数据库连接字符串。

  • run_sql :针对指定的 Neon 数据库执行单个 SQL 查询。支持读写操作。

  • run_sql_transaction :针对 Neon 数据库在单个事务中执行一系列 SQL 查询。

  • get_database_tables :列出指定 Neon 数据库中的所有表。

  • describe_table_schema :检索特定表的模式定义,详细说明列、数据类型和约束。

  • list_slow_queries :通过查找数据库中最慢的查询来识别性能瓶颈。需要 pg_stat_statements 扩展。

数据库迁移(架构更改):

  • prepare_database_migration :启动数据库迁移过程。关键的是,它会创建一个临时分支,以便在迁移影响主分支之前安全地应用和测试迁移。

  • complete_database_migration :完成并应用已准备好的数据库迁移到主分支。此操作会合并临时迁移分支中的更改并清理临时资源。

查询性能调整:

  • explain_sql_statement :分析 SQL 查询并返回详细的执行计划信息,以帮助了解查询性能。

  • prepare_query_tuning :识别 SQL 查询中潜在的性能问题并提出优化建议。创建一个临时分支来测试改进效果。

  • complete_query_tuning :测试后完成并应用查询优化。将临时调整分支中的更改合并到主分支。

Neon Auth:

  • provision_neon_auth :为 Neon 项目配置 Neon Auth 的操作。它允许开发者通过与 Stack Auth ( @stackframe/stack ) 集成,轻松设置身份验证基础架构。

迁移

迁移是一种管理数据库架构随时间变化的方法。借助 Neon MCP 服务器,LLM 可以使用单独的“启动”( prepare_database_migration ) 和“提交”( complete_database_migration ) 命令安全地执行迁移。

“Start”命令接受迁移并在新的临时分支中运行它。返回后,此命令会提示LLM应该在此分支上测试迁移。然后,LLM可以运行“Commit”命令将迁移应用到原始分支。

发展

使用 MCP CLI 客户端进行开发

在 MCP Server 上进行迭代最简单的方法是使用mcp-client/ 。了解更多信息,请参阅mcp-client/README.md

npm install npm run build npm run watch # You can keep this open. cd mcp-client/ && NEON_API_KEY=... npm run start:mcp-server-neon

使用 Claude Desktop(本地 MCP 服务器)进行开发

npm install npm run build npm run watch # You can keep this open. node dist/index.js init $NEON_API_KEY

然后,每次想要测试更改时重新启动 Claude

测试

要运行测试,您需要根据.env.example文件设置.env文件。

npm run test
-
security - not tested
A
license - permissive license
-
quality - not tested

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/neondatabase-labs/mcp-server-neon'

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