The Neon MCP connector routes your AI agent's tool calls to Neon's own MCP server through Scalekit. Each user signs in to Neon once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 129 tools.
- Tools
- 129
- What they doRead · write · destructive
- 57 · 50 · 2257 read50 write22 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Neon MCP connection
In AgentKit > Connections, create a Neon MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Neon MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'neonmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Neon MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'neonmcp_describe_project',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "neonmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Neon MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="neonmcp_describe_project",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolneonmcp_compare_database_schemaCompare the database schema between two branches to identify differences in tables, columns, and constraints.Read-onlyCompare Database Schema
Compare the database schema between two branches to identify differences in tables, columns, and constraints.
Inputs
branch_idstringrequired- No description.
database_namestringrequired- No description.
base_branch_idstring- No description.
base_lsnstring- No description.
base_timestampstring- No description.
lsnstring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
timestampstring- No description.
neonmcp_describe_branchGet a tree view of all objects in a branch including databases, schemas, tables, views, and functions.Read-onlyDescribe Branch
Get a tree view of all objects in a branch including databases, schemas, tables, views, and functions.
Inputs
branch_idstringrequired- An ID of the branch to describe
database_namestring- The name of the database. If not provided, the default neondb or first available database is used.
project_idstring- The ID of the project. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_describe_projectGet details and configuration of a specific Neon project by its ID.Read-onlyDescribe Project
Get details and configuration of a specific Neon project by its ID.
Inputs
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_describe_table_schemaGet column definitions, data types, and constraints for a specific table in a Neon database.Read-onlyDescribe Table Schema
Get column definitions, data types, and constraints for a specific table in a Neon database.
Inputs
table_namestringrequired- The table name, optionally schema-qualified (for example, crm.contacts)
branch_idstring- An optional ID of the branch to execute the query against. If not provided the default branch is used.
database_namestring- The name of the database. If not provided, the default neondb or first available database is used.
project_idstring- The ID of the project to execute the query against. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_explain_sql_statementAnalyze the query execution plan for a SQL statement using EXPLAIN ANALYZE.Read-onlyExplain Sql Statement
Analyze the query execution plan for a SQL statement using EXPLAIN ANALYZE.
Inputs
sqlstringrequired- The SQL statement to analyze
analyzeboolean- Whether to execute the statement with EXPLAIN ANALYZE. Defaults to false because execution may cause side effects.default
false branch_idstring- An optional ID of the branch to execute the query against. If not provided the default branch is used.
database_namestring- The name of the database. If not provided, the default neondb or first available database is used.
project_idstring- The ID of the project to execute the query against. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_fetchFetch detailed information about a specific organization, project, or branch using its ID.Read-onlyFetch
Fetch detailed information about a specific organization, project, or branch using its ID.
Inputs
idstringrequired- The entity ID returned by the `search` tool.
neonmcp_get_ai_gatewayReturns the AI Gateway endpoint host for the specified branch, used to render code-snippet base URLs.Read-onlyGet Ai Gateway
Returns the AI Gateway endpoint host for the specified branch, used to render code-snippet base URLs. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_authRetrieves the Neon Auth integration details for the specified branch, including the auth provider type and integration status.Read-onlyGet Auth
Retrieves the Neon Auth integration details for the specified branch, including the auth provider type and integration status. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_auth_oauth_clientReturns an OAuth client registered with the branch's Neon Auth OAuth server.Read-onlyGet Auth Oauth Client
Returns an OAuth client registered with the branch's Neon Auth OAuth server. Not a social login provider. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
client_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_auth_oauth_serverRetrieves how Neon Auth acts as an OAuth 2.1 authorization server for the branch, including for MCP servers.Read-onlyGet Auth Oauth Server
Retrieves how Neon Auth acts as an OAuth 2.1 authorization server for the branch, including for MCP servers. This is Better Auth's OAuth Provider plugin (API plugin `oauth_provider`), not social login; for providers such as GitHub or Google call `list_auth_oauth_providers`. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_branchRetrieves information about the specified branch.Read-onlyGet Branch
Retrieves information about the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_connection_stringGet a PostgreSQL connection string for a Neon database, resolving project, branch, and database automatically.Read-onlyGet Connection String
Get a PostgreSQL connection string for a Neon database, resolving project, branch, and database automatically.
Inputs
branch_idstring- The ID or name of the branch. If not provided, the default branch will be used.
compute_idstring- The ID of the compute/endpoint. If not provided, the read-write compute associated with the branch will be used.
database_namestring- The name of the database. If not provided, the default neondb or first available database is used.
project_idstring- The ID of the project. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
role_namestring- The name of the role to connect with. If not provided, the database owner name will be used.
neonmcp_get_data_apiRetrieves the Neon Data API configuration for the specified branch, including endpoint URL, enabled state, and database settings.Read-onlyGet Data Api
Retrieves the Neon Data API configuration for the specified branch, including endpoint URL, enabled state, and database settings. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
database_namestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_database_tablesList all tables in a Neon database on a specific branch.Read-onlyGet Database Tables
List all tables in a Neon database on a specific branch.
Inputs
branch_idstring- An optional ID of the branch. If not provided the default branch is used.
database_namestring- The name of the database. If not provided, the default neondb or first available database is used.
project_idstring- The ID of the project. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_default_branchResolve the project's default branch by the default flag, not by name.Read-onlyGet Default Branch
Resolve the project's default branch by the default flag, not by name.
Inputs
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_docFetch one neon.com page as markdown.Read-onlyGet Doc
Fetch one neon.com page as markdown. Pass the slug of a search_docs hit (for example docs/guides/prisma).
Inputs
slugstringrequired- The slug of a hit returned by search_docs, e.g. 'docs/guides/prisma' or 'postgresql/tutorial/inner-join'.
neonmcp_get_doc_resourceFetch a specific Neon documentation page as markdown content by its URL.Read-onlyGet Doc Resource
Fetch a specific Neon documentation page as markdown content by its URL.
Inputs
slugstringrequired- The docs page slug (path) to fetch, e.g. 'docs/guides/prisma.md'. Slugs use .md file endings matching the URLs in the documentation index. Use the list_docs_resources tool first to discover available slugs.
neonmcp_get_functionReturns the function identified by its slug.Read-onlyGet Function
Returns the function identified by its slug. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
slugstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_neon_auth_configRead the full Neon Auth configuration for a specific branch.Read-onlyGet Neon Auth Config
Read the full Neon Auth configuration for a specific branch.
Inputs
branch_idstring- Branch ID. If omitted, the project default branch is used (same as provision_neon_auth).
project_idstring- Neon project ID. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_operationRetrieves details for the specified operation.Read-onlyGet Operation
Retrieves details for the specified operation.
Inputs
operation_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_postgres_databaseRetrieves information about the specified database.Read-onlyGet Postgres Database
Retrieves information about the specified database. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
database_namestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_postgres_endpointRetrieves information about the specified compute endpoint.Read-onlyGet Postgres Endpoint
Retrieves information about the specified compute endpoint.
Inputs
endpoint_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_postgres_roleRetrieves details about the specified role.Read-onlyGet Postgres Role
Retrieves details about the specified role. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
role_namestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_realtimeRetrieves whether Realtime is enabled for the branch, whether a change is still being applied, and, once provisioned, its invocation URL and allowed origins.Read-onlyGet Realtime
Retrieves whether Realtime is enabled for the branch, whether a change is still being applied, and, once provisioned, its invocation URL and allowed origins. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_realtime_secretRetrieves the secret the application backend issues Realtime tokens with.Read-onlyGet Realtime Secret
Retrieves the secret the application backend issues Realtime tokens with. Requires write access: the secret lets its holder issue Realtime tokens for the branch, so it is unavailable in read-only mode. Call `enable_realtime` first. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_snapshot_scheduleReturns the backup schedule for the specified branch, including the configured snapshot frequencies.Read-onlyGet Snapshot Schedule
Returns the backup schedule for the specified branch, including the configured snapshot frequencies. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_storageReturns whether branchable object storage is usable for the specified branch.Read-onlyGet Storage
Returns whether branchable object storage is usable for the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_get_triggerReturns the trigger visible on the branch.Read-onlyGet Trigger
Returns the trigger visible on the branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
trigger_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_inspect_databaseRun a predefined, read-only Postgres diagnostic check (table sizes, unused indexes, locks, bloat, etc.) against a Neon branch.Read-onlyInspect Database
Run a predefined, read-only Postgres diagnostic check (table sizes, unused indexes, locks, bloat, etc.) against a Neon branch.
Inputs
checkstringrequired- Which diagnostic to run:
`table-sizes`: Size of each table (including TOAST), largest first (pg_table_size)
`index-sizes`: Size of each index, largest first (pg_relation_size)
`unused-indexes`: Non-unique indexes with fewer than 50 scans â candidates for removal (pg_stat_user_indexes)
`seq-scans`: Number of sequential scans recorded against each table (pg_stat_user_tables)
`long-running-queries`: Queries running longer than 5 minutes (pg_stat_activity)
`stalled-queries`: Active queries running longer than 30 seconds with parallel-worker grouping, waits, and blockers, oldest query group first (compute-wide)
`locks`: Locks held with the acquiring query and its age (pg_locks + pg_stat_activity)
`outliers`: The 25 queries with the highest cumulative execution time since statistics were last reset (needs pg_stat_statements)
`calls`: The 25 most frequently executed queries since statistics were last reset (needs pg_stat_statements)
`lfc-hit-rate`: Local File Cache hit rate (compute-wide, needs neon extension)
`working-set`: Estimated working set vs LFC size (compute-wide, needs neon extension)
`vacuum-stats`: Autovacuum status per table: last (auto)vacuum, dead tuples, threshold
`bloat`: Estimated bloat for the 25 most bloated tables (statistical estimate, no extension needed)
`replication-slots`: Replication slots (compute-wide): kind, status, client, restart/confirmed-flush LSNs, and lag (pg_replication_slots + pg_stat_replication)
`subscriptions`: Per-table logical replication progress on this subscriber (pg_subscription_rel)one of
table-sizesindex-sizesunused-indexesseq-scanslong-running-queriesstalled-querieslocksoutlierscallslfc-hit-rateworking-setvacuum-statsbloatreplication-slotssubscriptions branch_idstring- An optional ID of the branch. If not provided the default branch is used.
compute_idstring- The ID of the compute/endpoint. If not provided, the read-write compute associated with the branch will be used.
database_namestring- For a database-scoped check, the database to inspect. Omit to cover every database on the branch. Ranking and SQL row limits stay per database. One failing database fails the whole run. For a compute-wide check, the database to connect through; the check still runs once for the whole compute and the result does not include `databaseName`. The response `limit` applies to the combined rows after that.
limitinteger- Maximum number of rows to return from the combined result. Per-database ranking and SQL caps are applied first. The response reports how many rows the check produced and whether they were truncated, so raise this only when `truncated` is true. A few checks are capped in SQL and say so in their description.default
50 project_idstring- The ID of the project to inspect. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_auth_oauth_clientsLists the OAuth clients registered with the branch's Neon Auth OAuth server (apps and MCP clients that users authorize).Read-onlyList Auth Oauth Clients
Lists the OAuth clients registered with the branch's Neon Auth OAuth server (apps and MCP clients that users authorize). Not social login providers. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_auth_oauth_providersLists the OAuth providers configured for the specified branch's Neon Auth integration.Read-onlyList Auth Oauth Providers
Lists the OAuth providers configured for the specified branch's Neon Auth integration. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_auth_trusted_domainsLists the trusted domains in the redirect URI whitelist for the specified branch.Read-onlyList Auth Trusted Domains
Lists the trusted domains in the redirect URI whitelist for the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_branch_computesList all compute endpoints for a project or branch.Read-onlyList Branch Computes
List all compute endpoints for a project or branch.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_branchesRetrieves a list of branches for the specified project.Read-onlyList Branches
Retrieves a list of branches for the specified project. Returns every page. Pass limit to cap how many.
Inputs
include_deletedboolean- No description.
limitinteger- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
searchstring- No description.
sort_bystring- No description.one of
namecreated_atupdated_at sort_orderstring- No description.one of
ascdesc
neonmcp_list_credentialsReturns metadata for customer-issued credentials on the branch.Read-onlyList Credentials
Returns metadata for customer-issued credentials on the branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_docs_resourcesList all available Neon documentation pages from the Neon docs index.Read-onlyList Docs Resources
List all available Neon documentation pages from the Neon docs index.
Inputs
This tool takes no inputs.
neonmcp_list_functionsLists functions on the specified branch.Read-onlyList Functions
Lists functions on the specified branch. Returns every page. Pass limit to cap how many. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
limitinteger- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_functions_custom_domainsLists all custom domains registered on the branch, across every target entity.Read-onlyList Functions Custom Domains
Lists all custom domains registered on the branch, across every target entity. Returns every page. Pass limit to cap how many. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
limitinteger- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_log_field_valuesList the distinct values of a log field (e.g.Read-onlyList Log Field Values
List the distinct values of a log field (e.g. service_name or severity_text) within a branch and time window.
Inputs
branch_idstringrequired- No description.
field_namestringrequired- No description.
end_timestring- No description.
limitinteger- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
sincestring- No description.
sourcestring- No description.one of
functionstoragepg_endpoint start_timestring- No description.
neonmcp_list_log_fieldsList the log fields whose values list_log_field_values can enumerate for a branch (e.g.Read-onlyList Log Fields
List the log fields whose values list_log_field_values can enumerate for a branch (e.g. service_name, severity_text, scope_name, entity_type).
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_operationsLists operations for a project.Read-onlyList Operations
Lists operations for a project. Omitting `limit` returns every remaining page. There is no `cursor` argument.
Inputs
limitinteger- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_organizationsList all organizations the current user belongs to, with optional name or ID filter.Read-onlyList Organizations
List all organizations the current user belongs to, with optional name or ID filter.
Inputs
searchstring- Filter results by partial name or ID.
neonmcp_list_postgres_databasesRetrieves a list of databases for the specified branch.Read-onlyList Postgres Databases
Retrieves a list of databases for the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_postgres_endpointsRetrieves a list of compute endpoints for the specified project.Read-onlyList Postgres Endpoints
Retrieves a list of compute endpoints for the specified project.
Inputs
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_postgres_rolesRetrieves a list of Postgres roles from the specified branch.Read-onlyList Postgres Roles
Retrieves a list of Postgres roles from the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_project_membersLists organization members and their per-project roles for an org-owned project.Read-onlyList Project Members
Lists organization members and their per-project roles for an org-owned project. Returns every page. Pass limit to cap how many.
Inputs
limitinteger- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_project_permissionsRetrieves details about users who have access to the project, including the permission `id`, the granted-to email address, and the date project access was granted.Read-onlyList Project Permissions
Retrieves details about users who have access to the project, including the permission `id`, the granted-to email address, and the date project access was granted.
Inputs
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_projectsList Neon projects in your account with optional search and pagination.Read-onlyList Projects
List Neon projects in your account with optional search and pagination.
Inputs
limitinteger- No description.
org_idstring- No description.
recoverableboolean- No description.
searchstring- No description.
timeoutinteger- No description.
neonmcp_list_regionsLists Neon regions available to the authenticated account.Read-onlyList Regions
Lists Neon regions available to the authenticated account.
Inputs
This tool takes no inputs.
neonmcp_list_slow_queriesList slow queries from a Neon database to identify performance bottlenecks.Read-onlyList Slow Queries
List slow queries from a Neon database to identify performance bottlenecks.
Inputs
branch_idstring- An optional ID of the branch. If not provided the default branch is used.
compute_idstring- The ID of the compute/endpoint. If not provided, the read-write compute associated with the branch will be used.
database_namestring- The name of the database. If not provided, the default neondb or first available database is used.
limitnumber- Maximum number of slow queries to returndefault
10 min_execution_timenumber- Minimum execution time in milliseconds to consider a query as slowdefault
1000 project_idstring- The ID of the project to list slow queries from. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_snapshotsLists the snapshots for the specified project.Read-onlyList Snapshots
Lists the snapshots for the specified project.
Inputs
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_storage_bucketsLists branchable object storage buckets visible on the specified branch, including those inherited from ancestor branches.Read-onlyList Storage Buckets
Lists branchable object storage buckets visible on the specified branch, including those inherited from ancestor branches. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_storage_objectsLists objects visible in the named bucket on the specified branch, including those inherited from ancestor branches.Read-onlyList Storage Objects
Lists objects visible in the named bucket on the specified branch, including those inherited from ancestor branches. Returns every page. Pass limit to cap how many. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
bucket_namestringrequired- No description.
delimiterstring- No description.
limitinteger- No description.
prefixstring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_list_triggersLists the complete project-bounded set of triggers visible on the branch, ordered by `trigger_id`.Read-onlyList Triggers
Lists the complete project-bounded set of triggers visible on the branch, ordered by `trigger_id`. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_query_logsQuery logs emitted by Neon serverless functions and other services (structured filters or raw LogQL), correlated by trace ID and time window.Read-onlyQuery Logs
Query logs emitted by Neon serverless functions and other services (structured filters or raw LogQL), correlated by trace ID and time window.
Inputs
branch_idstringrequired- No description.
body_containsstring- No description.
end_timestring- No description.
limitinteger- No description.
logqlstring- No description.
minimum_severitystring- No description.one of
tracedebuginfowarnerrorfatal project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
scope_namestring- No description.
service_namestring- No description.
severity_textstring- No description.
sincestring- No description.
sort_orderstring- No description.one of
ascdesc sourcestring- No description.one of
functionstoragepg_endpoint start_timestring- No description.
trace_idstring- No description.
neonmcp_searchSearch across all organizations, projects, and branches by keyword, returning matching items with IDs and URLs.Read-onlySearch
Search across all organizations, projects, and branches by keyword, returning matching items with IDs and URLs.
Inputs
querystringrequired- The search keyword. Must be at least 3 characters.
neonmcp_search_docsSearch neon.com: docs, API reference, PostgreSQL tutorial, guides, FAQs, changelog, and blog.Read-onlySearch Docs
Search neon.com: docs, API reference, PostgreSQL tutorial, guides, FAQs, changelog, and blog. Returns ranked pages with title, URL, the matching section, and a slug; read a full page with get_doc.
Inputs
querystringrequired- What to search for, in words, e.g. "reset a branch" or "connection pooling".
categoriesarray- Only return pages in these categories: docs, api (API reference), postgresql (PostgreSQL tutorial), guides, faqs, blog, changelog. Omit to search everything.
limitinteger- Maximum number of pages to return (1-40).default
10
neonmcp_add_auth_oauth_providerAdds an OAuth provider configuration to the specified branch's Neon Auth integration.WriteAdd Auth Oauth Provider
Adds an OAuth provider configuration to the specified branch's Neon Auth integration. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
idstringrequired- No description.one of
googlegithubmicrosoftvercelapple apple_key_idstring- No description.
apple_team_idstring- No description.
client_idstring- No description.
client_secretstring- No description.
microsoft_tenant_idstring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_add_auth_trusted_domainAdds a domain to the redirect URI whitelist for the specified branch.WriteAdd Auth Trusted Domain
Adds a domain to the redirect URI whitelist for the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
auth_providerstringrequired- No description.one of
mockstackbetter_auth branch_idstringrequired- No description.
domainstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_create_auth_oauth_clientRegisters an OAuth client with the branch's Neon Auth OAuth server.WriteCreate Auth Oauth Client
Registers an OAuth client with the branch's Neon Auth OAuth server. A confidential client returns `client_secret` only once: show it to the user and tell them to store it. Every entry in `resources` must already be configured on the OAuth server (see `get_auth_oauth_server`) or be its MCP resource. `type` cannot be changed later. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
namestringrequired- No description.
redirect_urisarrayrequired- No description.
resourcesarrayrequired- No description.
typestringrequired- No description.one of
confidentialpublic project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
skip_consentboolean- No description.
neonmcp_create_auth_userCreates a new user in the Neon Auth user directory for the specified branch.WriteCreate Auth User
Creates a new user in the Neon Auth user directory for the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
emailstringrequired- No description.
namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_create_branchCreate a new branch in a Neon project for isolated development or testing.WriteCreate Branch
Create a new branch in a Neon project for isolated development or testing.
Inputs
computeobject- No description.
namestring- No description.
no_computeboolean- Skip the read-write endpoint. Default false. Cannot be combined with compute.
parent_idstring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_create_credentialIssues a new scoped service credential anchored to the specified branch.WriteCreate Credential
Issues a new scoped service credential anchored to the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
principal_typestringrequired- No description.one of
user scopesarrayrequired- No description.
namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_create_postgres_databaseCreates a database in the specified branch.WriteCreate Postgres Database
Creates a database in the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
namestringrequired- No description.
owner_namestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_create_postgres_endpointCreates a compute endpoint on a branch.WriteCreate Postgres Endpoint
Creates a compute endpoint on a branch. Does not return a connection string; call `get_connection_string`.
Inputs
branch_idstringrequired- No description.
typestringrequired- No description.one of
read_onlyread_write autoscaling_limit_max_cunumber- No description.
autoscaling_limit_min_cunumber- No description.
disabledboolean- No description.
namestring- No description.
passwordless_accessboolean- No description.
pooler_enabledboolean- No description.
pooler_modestring- No description.one of
transaction project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
provisionerstring- No description.
region_idstring- No description.
settingsobject- No description.
suspend_timeout_secondsinteger- No description.
neonmcp_create_postgres_roleCreates a Postgres role in the specified branch.WriteCreate Postgres Role
Creates a Postgres role in the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
namestringrequired- No description.
no_loginboolean- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_create_projectCreate a new Neon project with a default database and branch, returning the connection string.WriteCreate Project
Create a new Neon project with a default database and branch, returning the connection string.
Inputs
autoscaling_limit_max_cunumber- No description.
autoscaling_limit_min_cunumber- No description.
branchobject- No description.
default_endpoint_settingsobject- No description.
history_retention_secondsinteger- No description.
namestring- No description.
org_idstring- No description.
pg_versioninteger- No description.
provisionerstring- No description.
realtimeobject- No description.
region_idstring- No description.
settingsobject- No description.
store_passwordsboolean- No description.
neonmcp_create_snapshotCreates a snapshot from the specified branch.WriteCreate Snapshot
Creates a snapshot from the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
expires_atstring- No description.
lsnstring- No description.
namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
timestampstring- No description.
neonmcp_create_storage_bucketCreates a new branchable object storage bucket on the specified branch.WriteCreate Storage Bucket
Creates a new branchable object storage bucket on the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
namestringrequired- No description.
access_levelstring- No description.one of
privatepublic_read project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_create_triggerCreates a trigger for a Function visible on the branch.WriteCreate Trigger
Creates a trigger for a Function visible on the branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
bodystringrequired- No description.
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_deploy_functionCreates a deployment for the function.WriteDeploy Function
Creates a deployment for the function. Supply at least one of `zip`, `environment`, or `runtime`; omitted fields inherit the latest version. The first deployment must include `zip`. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
slugstringrequired- No description.
environmentstring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
runtimestring- No description.one of
nodejs24 zipstring- Base64-encoded binary file contents.
neonmcp_disable_authDisables the Neon Auth integration for the specified branch, removing the connection to the authentication provider.WriteDisable Auth
Disables the Neon Auth integration for the specified branch, removing the connection to the authentication provider. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
delete_databoolean- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_disable_realtimeDisables Realtime for the branch and discards its shared secret.WriteDisable Realtime
Disables Realtime for the branch and discards its shared secret. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_enable_realtimeEnables Realtime for the branch, or applies new options to an enabled branch.WriteEnable Realtime
Enables Realtime for the branch, or applies new options to an enabled branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
allowed_originsarray- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_finalize_branch_restoreFinalize a branch created with `restore_snapshot` and `finalize: false`: reassign computes (this restarts them) and swap names so it replaces the original branch.WriteFinalize Branch Restore
Finalize a branch created with `restore_snapshot` and `finalize: false`: reassign computes (this restarts them) and swap names so it replaces the original branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_prepare_database_migrationPrepare a database schema migration by generating and executing DDL statements on a temporary branch.WritePrepare Database Migration
Prepare a database schema migration by generating and executing DDL statements on a temporary branch.
Inputs
migration_sqlstringrequired- The SQL to execute to create the migration
database_namestring- The name of the database. If not provided, the default neondb or first available database is used.
project_idstring- The ID of the project to execute the query against. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_prepare_query_tuningStart a query tuning session by analyzing execution plans and suggesting optimizations on a temporary branch.WritePrepare Query Tuning
Start a query tuning session by analyzing execution plans and suggesting optimizations on a temporary branch.
Inputs
database_namestringrequired- The name of the database to execute the query against
sqlstringrequired- The SQL statement to analyze and tune
project_idstring- The ID of the project to execute the query against. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
role_namestring- The name of the role to connect with. If not provided, the default role (usually "neondb_owner") will be used.
neonmcp_presign_storage_objectReturns a presigned URL that transfers bytes directly to or from the object's bucket on the specified branch, without the caller ever handling S3 credentials.WritePresign Storage Object
Returns a presigned URL that transfers bytes directly to or from the object's bucket on the specified branch, without the caller ever handling S3 credentials. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
bucket_namestringrequired- No description.
object_keystringrequired- No description.
operationstringrequired- No description.one of
uploaddownload content_typestring- No description.
expires_in_secondsinteger- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_provision_neon_authProvision Neon Auth for a branch, enabling managed authentication backed by Better Auth.WriteProvision Neon Auth
Provision Neon Auth for a branch, enabling managed authentication backed by Better Auth.
- Idempotent
Inputs
auth_providerstringrequired- No description.one of
mockstackbetter_auth branch_idstringrequired- No description.
database_namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_provision_neon_data_apiProvision the Neon Data API for HTTP-based access to a Postgres database with JWT authentication.WriteProvision Neon Data Api
Provision the Neon Data API for HTTP-based access to a Postgres database with JWT authentication.
- Idempotent
Inputs
branch_idstringrequired- No description.
database_namestringrequired- No description.
add_default_grantsboolean- No description.
auth_providerstring- No description.one of
neon_authexternal jwks_urlstring- No description.
jwt_audiencestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
provider_namestring- No description.
settingsobject- No description.
skip_auth_schemaboolean- No description.
neonmcp_recover_projectRecovers a deleted project within the 7-day deletion recovery period.WriteRecover Project
Recovers a deleted project within the 7-day deletion recovery period.
Inputs
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_register_functions_custom_domainRegisters a hostname on the branch and routes it to a function.WriteRegister Functions Custom Domain
Registers a hostname on the branch and routes it to a function. Pass `entity_type: "function"` and `entity_id` as the slug from `list_functions`. Point a CNAME at the returned `cname_target`. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
domainstringrequired- No description.
entity_idstringrequired- No description.
entity_typestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_reset_postgres_role_passwordResets the password for the specified Postgres role.WriteReset Postgres Role Password
Resets the password for the specified Postgres role. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
role_namestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_restart_postgres_endpointRestarts the specified compute endpoint by immediately suspending it and then starting it again.WriteRestart Postgres Endpoint
Restarts the specified compute endpoint by immediately suspending it and then starting it again.
Inputs
endpoint_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_restore_snapshotRestore a snapshot onto a new or existing branch.WriteRestore Snapshot
Restore a snapshot onto a new or existing branch. The call waits until the branch is ready. Pass `target_branch_id` to restore onto an existing branch; omit it to create one. Pass `finalize: false` then call `finalize_branch_restore` to swap names later.
Inputs
snapshot_idstringrequired- No description.
finalizeboolean- Finalize immediately (move computes onto the restored branch). Defaults to true when restoring as a new branch and false when restoring onto an existing branch.
namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
target_branch_idstring- No description.
neonmcp_revoke_credentialSoft-deletes the credential.WriteRevoke Credential
Soft-deletes the credential. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
token_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_rotate_auth_oauth_client_secretGenerates a new secret for a confidential client of the Neon Auth OAuth server.WriteRotate Auth Oauth Client Secret
Generates a new secret for a confidential client of the Neon Auth OAuth server. The old secret stops working immediately. The new `client_secret` is shown only once: show it to the user and tell them to store it. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
client_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_rotate_credentialReplaces the secret material on an existing scoped credential in place.WriteRotate Credential
Replaces the secret material on an existing scoped credential in place. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
token_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_rotate_realtime_secretReplaces the branch's Realtime shared secret and waits until the change is applied.WriteRotate Realtime Secret
Replaces the branch's Realtime shared secret and waits until the change is applied. NEVER run autonomously; always ask the user first. Call `get_realtime_secret` afterwards and update the application backend with the new value. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_send_feedbackSend anonymous feedback about Neon or this MCP server to the Neon team.WriteSend Feedback
Send anonymous feedback about Neon or this MCP server to the Neon team. Only call this when the user asks to give feedback. Sends only the feedback text, not account, project, or connection details.
Inputs
feedbackstringrequired- The feedback to send to Neon. Do not include passwords, API keys, connection strings, or other secrets.
neonmcp_set_default_branchSets the specified branch as the project's default branch.WriteSet Default Branch
Sets the specified branch as the project's default branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
- Idempotent
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_set_snapshot_scheduleReplace a branch's automatic snapshot schedule.WriteSet Snapshot Schedule
Replace a branch's automatic snapshot schedule. Frequency must be daily, weekly, or monthly. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
- Idempotent
Inputs
branch_idstringrequired- No description.
schedulearrayrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_start_postgres_endpointStarts a compute endpoint.WriteStart Postgres Endpoint
Starts a compute endpoint.
Inputs
endpoint_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_suspend_postgres_endpointSuspends the specified compute endpoint.WriteSuspend Postgres Endpoint
Suspends the specified compute endpoint.
Inputs
endpoint_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_update_auth_configUpdates the auth configuration for the branch.WriteUpdate Auth Config
Updates the auth configuration for the branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
namestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_update_auth_oauth_clientUpdates an OAuth client of the Neon Auth OAuth server.WriteUpdate Auth Oauth Client
Updates an OAuth client of the Neon Auth OAuth server. `redirect_uris` and `resources` replace the stored lists, so send the full list. At least one resource is required. `type` cannot be changed. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
client_idstringrequired- No description.
disabledboolean- No description.
namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
redirect_urisarray- No description.
resourcesarray- No description.
skip_consentboolean- No description.
neonmcp_update_auth_oauth_providerUpdates an OAuth provider for the specified project.WriteUpdate Auth Oauth Provider
Updates an OAuth provider for the specified project. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
oauth_provider_idstringrequired- No description.one of
googlegithubmicrosoftvercelapple apple_key_idstring- No description.
apple_team_idstring- No description.
client_idstring- No description.
client_secretstring- No description.
microsoft_tenant_idstring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_update_auth_oauth_serverConfigures Neon Auth as an OAuth 2.1 authorization server for the branch, including for MCP servers.WriteUpdate Auth Oauth Server
Configures Neon Auth as an OAuth 2.1 authorization server for the branch, including for MCP servers. This is Better Auth's OAuth Provider plugin (API plugin `oauth_provider`), not social login; for providers such as GitHub or Google see `list_auth_oauth_providers`. Enabling requires `login_page`, `consent_page` and at least one resource (or an MCP resource). `resources` replaces the stored list: call `get_auth_oauth_server` first and send the full list to add or remove one. `mcp.resource` is required whenever `mcp` is sent; omitted `mcp` booleans keep their stored value, and `mcp.resource: ""` removes the MCP configuration. Prefer `client_id_metadata_documents` over the deprecated `dynamic_registration`. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
consent_pagestring- No description.
enabledboolean- No description.
login_pagestring- No description.
mcpobject- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
resourcesarray- No description.
neonmcp_update_auth_user_roleUpdates the role of a user in the Neon Auth user directory for the specified branch.WriteUpdate Auth User Role
Updates the role of a user in the Neon Auth user directory for the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
auth_user_idstringrequired- No description.
branch_idstringrequired- No description.
rolesarrayrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_update_branchUpdates the specified branch.WriteUpdate Branch
Updates the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
expires_atstring- No description.
namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
protectedboolean- No description.
neonmcp_update_data_apiUpdates the Neon Data API configuration for the specified branch.WriteUpdate Data Api
Updates the Neon Data API configuration for the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
database_namestringrequired- No description.
db_aggregates_enabledboolean- No description.
db_anon_rolestring- No description.
db_extra_search_pathstring- No description.
db_max_rowsinteger- No description.
db_schemasarray- No description.
jwt_cache_max_lifetimeinteger- No description.
jwt_role_claim_keystring- No description.
openapi_modestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
server_cors_allowed_originsstring- No description.
server_timing_enabledboolean- No description.
neonmcp_update_functionUpdates the function's mutable metadata â currently only the display `name`.WriteUpdate Function
Updates the function's mutable metadata â currently only the display `name`. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
namestringrequired- No description.
slugstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_update_postgres_databaseUpdates the specified database in the branch.WriteUpdate Postgres Database
Updates the specified database in the branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
database_namestringrequired- No description.
namestring- No description.
owner_namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_update_postgres_endpointUpdates the specified compute endpoint.WriteUpdate Postgres Endpoint
Updates the specified compute endpoint.
Inputs
endpoint_idstringrequired- No description.
autoscaling_limit_max_cunumber- No description.
autoscaling_limit_min_cunumber- No description.
branch_idstring- No description.
disabledboolean- No description.
namestring- No description.
passwordless_accessboolean- No description.
pooler_enabledboolean- No description.
pooler_modestring- No description.one of
transaction project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
provisionerstring- No description.
settingsobject- No description.
suspend_timeout_secondsinteger- No description.
neonmcp_update_projectUpdates the specified project.WriteUpdate Project
Updates the specified project.
Inputs
default_endpoint_settingsobject- No description.
history_retention_secondsinteger- No description.
namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
settingsobject- No description.
neonmcp_update_snapshotUpdates the specified snapshot.WriteUpdate Snapshot
Updates the specified snapshot.
Inputs
snapshot_idstringrequired- No description.
expires_atstring- No description.
namestring- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_update_triggerApplies a partial update.WriteUpdate Trigger
Applies a partial update. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
bodystringrequired- No description.
branch_idstringrequired- No description.
trigger_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_complete_database_migrationApply a database migration to the main branch and clean up the temporary migration branch.DestructiveComplete Database Migration
Apply a database migration to the main branch and clean up the temporary migration branch.
Inputs
database_namestringrequired- The database name. Pass the exact value from prepare_database_migration.
migration_idstringrequired- The migration ID from prepare_database_migration.
migration_sqlstringrequired- The SQL statements to apply. Pass the exact value from prepare_database_migration.
parent_branch_idstringrequired- The parent branch ID where migration will be applied.
temporary_branch_idstringrequired- The temporary branch ID to delete after migration.
apply_changesboolean- Whether to apply the migration. Set to false to just delete the temp branch without applying.default
true project_idstring- The project ID. Pass the exact value from prepare_database_migration. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_complete_query_tuningFinish a query tuning session by applying or discarding changes from the temporary tuning branch.DestructiveComplete Query Tuning
Finish a query tuning session by applying or discarding changes from the temporary tuning branch.
Inputs
database_namestringrequired- The name of the database to execute the query against
suggested_sql_statementsarrayrequired- The SQL DDL statements to execute to improve performance. These statements are the result of the prior steps, for example creating additional indexes.
temporary_branch_idstringrequired- The ID of the temporary branch that needs to be deleted after tuning.
tuning_idstringrequired- The ID of the tuning to complete. This is NOT the branch ID. Remember this ID from the prior step using tool prepare_query_tuning.
apply_changesboolean- Whether to apply the suggested changes to the main branchdefault
false branch_idstring- The ID or name of the branch that receives the changes. If not provided, the default (main) branch will be used.
project_idstring- The ID of the project to execute the query against. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
role_namestring- The name of the role to connect with. If you have used a specific role in prepare_query_tuning you MUST pass the same role again to this tool. If not provided, the default role (usually "neondb_owner") will be used.
should_delete_temporary_branchboolean- Whether to delete the temporary branch after tuningdefault
true
neonmcp_delete_auth_oauth_clientDeletes an OAuth client from the Neon Auth OAuth server.DestructiveDelete Auth Oauth Client
Deletes an OAuth client from the Neon Auth OAuth server. Irreversible. Tokens already issued to the client are not revoked. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
client_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_auth_oauth_providerDeletes an OAuth provider from the specified project.DestructiveDelete Auth Oauth Provider
Deletes an OAuth provider from the specified project. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
oauth_provider_idstringrequired- No description.one of
googlegithubmicrosoftvercelapple project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_auth_trusted_domainRemoves a domain from the redirect URI whitelist for the specified branch.DestructiveDelete Auth Trusted Domain
Removes a domain from the redirect URI whitelist for the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
auth_providerstringrequired- No description.one of
mockstackbetter_auth branch_idstringrequired- No description.
domainsarrayrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_auth_userDeletes the specified user from the Neon Auth user directory for the specified branch.DestructiveDelete Auth User
Deletes the specified user from the Neon Auth user directory for the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
auth_user_idstringrequired- No description.
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_branchPermanently delete a branch and all its data from a Neon project.DestructiveDelete Branch
Permanently delete a branch and all its data from a Neon project.
Inputs
branch_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_data_apiDeletes the Neon Data API for the specified branch.DestructiveDelete Data Api
Deletes the Neon Data API for the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
database_namestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_functionDeletes the function identified by its slug.DestructiveDelete Function
Deletes the function identified by its slug. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
slugstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_functions_custom_domainRemoves a custom domain registered on the branch and stops routing it.DestructiveDelete Functions Custom Domain
Removes a custom domain registered on the branch and stops routing it. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
domainstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_postgres_databaseDeletes the specified database from the branch.DestructiveDelete Postgres Database
Deletes the specified database from the branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
database_namestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_postgres_endpointDeletes the specified compute endpoint.DestructiveDelete Postgres Endpoint
Deletes the specified compute endpoint.
Inputs
endpoint_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_postgres_roleDeletes the specified Postgres role from the branch.DestructiveDelete Postgres Role
Deletes the specified Postgres role from the branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
role_namestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_projectPermanently delete a Neon project and all its branches and data.DestructiveDelete Project
Permanently delete a Neon project and all its branches and data.
Inputs
project_idstringrequired- No description.
neonmcp_delete_snapshotDeletes the specified snapshot.DestructiveDelete Snapshot
Deletes the specified snapshot.
Inputs
snapshot_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_storage_bucketDeletes the named bucket from the specified branch.DestructiveDelete Storage Bucket
Deletes the named bucket from the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
bucket_namestringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_storage_objectDeletes the named object from the bucket on the specified branch.DestructiveDelete Storage Object
Deletes the named object from the bucket on the specified branch. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
bucket_namestringrequired- No description.
object_keystringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_storage_objects_by_prefixSoft-deletes every object on the specified branch whose key starts with `prefix`, in a single call.DestructiveDelete Storage Objects By Prefix
Soft-deletes every object on the specified branch whose key starts with `prefix`, in a single call. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
bucket_namestringrequired- No description.
prefixstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_delete_triggerDeletes a branch-local trigger or writes a branch-local tombstone for an inherited trigger so it does not reappear.DestructiveDelete Trigger
Deletes a branch-local trigger or writes a branch-local tombstone for an inherited trigger so it does not reappear. branch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.
Inputs
branch_idstringrequired- No description.
trigger_idstringrequired- No description.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_reset_from_parentReset a branch to its parent branch state, discarding all changes made on the branch.DestructiveReset From Parent
Reset a branch to its parent branch state, discarding all changes made on the branch.
Inputs
branch_idstringrequired- No description.
preserve_under_namestring- Name under which to save the current branch before the reset. Required when the branch has children; those children move to the new branch.
project_idstring- Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
neonmcp_run_sqlExecute a single SQL statement against a Neon database and return the results.DestructiveRun Sql
Execute a single SQL statement against a Neon database and return the results.
Inputs
sqlstringrequired- The SQL query to execute
branch_idstring- An optional ID of the branch to execute the query against. If not provided the default branch is used.
compute_idstring- An optional ID of the compute/endpoint to run on. If not provided, the read-write compute of the branch is used.
database_namestring- The name of the database. If not provided, the default neondb or first available database is used.
project_idstring- The ID of the project to execute the query against. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
role_namestring- An optional Postgres role to log in as. The server resolves its credentials internally and never returns them. If not provided, the database owner is used. On a connection pinned to a role, omit this or pass that role.
neonmcp_run_sql_transactionExecute multiple SQL statements as a single transaction against a Neon database.DestructiveRun Sql Transaction
Execute multiple SQL statements as a single transaction against a Neon database.
Inputs
sql_statementsarrayrequired- The SQL statements to execute
branch_idstring- An optional ID of the branch to execute the query against. If not provided the default branch is used.
compute_idstring- An optional ID of the compute/endpoint to run on. If not provided, the read-write compute of the branch is used.
database_namestring- The name of the database. If not provided, the default neondb or first available database is used.
project_idstring- The ID of the project to execute the query against. Required for an unscoped connection. May be omitted when the connection is scoped to one project; if provided, it must match that project.
role_namestring- An optional Postgres role to log in as. The server resolves its credentials internally and never returns them. If not provided, the database owner is used. On a connection pinned to a role, omit this or pass that role.
No tools match.