What your AI apps can do with Neon
- Create projects and branches
- Run SQL and plan migrations
Neon MCP tools
127 tools, taken from the publisher's documentation on 29 October 2026. The server decides what it offers and can add or rename tools at any time; after you connect, Toolstile shows the current list.
| Tool | What it does |
|---|---|
list_organizations | List all organizations the current user belongs to |
run_sql | Execute one SQL statement on a Neon database |
run_sql_transaction | Execute multiple SQL statements as one transaction |
describe_table_schema | Get column definitions, data types, and constraints for a specific table |
get_database_tables | List all tables in a Neon database |
prepare_database_migration | Apply a schema change on a temporary branch and return a migration_id |
complete_database_migration | Apply or discard a prepared migration and delete the temporary branch |
describe_branch | Get a tree view of all objects in a branch, including databases, schemas, tables, views, and |
get_connection_string | Get a PostgreSQL connection string for a Neon database |
get_neon_auth_config | Read Neon Auth config for a branch with OAuth and SMTP secrets redacted as "***redacted***" |
explain_sql_statement | Generate the execution plan for a SQL statement |
prepare_query_tuning | Analyze a slow query on a temporary branch and return a tuning_id |
complete_query_tuning | Apply or discard query-tuning changes and delete the temporary branch |
list_slow_queries | List queries from pg_stat_statements by execution time, slowest first |
inspect_database | Run one read-only neon inspect db check (pick check from the input schema) |
search | Search across all organizations, projects, and branches by keyword |
fetch | Fetch detailed information about a specific organization, project, or branch using the ID |
search_docs | Search neon.com: docs, API reference, PostgreSQL tutorial, guides, FAQs, changelog, and blog |
get_doc | Fetch one neon.com page as markdown |
send_feedback | Send anonymous feedback about Neon or this MCP server to the Neon team |
list_projects | List Neon projects you own |
describe_project | Retrieves the project record (settings, compute, usage) |
create_project | Creates a Neon project and waits until the default compute is ready |
update_project | Updates the specified project |
delete_project | Delete a Neon project and all its data |
recover_project | Recovers a deleted project within the 7-day deletion recovery period |
list_project_permissions | Retrieves details about users who have access to the project, including the permission id, the |
list_project_members | Lists organization members and their per-project roles for an org-owned project |
list_regions | Lists Neon regions available to the authenticated account |
list_operations | Lists operations for a project |
get_operation | Retrieves details for the specified operation |
list_branches | Retrieves a list of branches for the specified project |
get_branch | Retrieves information about the specified branch |
create_branch | Creates a branch with a read-write compute and waits until it is ready |
update_branch | Updates the specified branch |
delete_branch | Delete a branch and all its data |
get_default_branch | Resolve the project's default branch by the default flag, not by name |
set_default_branch | Sets the specified branch as the project's default branch |
reset_from_parent | Reset a branch to its parent's current HEAD |
compare_database_schema | Compare one database's SQL schema on a branch to another |
finalize_branch_restore | Finalize a branch created with restore_snapshot and finalize: false: reassign computes (this |
list_postgres_roles | Retrieves a list of Postgres roles from the specified branch |
get_postgres_role | Retrieves details about the specified role |
create_postgres_role | Creates a Postgres role in the specified branch |
delete_postgres_role | Deletes the specified Postgres role from the branch |
reset_postgres_role_password | Resets the password for the specified Postgres role |
list_postgres_databases | Retrieves a list of databases for the specified branch |
get_postgres_database | Retrieves information about the specified database |
create_postgres_database | Creates a database in the specified branch |
update_postgres_database | Updates the specified database in the branch |
delete_postgres_database | Deletes the specified database from the branch |
list_postgres_endpoints | Retrieves a list of compute endpoints for the specified project |
list_branch_computes | Retrieves a list of compute endpoints for the specified branch |
get_postgres_endpoint | Retrieves information about the specified compute endpoint |
create_postgres_endpoint | Creates a compute endpoint on a branch |
update_postgres_endpoint | Updates the specified compute endpoint |
delete_postgres_endpoint | Deletes the specified compute endpoint |
start_postgres_endpoint | Starts a compute endpoint |
suspend_postgres_endpoint | Suspends the specified compute endpoint |
restart_postgres_endpoint | Restarts the specified compute endpoint by immediately suspending it and then starting it again |
list_snapshots | Lists the snapshots for the specified project |
get_snapshot_schedule | Returns the backup schedule for the specified branch, including the configured snapshot frequencies |
set_snapshot_schedule | Replace a branch's automatic snapshot schedule |
create_snapshot | Creates a snapshot from the specified branch |
update_snapshot | Updates the specified snapshot |
delete_snapshot | Deletes the specified snapshot |
restore_snapshot | Restore a snapshot onto a new or existing branch |
get_auth | Retrieves the Neon Auth integration details for the specified branch, including the auth |
provision_neon_auth | Enables Neon Auth for the specified branch by connecting it to an authentication provider |
disable_auth | Disables the Neon Auth integration for the specified branch, removing the connection to the |
update_auth_config | Updates the auth configuration for the branch |
list_auth_oauth_providers | Lists the social login providers (Google, GitHub, Microsoft, Vercel) configured for the branch's |
add_auth_oauth_provider | Adds a social login provider (Google, GitHub, Microsoft, Vercel) that users sign in with to the |
update_auth_oauth_provider | Updates a social login provider (Google, GitHub, Microsoft, Vercel) that users sign in with on |
delete_auth_oauth_provider | Deletes a social login provider (Google, GitHub, Microsoft, Vercel) from the branch's Neon Auth |
list_auth_trusted_domains | Lists the trusted domains in the redirect URI whitelist for the specified branch |
add_auth_trusted_domain | Adds a domain to the redirect URI whitelist for the specified branch |
delete_auth_trusted_domain | Removes a domain from the redirect URI whitelist for the specified branch |
create_auth_user | Creates a new user in the Neon Auth user directory for the specified branch |
delete_auth_user | Deletes the specified user from the Neon Auth user directory for the specified branch |
update_auth_user_role | Updates the role of a user in the Neon Auth user directory for the specified branch |
get_auth_oauth_server | Retrieves how Neon Auth acts as an OAuth 2.1 authorization server for the branch, including for |
update_auth_oauth_server | Configures Neon Auth as an OAuth 2.1 authorization server for the branch, including for MCP servers |
list_auth_oauth_clients | Lists the OAuth clients registered with the branch's Neon Auth OAuth server (apps and MCP |
get_auth_oauth_client | Returns an OAuth client registered with the branch's Neon Auth OAuth server |
create_auth_oauth_client | Registers an OAuth client with the branch's Neon Auth OAuth server |
update_auth_oauth_client | Updates an OAuth client of the Neon Auth OAuth server |
delete_auth_oauth_client | Deletes an OAuth client from the Neon Auth OAuth server |
rotate_auth_oauth_client_secret | Generates a new secret for a confidential client of the Neon Auth OAuth server |
get_data_api | Retrieves the Neon Data API configuration for the specified branch, including endpoint URL, |
provision_neon_data_api | Creates a new instance of Neon Data API in the specified branch |
update_data_api | Updates the Neon Data API configuration for the specified branch |
delete_data_api | Deletes the Neon Data API for the specified branch |
query_logs | Returns logs for a branch |
list_log_fields | Lists the low-cardinality log fields observed on this branch |
list_log_field_values | Lists distinct values for a low-cardinality log field |
get_ai_gateway | Returns the AI Gateway endpoint host for the specified branch, used to render code-snippet base URLs |
list_functions | Lists functions on the specified branch |
get_function | Returns the function identified by its slug |
update_function | Updates the function's mutable metadata — currently only the display name |
delete_function | Deletes the function identified by its slug |
deploy_function | Creates a deployment for the function |
list_functions_custom_domains | Lists all custom domains registered on the branch, across every target entity |
register_functions_custom_domain | Registers a hostname on the branch and routes it to a function |
delete_functions_custom_domain | Removes a custom domain registered on the branch and stops routing it |
list_triggers | Lists the complete project-bounded set of triggers visible on the branch, ordered by trigger_id |
get_trigger | Returns the trigger visible on the branch |
create_trigger | Creates a trigger for a Function visible on the branch |
update_trigger | Applies a partial update |
delete_trigger | Deletes a branch-local trigger or writes a branch-local tombstone for an inherited trigger so it |
list_credentials | Returns metadata for customer-issued credentials on the branch |
create_credential | Issues a new scoped service credential anchored to the specified branch |
revoke_credential | Soft-deletes the credential |
rotate_credential | Replaces the secret material on an existing scoped credential in place |
get_storage | Returns whether branchable object storage is usable for the specified branch |
list_storage_buckets | Lists branchable object storage buckets visible on the specified branch, including those |
create_storage_bucket | Creates a new branchable object storage bucket on the specified branch |
delete_storage_bucket | Deletes the named bucket from the specified branch |
list_storage_objects | Lists objects visible in the named bucket on the specified branch, including those inherited |
delete_storage_object | Deletes the named object from the bucket on the specified branch |
delete_storage_objects_by_prefix | Soft-deletes every object on the specified branch whose key starts with prefix, in a single call |
presign_storage_object | Returns a presigned URL that transfers bytes directly to or from the object's bucket on the |
get_realtime | Retrieves whether Realtime is enabled for the branch, whether a change is still being applied, |
enable_realtime | Enables Realtime for the branch, or applies new options to an enabled branch |
disable_realtime | Disables Realtime for the branch and discards its shared secret |
get_realtime_secret | Retrieves the secret the application backend issues Realtime tokens with |
rotate_realtime_secret | Replaces the branch's Realtime shared secret and waits until the change is applied |
Suggested access for each AI app
The documentation this list comes from doesn't mark Neon's tools as read-only or destructive. Read each tool's description and decide per app before allowing it.
Coding agent in Claude Code or Cursor. Allow the read tools so the agent can look things up without stopping, and require approval for tools that change shared data.
Chat or research app in Claude Desktop. Allow reading and searching. Allow writes only where you want the app to act for you.
Unattended agent, such as a scheduled Codex job. No one is watching the session, so keep it narrow: allow what the job needs, require approval for changes and block the rest.
Blocked tools are removed from the tool list an app sees, so it won't try them. Because rules apply per app, the same Neon connection can be broad in one app and read-only in another, and the credential stays in Toolstile instead of each app's config file.
How it works with Toolstile
- Connect once. Add Neon to a workspace (browser sign-in). Toolstile keeps the credential, so no agent config holds it.
- Choose access per app. Give Claude Code every Neon tool, give Cursor only the read tools, or keep Neon away from an app entirely.
- Share approved accounts. Teammates use the connection without copying tokens, and you can remove access in one place.
- Review activity. See which app called which tool and when, so you can tighten access with evidence.
Add the Neon MCP server to an AI app
Through Toolstile, every AI app uses one gateway entry, whichever servers you connect. In Claude Code:
claude mcp add --transport http toolstile 'https://mcp.toolstile.com/mcp'Then connect Neon in your workspace and choose which of its tools that app may use. Client setup covers Codex, Cursor and Claude Desktop.
To connect directly instead, add the Neon endpoint to each app separately. In Claude Code:
claude mcp add --transport http neon 'https://mcp.neon.tech/mcp'In Cursor's mcp.json:
{
"mcpServers": {
"neon": {
"url": "https://mcp.neon.tech/mcp"
}
}
}Some servers accept only clients they have approved, or need a token header. Check the Neon MCP documentation for what your client needs.
Before you connect
A Neon account. Sign-in uses your Neon permissions.
Server details
| Detail | Value |
|---|---|
| Publisher | Neon |
| Endpoint | https://mcp.neon.tech/mcp |
| Authentication | Browser sign-in |
| Categories | Development, Data & infrastructure |
| Tool list | 127 tools, observed 29 October 2026 (docs) |