Connector ยท Data and infrastructure
Ask your Neon Postgres projects a question in Slack, on Neon's MCP server.
Chickpea gives a channel a named AI teammate that holds its own Neon connection. It calls Neon's MCP server at mcp.neon.tech with an API key you create in the Neon console, so there is no client to configure. Neon asks that MCP be used for development and testing rather than production databases, and a project-scoped key is the narrow way to hold a teammate to that.
What people ask it.
The teammate is @oncall, in #eng. Pick a scenario to watch it play.
| Branch | Parent | Data size | Compute | Last active |
|---|---|---|---|---|
| production | none | 62 GB | Active | now |
| staging | production | 61 GB | Active | 4 min ago |
| dev-priya | staging | 61 GB | Idle | 2 days ago |
| test-checkout | staging | 61 GB | Idle | 6 days ago |
| schema-only-ci | production | 11 MB | Idle | 20 min ago |
Projects, branches, and schemas Read only
@oncall what branches are on the Northwind project, and how big is each one
@oncall describe the orders table on staging, columns and indexes
Neon's branch and schema tools list projects, branches, and computes, and describe tables and columns, so this is one round trip and no SQL from you. Reads never need confirmation, and a long answer comes back as a table in the thread.
Run a read query Read only
@oncall on staging, how many orders went to failed since Monday, by error code
@oncall on staging, find the customers with more than one refund this month
Say what you want to know and the teammate writes the SQL. Neon names its SQL tools Run SQL and Run SQL Transaction, which is not a read verb, so your own message has to ask for the query. A thread that mentioned it earlier does not count.
Branch a database for a test Applies at once
@oncall create a branch off staging called test-refunds so I can try the backfill
@oncall start the compute on dev-priya, it went idle and I need to connect
Neon branches copy on write, so a new branch copies no data and its parent is untouched. Creating one, or starting a compute, is a small reversible write, so it applies at once and the reply says what changed.
Migrations and deleted branches Asks first
@oncall add a nullable retry_count integer to orders on staging and apply it as a migration
@oncall delete the test-checkout branch, that work merged last week
Neon applies a schema change on a temporary branch first and completes it on the real branch second, so the teammate can show you a clean run before it asks. A migration and a deleted branch are both consequential, so it says what it would do and waits for a yes.
On a schedule Applies at once
@oncall every weekday at 9am Pacific, post the table and index sizes on staging here
@oncall every Monday at 8am Eastern, list the unused indexes and anything stalled over 30 seconds
Neon's inspect_database tool runs 15 read-only checks, among them table and index sizes, unused indexes, cache hit rate, and queries stalled longer than 30 seconds. A schedule saves on the spot. It needs an explicit time zone, runs under the Neon connection of the person who asked, and is paused rather than run if that connection goes away.
Connect it
Five steps, from Admin or from Slack.
The credential is asked for once, on a page Chickpea serves, and never in Slack. The link the teammate posts is good for one action, for one teammate, for 24 hours.
- In Neon, open Account settings โ API keys and create a key. Neon shows the secret once, so copy it before the dialog closes.
- Pick the narrowest key that does the job. An organization Admin can create a project-scoped key, which Neon gives Editor access to one project: it reads and changes that project, and cannot delete it or change who reaches it. A personal key instead carries your own access across every project in the organization.
- Choose the project. Neon's guidance is to use MCP for development and testing, never to point an agent at a production database, and to keep production and personal data out of it. A development branch is the usual answer, and it costs nothing to make.
- In Chickpea Admin, open the teammate, then Connections, find Neon, and choose Connect. Or ask in Slack,
@oncall connect Neon, and follow the link it posts. - Choose who uses it. Team is one shared key that everyone who can use the teammate acts through. Personal means each member pastes their own. Paste the key into the write-only Credential field, which is stored once on your deployment and never returned to the browser. Chickpea connects to mcp.neon.tech/mcp before it saves anything, so a server that will not answer leaves you with no connection. Then ask something:
@oncall what branches are on the projectreads and cannot change anything.
A connection belongs to one teammate. Giving a second teammate Neon means a second key with its own scope, so a support teammate never inherits the project the on-call teammate can reach.
There is no built-in Chickpea skill for Neon, and none is needed. The tools arrive from Neon's MCP server: Chickpea connects before it saves anything, records what the server answered with, and exposes only those tools. Neon sorts them into twelve categories, which are projects, branches, compute endpoints, snapshots, schema, SQL, Neon Auth, the Data API, observability, docs, functions, and object storage. The recorded list is the teammate's ceiling, and it can be narrowed later but never widened. Neon documents the server and its tool categories.

Beside Neon
What the same teammate usually holds too.
Each is its own connection, granted to the teammate alone. All 37 connectors.
Questions people ask
Is there a Neon MCP server?
Yes. Neon runs a hosted MCP server at mcp.neon.tech/mcp over streamable HTTP, and it takes either an OAuth sign-in or a Neon API key as a bearer token. Neon describes the key as the option for headless and remote agents, which is the one Chickpea uses. It is also an official Claude connector, so Claude.ai and Claude Desktop list it without a custom URL. Chickpea connects to that same server, which is how a teammate in Slack uses it with no client installed.
What MCP server should I use for Postgres?
If the database is on Neon, Neon's own. The servers that rank first for a Postgres MCP search are community projects you run yourself and point at a connection string, which means a process to host and a password to store. Neon's is hosted, takes an API key, and covers the platform as well as the SQL, so branches, computes, snapshots, and migrations are tools rather than something you script around.
How do I get a Neon API key?
In the Neon console, from Account settings โ API keys for a personal key, or Organization settings โ API keys for an organization or project-scoped one. Neon shows the secret once, so copy it before you close the dialog. Keys do not expire, and you rotate one by creating its replacement and then revoking the old one. Project-scoped keys are the narrow choice: Neon gives them Editor access to a single project, which reads and changes that project but cannot delete it or manage who reaches it.
Is it safe to point this at production?
Neon says no. Its own MCP guidance recommends MCP for development and testing only, asks that you never connect MCP agents to production databases, and asks that you avoid production or personal data and use anonymized data instead. The reason it gives is that the server grants broad database management, so a human should review and authorize what the model asks for. A Neon branch copies on write and costs nothing to make, so there is little reason to aim a Slack channel at the real database.
Is the Neon MCP read only?
Not by default. Neon offers read-only mode as a URL parameter, ?readonly=true, which leaves SELECT queries and schema inspection working and switches off writes such as creating branches and running migrations. The Chickpea preset points at the plain server URL, so the levers here are different ones. Give the teammate a project-scoped key, and narrow its allowed tools, which is a ceiling that can be cut down later but never widened. If you want the parameter itself, add Neon as a custom MCP connection with ?readonly=true on the end of the URL.
Does it use Neon's MCP server or the API?
The MCP server. Neon is a vendor MCP lane: the deployment connects to mcp.neon.tech/mcp over streamable HTTP and sends your API key as a bearer token. Chickpea writes no Neon endpoints of its own, and the connection cannot reach any other address.
Can it run a migration, or delete a branch?
Yes, if the key allows it, and both ask first. Neon's SQL tools apply a schema change on a temporary branch before completing it on the real one, so the teammate can show you a clean run and then wait for a yes. Branch deletion is a branch tool and project deletion is a project tool, which is one more reason to hand it a project-scoped key, because Editor access cannot delete the project. Under the judgment sits a gate that never consults the model. During a Slack turn Chickpea refuses any MCP tool whose name does not start with an unambiguous read verb unless your message names that action, and thread history, retrieved content, and memory cannot authorize one.
Can I use this from Claude Code or Cursor instead?
Yes, and Neon documents it. `npx neon@latest mcp` writes the client config for you, and `npx neon@latest plugins` installs a plugin that bundles the server with agent skills for the clients that take one. That puts the server in one person's editor, under that person's key, where only that person sees the answers. A teammate puts it in a channel, with a stored connection, saved instructions, schedules, and every query visible in the thread where someone asked for it. Teams often run both, usually against different projects.
Does Neon have a Slack app?
Not a current one. Neon shipped an app for Slack in 2025 that reported compute, storage, and data transfer usage and told you when a project neared its plan limits. In November 2025 Neon marked that version deprecated and pointed people to its Discord. Neon also publishes a guide to building your own Slack assistant over a read replica with the Vercel AI SDK, which you host and maintain. A Chickpea teammate needs nothing hosted: it holds the Neon connection itself and answers in the channel through Neon's MCP server.
Does everyone act as the same Neon account?
That is your choice when you connect. A team account is one API key that everyone with access to the teammate acts through, and Neon records the actions against that key. A personal account belongs to one member inside one teammate, so your key is used only for your requests. Either way the key sits on your deployment in a write-only field outside the teammate record. It never enters the model context, the tool arguments the model writes, or Slack. Disconnect the account and the stored secret is removed, after any schedule that depended on it is paused.
Try it
Give a channel a Neon teammate.
One deploy into your own Cloudflare account, connect Slack, paste one token, ask. Apache 2.0, no seats, no metering.
Or run it on Node. The setup guide covers both.
Last checked
Facts on this page were checked against the product and Neon's own pages on September 17, 2026. This page is also available as markdown at /connectors/neon.md.
