mirror of
https://github.com/block/goose.git
synced 2026-04-29 12:09:38 +00:00
200 lines
6 KiB
Markdown
200 lines
6 KiB
Markdown
---
|
|
title: Neon Extension
|
|
description: Add Neon MCP Server as a Goose Extension
|
|
---
|
|
|
|
import Tabs from '@theme/Tabs';
|
|
import TabItem from '@theme/TabItem';
|
|
import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions';
|
|
import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
|
|
import { PanelLeft } from 'lucide-react';
|
|
|
|
This tutorial covers how to add the [Neon MCP Server](https://github.com/neondatabase/mcp-server-neon) as a Goose extension to interact with your Neon Postgres databases and manage your projects, branches, and more.
|
|
|
|
Neon offers two versions of the MCP server:
|
|
|
|
1. **Remote MCP server** hosted by Neon, which redirects you to neon.com to sign in to your Neon account.
|
|
2. **Local MCP server** that you can run on your own machine using an API key to connect with a specific organization or your personal account.
|
|
|
|
:::warning Security Note
|
|
The Neon MCP Server grants powerful database management capabilities and is intended for local development only - always review LLM-requested actions before execution and avoid using in production environments.
|
|
:::
|
|
|
|
## Configuration
|
|
|
|
<Tabs groupId="remote-or-local">
|
|
<TabItem value="remote" label="Neon Remote MCP" default>
|
|
:::tip TLDR
|
|
<Tabs groupId="interface">
|
|
<TabItem value="ui" label="goose Desktop" default>
|
|
[Launch the installer](goose://extension?type=streamable_http&url=https%3A%2F%2Fmcp.neon.tech%2Fmcp&id=neon&name=Neon&description=Manage%20Neon%20Postgres%20databases%2C%20projects%2C%20and%20branches)
|
|
</TabItem>
|
|
<TabItem value="cli" label="goose CLI">
|
|
Use `goose configure` to add a `Remote Extension (Streaming HTTP)` extension type with:
|
|
|
|
**Endpoint URL**
|
|
```
|
|
https://mcp.neon.tech/mcp
|
|
```
|
|
</TabItem>
|
|
</Tabs>
|
|
:::
|
|
|
|
:::info OAUTH FLOW
|
|
An OAuth window will open in your browser. Follow the prompts to authorize access to your Neon account.
|
|
:::
|
|
|
|
<Tabs groupId="interface">
|
|
<TabItem value="ui" label="goose Desktop" default>
|
|
<GooseDesktopInstaller
|
|
extensionId="neon"
|
|
extensionName="Neon"
|
|
description="Manage Neon Postgres databases, projects, and branches"
|
|
type="http"
|
|
url="https://mcp.neon.tech/mcp"
|
|
/>
|
|
</TabItem>
|
|
<TabItem value="cli" label="goose CLI">
|
|
<CLIExtensionInstructions
|
|
name="neon-mcp-remote"
|
|
type="http"
|
|
url="https://mcp.neon.tech/mcp"
|
|
timeout={300}
|
|
/>
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
</TabItem>
|
|
|
|
<TabItem value="local" label="Neon Local MCP">
|
|
:::tip TLDR
|
|
<Tabs groupId="interface">
|
|
<TabItem value="ui" label="goose Desktop" default>
|
|
[Launch the installer](goose://extension?cmd=npx&arg=-y&arg=%40neondatabase%2Fmcp-server-neon&arg=start&arg=%3CYOUR_NEON_API_KEY%3E&id=neon&name=Neon&description=Manage%20your%20Neon%20Postgres%20databases%2C%20projects%2C%20and%20branches)
|
|
</TabItem>
|
|
<TabItem value="cli" label="goose CLI">
|
|
**Command**
|
|
```sh
|
|
npx -y @neondatabase/mcp-server-neon start <YOUR_NEON_API_KEY>
|
|
```
|
|
|
|
No environment variables are needed.
|
|
</TabItem>
|
|
</Tabs>
|
|
:::
|
|
|
|
:::info Prerequisites
|
|
|
|
- [Node.js](https://nodejs.org/) (v18.0.0 or higher) installed on your system to run this command, as it uses `npx`
|
|
- Neon API key to authenticate the Neon MCP Server with your Neon account. You can create one from the [Neon Console](https://console.neon.tech) under your Profile settings. Refer to the [Neon documentation on API Keys](https://neon.com/docs/manage/api-keys#creating-api-keys) for detailed instructions.
|
|
:::
|
|
|
|
<Tabs groupId="interface">
|
|
<TabItem value="ui" label="goose Desktop" default>
|
|
<GooseDesktopInstaller
|
|
extensionId="neon"
|
|
extensionName="Neon"
|
|
description="Manage your Neon Postgres databases, projects, and branches"
|
|
command="npx"
|
|
args={["-y", "@neondatabase/mcp-server-neon", "start", "<YOUR_NEON_API_KEY>"]}
|
|
/>
|
|
</TabItem>
|
|
|
|
<TabItem value="cli" label="goose CLI">
|
|
<CLIExtensionInstructions
|
|
name="Neon MCP"
|
|
command="npx -y @neondatabase/mcp-server-neon start <YOUR_NEON_API_KEY>"
|
|
timeout={300}
|
|
/>
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
For all setup and configuration options, see the [official Neon MCP Server documentation](https://neon.com/docs/ai/neon-mcp-server).
|
|
|
|
## Example Usage 1
|
|
|
|
Get an overview of all your Neon database projects and their configurations.
|
|
|
|
### Goose Prompt
|
|
|
|
```
|
|
List my Neon projects
|
|
```
|
|
|
|
### Goose Output
|
|
|
|
```
|
|
I'll help you list your Neon projects using the neon__list_projects tool. By default, it will show the first 10 projects.
|
|
|
|
Here are your Neon projects:
|
|
|
|
1. laravel-test (ID: mute-mountain-08595850)
|
|
- Region: AWS US East 2
|
|
- Created: July 23, 2025
|
|
- PostgreSQL: v17
|
|
|
|
2. rls-test (ID: noisy-hill-99207787)
|
|
- Region: AWS US East 2
|
|
- Created: July 20, 2025
|
|
- PostgreSQL: v17
|
|
|
|
3. neon-auth-test (ID: rapid-pond-81053507)
|
|
- Region: Azure East US 2
|
|
- Created: July 7, 2025
|
|
- PostgreSQL: v17
|
|
|
|
4. saas-starter-kit-nextjs (ID: misty-poetry-78149700)
|
|
- Region: AWS US West 2
|
|
- Created: June 23, 2025
|
|
- PostgreSQL: v17
|
|
- Note: Has logical replication enabled
|
|
|
|
5. neon-auth-mcp-oauth (ID: gentle-base-21700263)
|
|
- Region: AWS US West 2
|
|
- Created: June 4, 2025
|
|
- PostgreSQL: v17
|
|
|
|
All projects are running PostgreSQL 17 and have autoscaling configured between 1-2 compute units. Would you like more detailed information about any specific project?
|
|
```
|
|
|
|
## Example Usage 2
|
|
|
|
Discover what tables and schemas exist within a specific project.
|
|
|
|
### Goose Prompt
|
|
|
|
```
|
|
What tables do I have in my neon-auth-mcp-oauth project?
|
|
```
|
|
|
|
### Goose Output
|
|
|
|
```
|
|
In your neon-auth-mcp-oauth project, there is one table:
|
|
|
|
users_sync in the neon_auth schema
|
|
```
|
|
|
|
## Example Usage 3
|
|
|
|
Run queries against your database tables to retrieve and analyze your data.
|
|
|
|
### Goose Prompt
|
|
|
|
```
|
|
Count the rows in the users_sync table.
|
|
```
|
|
|
|
### Goose Output
|
|
|
|
```
|
|
I'll count the rows in the neon_auth.users_sync table using a COUNT query.
|
|
|
|
Total Records: 1 row
|
|
Table Location: Schema neon_auth, Table users_sync
|
|
Project: neon-auth-mcp-oauth (Project ID: gentle-base-21700263)
|
|
Content: Contains one user record
|
|
```
|