list_projectsLABSCO SUMMARY
Branching is what makes a schema change safe to hand to an agent.
A migration is prepared on a temporary branch and tested there, so what you review is a proposal rather than something that already happened to your main branch. Query tuning works the same way, and the reach of the whole thing is set in the connection URL — read-only, one project, or a couple of tool categories — rather than trusted to the model.
What it is
Neon's own MCP server for Neon Postgres, offered as a managed remote endpoint and as open source you can run yourself. It translates requests into Neon API calls, so a client can create projects and branches, run queries, and carry out schema migrations without writing the API calls itself.
What you get
- List, describe, create and delete projects, and see the organizations and shared projects you can reach — list_projects, describe_project, create_project, delete_project, list_organizations, list_shared_projects
- Create, describe, delete and reset branches, diff a branch's schema against its parent, and list its computes — create_branch, describe_branch, delete_branch, reset_from_parent, compare_database_schema, list_branch_computes
- Run SQL statements and transactions, read table and column definitions, and get a connection string — run_sql, run_sql_transaction, get_database_tables, describe_table_schema, get_connection_string
- Apply a schema change on a temporary branch first, then commit it to the parent — prepare_database_migration, complete_database_migration
- Diagnose Postgres: inspect_database runs 15 read-only checks against a branch — relation and index sizes, index and sequential-scan usage, active queries and locks, the heaviest queries, cache hit rate, autovacuum and bloat estimates, replication state
- Tune a slow query the same way a migration is handled: list_slow_queries, explain_sql_statement, then prepare_query_tuning and complete_query_tuning on a temporary branch
- Provision and configure Neon Auth, and turn on the HTTP Data API for a branch — provision_neon_auth, configure_neon_auth, get_neon_auth_config, provision_neon_data_api
- Query logs from Neon serverless functions and storage — query_logs, list_log_fields, list_log_field_values
- Look up Neon documentation without authorizing anything — list_docs_resources, get_doc_resource
- Search across organizations, projects and branches, and fetch one by id
- The tool list narrowed from the URL itself: ?readonly=true drops every write tool and holds run_sql to read-only queries, ?projectId= pins everything to one project, and ?category= keeps only the groups you name — projects, branches, schema, querying, neon_auth, data_api, observability or docs
Requirements
A Neon account and an MCP client. The managed endpoint is https://mcp.neon.tech/mcp — authorize it over OAuth, choosing read or full access in the consent screen, or send a Neon API key in the Authorization header where OAuth is not available. Node.js v18.0.0 or newer for the local path, and neon@latest init configures Cursor, VS Code and Claude Code in one command. Under OAuth it works on your personal account's projects unless you name an organization or project in the request. If IP Allow is on, add 34.192.103.46 and 23.22.233.166 to the allowlist. Neon intends this for local development and IDE work and does not recommend pointing it at production, so give it a development project or branch.
Setup effort
One command plus a key — npx add-mcp https://mcp.neon.tech/mcp, then supply credentials
USE CASES
Changing a schema without changing production
The migration is applied and tested on a temporary branch; you see the result, then commit it to the parent.
Answering a question about the data
Read the tables and their column definitions, then run the SQL — or a whole transaction — in the same thread.
Working out why the database feels slow
Run the diagnostics against the branch, list the slowest queries, and read the plan for the worst one.
Trying an index without committing to it
The tuning flow tests the change on a temporary branch, and only merges when the improvement is real.
Giving a teammate's agent a look but no reach
Add readonly and a project id to the URL — the write tools never appear, and everything it can see is that one project.
Standing up a database for a new project
Create the project, branch it for development, and get the connection string for the branch you will actually use.
35 tools
Listed in project docs. Your client may show a different list.
list_shared_projectsdescribe_projectcreate_projectdelete_projectlist_organizationscreate_branchdelete_branchdescribe_branchlist_branch_computescompare_database_schemareset_from_parentget_connection_stringrun_sqlrun_sql_transactionget_database_tablesdescribe_table_schemaprepare_database_migrationcomplete_database_migrationinspect_databaselist_slow_queriesexplain_sql_statementprepare_query_tuningcomplete_query_tuningprovision_neon_authconfigure_neon_authget_neon_auth_configprovision_neon_data_apisearchfetchquery_logslist_log_fieldslist_log_field_valueslist_docs_resourcesget_doc_resourceBEFORE YOU INSTALL
What to know first
Tools you get
35 tools named in the project's documentation.
Requires
- A Neon account
- Node.js >= v18.0.0
- A client that can reach a remote MCP server over HTTP
INSTALLATION
Connect your client
Server setup
npx
npx add-mcp https://mcp.neon.tech/mcpHosted endpoint
https://mcp.neon.tech/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
MCP Clients
Any MCP client — HTTP
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp"
}
}
}Cursor — setup, VS Code — setup, Claude Code — setup
npx neon@latest initAny MCP client — API key
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp",
"headers": {
"Authorization": "Bearer <$NEON_API_KEY>"
}
}
}
}Any MCP client — SSE
npx add-mcp https://mcp.neon.tech/sse --type sse