Autoscaling Report: Production databases on Neon use 2.4x less compute and 50% less cost than if they were running on a provisioned platform.

Get started with Zed and Neon Postgres MCP Server

Make schema changes with natural language using Zed and Neon MCP Server

This guide shows how to use Zed with the Neon MCP Server to manage your Neon databases.

Security

The Neon MCP Server grants broad database management capabilities. Always review and authorize actions requested by the LLM before execution. See MCP security guidance.

Setting up Neon MCP Server in Zed

Prerequisites

Make sure you have:

  1. Zed editor: Download and install Zed from zed.dev.

  2. A Neon account and project: You'll need a Neon account and a project. You can create a new Neon project in the Neon Console

  3. Neon API Key (for Local MCP server): After signing up, get your Neon API Key from the Neon console. This API key is needed to authenticate your application with Neon. For instructions, see Manage API keys.

    Neon API Key Security

    Keep your Neon API key secure, and never share it publicly. It provides access to your Neon projects.

  4. Node.js (>= v18) and npm: Ensure Node.js (version 18 or later) and npm are installed. Download them from nodejs.org.

Option 1: Setting up the Remote Hosted Neon MCP Server

note

By default, the Remote MCP Server connects to your personal Neon account. To connect to an organization's account, you must authenticate with an API key. For more information, see API key-based authentication.

  1. Open Zed.

  2. Click the Assistant (✨) icon in the bottom right corner of Zed. Zed Assistant icon

  3. Click Add custom server in the top right panel of the Assistant. Zed add custom server

  4. Enter the following configuration for the Neon MCP server in the JSON input field.

    {
      "Neon": {
        "command": "npx",
        "args": ["-y", "mcp-remote", "https://mcp.neon.tech/mcp"],
        "env": {}
      }
    }

    Zed add Neon Remote MCP server

  5. Click Add Server.

  6. An OAuth window will open. Follow the prompts to authorize Zed to access your Neon account Neon OAuth window

  7. Check the Model Context Protocol (MCP) Servers section in Zed Settings to ensure the connection is successful. Neon should be listed as an MCP server. Zed with Neon MCP

Option 2: Setting up the Local Neon MCP Server

This method runs the Neon MCP server locally on your machine, using a Neon API key for authentication.

  1. Open Zed.
  2. Click the Assistant (✨) icon in the bottom right corner of Zed. Zed Assistant icon
  3. Click Add custom server in the top right panel of the Assistant. Zed add custom server
  4. Enter the following configuration for the Neon MCP server in the JSON input field.
    {
      "Neon": {
        "command": "npx",
        "args": ["-y", "@neondatabase/mcp-server-neon", "start", "<YOUR_NEON_API_KEY>"],
        "env": {}
      }
    }
    Zed add Neon Local MCP server
  5. Click Add Server.
  6. Check the Model Context Protocol (MCP) Servers section in Zed Settings to ensure the connection is successful. Neon should be listed as an MCP server. Zed with Neon MCP

Verification

Verify the connection:

  1. Open Zed Assistant.

  2. Type List my Neon projects in the Assistant text field. Zed list neon projects

  3. When prompted, click Allow to authorize the tool to access your Neon project. Zed allow tool access

  4. Zed will use the list_projects MCP tool to retrieve and display your Neon projects, including project ID, name, and other details. Zed list projects

Troubleshooting

If you experience issues adding an MCP server from the Assistant panel, you can also do so through the Settings. Follow these steps:

  1. Open the ~/.config/zed/settings.json file. You can access this file by clicking on Settings in the Zed menu bar.
  2. Add the following context_servers section to the file.
"context_servers": {
    "Neon": {
      "source": "custom",
      "enabled": true,
      "command": "npx",
      "args": [ "-y", "mcp-remote", "https://mcp.neon.tech/mcp" ],
      "env": {}
    }
}

Troubleshooting on Windows

If you are using Windows, and you encounter issues with the command line, you may need to adjust the command to use cmd or wsl to run the MCP server. For example, here's how you can set it up:

"context_servers": {
   "neon": {
      "command": {
         "path": "cmd",
         "args": ["/c", "npx", "-y", "@neondatabase/mcp-server-neon", "start", "<YOUR_NEON_API_KEY>"],
         "env": null
      },
      "settings": {}
   }
}

For a full list of available tools, see available tools in the Neon MCP Server overview.

Development Workflow: Adding a Column with Zed and Neon MCP

Here's an example interaction adding a created_at column to a table:

Zed listing projects

User: List my neon projects
Zed: I'll use the list_projects tool to show your Neon projects.
> Run MCP tool `list_projects`
> You have one Neon project:
> Name: mcp
> Project ID: red-math-82356803
> Region: aws-ap-southeast-1
> ...other details...

User: what tables are present in it?
Zed: I'll use the `get_database_tables` tool to list the tables in your project. I'll use the project ID we just found.
> Run MCP tool `get_database_tables`
> There is one table in your project's database:
> Schema: public
> Table Name: `playing_with_neon`
> Type: Base Table
> Let me fetch the details of this table's schema so you can see its structure:
> Run MCP tool `describe_table_schema`
> The "playing_with_neon" table has three columns:
> 1. id: An auto-incrementing integer (primary key)
> 2. value: A real (floating-point) number that can be null
> 3. name: A text field that cannot be null

Would you like to see the data in this table or perform any operations on it?

Zed showing table schema

User: Can you show me first 5 rows in it?
Zed: I'll query the first 5 rows from the playing_with_neon table:
> Run MCP tool `run_sql`
> xxx (table rows are returned by Zed)

User: can you add a created_at column to the table?
Zed: I'll use the prepare_database_migration tool to add a created_at column to the playing_with_neon table:
> Run MCP tool `prepare_database_migration`
> I've added the `created_at` column in a temporary branch. Let me verify the change by checking the table structure:
> Run MCP tool `run_sql`
> I've verified that the created_at column has been successfully added in the temporary branch.
> Migration Details:
> - Migration ID: a78e2a3b-8498-48a0-9c7a-2dec30da84bc
> - Temporary Branch Name: br-royal-mode-a1nfvzag
> - Temporary Branch ID: br-royal-mode-a1nfvzag
> - Migration Result: Success
> Would you like to commit this migration to the production branch?

User: yes do it
Zed: I'll complete the migration using the provided migration ID:
> Run MCP tool `complete_database_migration`
> The migration has been successfully completed. The `created_at` column has been added to the `playing_with_neon` table in the production branch, and the temporary branch has been deleted.

Zed completing migration

You can verify the changes in your Neon Console or by querying the database directly.

Neon Console with added column

note

While the Neon MCP server allows you to use all of Neon's functionalities, you can also use a generic Postgres MCP server to connect to Neon.

Resources

Need help?

Join our Discord Server to ask questions or see what others are doing with Neon. For paid plan support options, see Support.

Was this page helpful?
Edit on GitHub

On this page

Copy neon init command

Author

Dhanush Reddy
Software Engineer