{
  "server": "neon",
  "url": "https://mcp.neon.tech/mcp",
  "date": "2026-09-25",
  "protocolVersion": "2025-11-25",
  "serverInfo": {
    "name": "mcp-server-neon",
    "version": "1.0.0"
  },
  "listChangedDeclared": true,
  "toolCount": 113,
  "outputSchemaCoveragePct": 0,
  "tools": [
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Add an OAuth provider"
      },
      "description": "Adds an OAuth provider configuration to the specified branch's Neon Auth integration.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "client_id": {
            "type": "string"
          },
          "client_secret": {
            "type": "string"
          },
          "id": {
            "enum": [
              "google",
              "github",
              "microsoft",
              "vercel"
            ],
            "type": "string"
          },
          "microsoft_tenant_id": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "id"
        ],
        "type": "object"
      },
      "name": "add_auth_oauth_provider",
      "title": "Add an OAuth provider"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Add domain to redirect_uri whitelist"
      },
      "description": "Adds a domain to the redirect URI whitelist for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "auth_provider": {
            "enum": [
              "mock",
              "stack",
              "better_auth"
            ],
            "type": "string"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "domain": {
            "format": "uri",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "domain",
          "auth_provider"
        ],
        "type": "object"
      },
      "name": "add_auth_trusted_domain",
      "title": "Add domain to redirect_uri whitelist"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Compare database schema"
      },
      "description": "Compare one database's SQL schema on a branch to another. `database_name` is required. Omit `base_branch_id` to compare against the parent; it is a branch id (`br-...`), not a name. Pass `lsn`, `timestamp`, `base_lsn`, or `base_timestamp` only for a point-in-time comparison.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "base_branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "base_lsn": {
            "type": "string"
          },
          "base_timestamp": {
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
            "type": "string"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "database_name": {
            "type": "string"
          },
          "lsn": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "timestamp": {
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "database_name"
        ],
        "type": "object"
      },
      "name": "compare_database_schema",
      "title": "Compare database schema"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Complete Database Migration"
      },
      "description": "Apply or discard a prepared migration and delete the temporary branch. NEVER run autonomously; always ask the user first. Pass migration_id, migration_sql, database_name, project_id, temporary_branch_id, and parent_branch_id from prepare_database_migration. Set apply_changes false to discard; omitting it applies the migration.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "apply_changes": {
            "default": true,
            "description": "Whether to apply the migration. Set to false to just delete the temp branch without applying.",
            "type": "boolean"
          },
          "database_name": {
            "description": "The database name. Pass the exact value from prepare_database_migration.",
            "type": "string"
          },
          "migration_id": {
            "description": "The migration ID from prepare_database_migration.",
            "type": "string"
          },
          "migration_sql": {
            "description": "The SQL statements to apply. Pass the exact value from prepare_database_migration.",
            "type": "string"
          },
          "parent_branch_id": {
            "description": "The parent branch ID where migration will be applied.",
            "type": "string"
          },
          "project_id": {
            "description": "The project ID. Pass the exact value from prepare_database_migration.",
            "type": "string"
          },
          "temporary_branch_id": {
            "description": "The temporary branch ID to delete after migration.",
            "type": "string"
          }
        },
        "required": [
          "migration_id",
          "migration_sql",
          "database_name",
          "project_id",
          "temporary_branch_id",
          "parent_branch_id"
        ],
        "type": "object"
      },
      "name": "complete_database_migration",
      "title": "Complete Database Migration"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Complete Query Tuning"
      },
      "description": "Apply or discard query-tuning changes and delete the temporary branch. NEVER run autonomously. Before calling, apply suggested SQL with run_sql on the temporary branch and re-run explain_sql_statement. Pass the tuning_id from prepare_query_tuning, not the branch id, plus temporary_branch_id. Set apply_changes true to apply; omitting it discards. Call this even when the user rejects the changes. Do not use prepare_database_migration.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "apply_changes": {
            "default": false,
            "description": "Whether to apply the suggested changes to the main branch",
            "type": "boolean"
          },
          "branch_id": {
            "description": "The ID or name of the branch that receives the changes. If not provided, the default (main) branch will be used.",
            "type": "string"
          },
          "database_name": {
            "description": "The name of the database to execute the query against",
            "type": "string"
          },
          "project_id": {
            "description": "The ID of the project to execute the query against",
            "type": "string"
          },
          "role_name": {
            "description": "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.",
            "type": "string"
          },
          "should_delete_temporary_branch": {
            "default": true,
            "description": "Whether to delete the temporary branch after tuning",
            "type": "boolean"
          },
          "suggested_sql_statements": {
            "description": "The SQL DDL statements to execute to improve performance. These statements are the result of the prior steps, for example creating additional indexes.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "temporary_branch_id": {
            "description": "The ID of the temporary branch that needs to be deleted after tuning.",
            "type": "string"
          },
          "tuning_id": {
            "description": "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.",
            "type": "string"
          }
        },
        "required": [
          "suggested_sql_statements",
          "tuning_id",
          "database_name",
          "project_id",
          "temporary_branch_id"
        ],
        "type": "object"
      },
      "name": "complete_query_tuning",
      "title": "Complete Query Tuning"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create new auth user"
      },
      "description": "Creates a new user in the Neon Auth user directory for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "email": {
            "format": "email",
            "maxLength": 256,
            "minLength": 1,
            "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "email"
        ],
        "type": "object"
      },
      "name": "create_auth_user",
      "title": "Create new auth user"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create branch"
      },
      "description": "Creates a branch with a read-write compute and waits until it is ready. Pass `no_compute: true` to skip the endpoint. Does not return a connection string; call `get_connection_string` with the project and branch id. Copies the parent at HEAD; point-in-time restore is `restore_snapshot`.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "compute": {
            "additionalProperties": false,
            "properties": {
              "max_cu": {
                "minimum": 0.25,
                "type": "number"
              },
              "min_cu": {
                "minimum": 0.25,
                "type": "number"
              },
              "suspend_timeout_seconds": {
                "maximum": 604800,
                "minimum": -1,
                "type": "integer"
              }
            },
            "type": "object"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "no_compute": {
            "description": "Skip the read-write endpoint. Default false. Cannot be combined with compute.",
            "type": "boolean"
          },
          "parent_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "create_branch",
      "title": "Create branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Issue a scoped credential on the branch"
      },
      "description": "Issues a new scoped service credential anchored to the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "name": {
            "maxLength": 256,
            "type": "string"
          },
          "principal_type": {
            "enum": [
              "user"
            ],
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "scopes": {
            "items": {
              "enum": [
                "storage:read",
                "storage:write",
                "ai_gateway:invoke",
                "functions:invoke"
              ],
              "type": "string"
            },
            "maxItems": 16,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "scopes",
          "principal_type"
        ],
        "type": "object"
      },
      "name": "create_credential",
      "title": "Issue a scoped credential on the branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create database"
      },
      "description": "Creates a database in the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "owner_name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "name",
          "owner_name"
        ],
        "type": "object"
      },
      "name": "create_postgres_database",
      "title": "Create database"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create compute endpoint"
      },
      "description": "Creates a compute endpoint on a branch. Does not return a connection string; call `get_connection_string`.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "autoscaling_limit_max_cu": {
            "minimum": 0.25,
            "type": "number"
          },
          "autoscaling_limit_min_cu": {
            "minimum": 0.25,
            "type": "number"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "disabled": {
            "type": "boolean"
          },
          "name": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "passwordless_access": {
            "type": "boolean"
          },
          "pooler_enabled": {
            "type": "boolean"
          },
          "pooler_mode": {
            "enum": [
              "transaction"
            ],
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "provisioner": {
            "type": "string"
          },
          "region_id": {
            "type": "string"
          },
          "settings": {
            "additionalProperties": false,
            "properties": {
              "pg_settings": {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "pgbouncer_settings": {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "preload_libraries": {
                "additionalProperties": false,
                "properties": {
                  "enabled_libraries": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "use_defaults": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "suspend_timeout_seconds": {
            "maximum": 604800,
            "minimum": -1,
            "type": "integer"
          },
          "type": {
            "enum": [
              "read_only",
              "read_write"
            ],
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "type"
        ],
        "type": "object"
      },
      "name": "create_postgres_endpoint",
      "title": "Create compute endpoint"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create role"
      },
      "description": "Creates a Postgres role in the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "no_login": {
            "type": "boolean"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "name"
        ],
        "type": "object"
      },
      "name": "create_postgres_role",
      "title": "Create role"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create project"
      },
      "description": "Creates a Neon project and waits until the default compute is ready. `org_id` is optional: organization API keys use their organization; personal API keys auto-select when unambiguous and otherwise return the IDs to choose from. Does not return a connection string; call `get_connection_string` with the project id.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "autoscaling_limit_max_cu": {
            "minimum": 0.25,
            "type": "number"
          },
          "autoscaling_limit_min_cu": {
            "minimum": 0.25,
            "type": "number"
          },
          "branch": {
            "additionalProperties": false,
            "properties": {
              "annotations": {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "database_name": {
                "type": "string"
              },
              "name": {
                "maxLength": 256,
                "minLength": 1,
                "type": "string"
              },
              "role_name": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "default_endpoint_settings": {
            "additionalProperties": false,
            "properties": {
              "autoscaling_limit_max_cu": {
                "minimum": 0.25,
                "type": "number"
              },
              "autoscaling_limit_min_cu": {
                "minimum": 0.25,
                "type": "number"
              },
              "pg_settings": {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "pgbouncer_settings": {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "suspend_timeout_seconds": {
                "maximum": 604800,
                "minimum": -1,
                "type": "integer"
              }
            },
            "type": "object"
          },
          "history_retention_seconds": {
            "maximum": 2592000,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "org_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "pg_version": {
            "maximum": 19,
            "minimum": 14,
            "type": "integer"
          },
          "provisioner": {
            "type": "string"
          },
          "region_id": {
            "type": "string"
          },
          "settings": {
            "additionalProperties": false,
            "properties": {
              "allowed_ips": {
                "additionalProperties": false,
                "properties": {
                  "ips": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "protected_branches_only": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "audit_log_level": {
                "enum": [
                  "base",
                  "extended",
                  "full"
                ],
                "type": "string"
              },
              "block_public_connections": {
                "type": "boolean"
              },
              "block_vpc_connections": {
                "type": "boolean"
              },
              "enable_logical_replication": {
                "type": "boolean"
              },
              "hipaa": {
                "type": "boolean"
              },
              "maintenance_window": {
                "additionalProperties": false,
                "properties": {
                  "end_time": {
                    "type": "string"
                  },
                  "start_time": {
                    "type": "string"
                  },
                  "weekdays": {
                    "items": {
                      "maximum": 9007199254740991,
                      "minimum": -9007199254740991,
                      "type": "integer"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "weekdays",
                  "start_time",
                  "end_time"
                ],
                "type": "object"
              },
              "preload_libraries": {
                "additionalProperties": false,
                "properties": {
                  "enabled_libraries": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "use_defaults": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "quota": {
                "additionalProperties": false,
                "properties": {
                  "active_time_seconds": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "compute_time_seconds": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "data_transfer_bytes": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "logical_size_bytes": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "written_data_bytes": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "store_passwords": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "name": "create_project",
      "title": "Create project"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create snapshot"
      },
      "description": "Creates a snapshot from the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "expires_at": {
            "type": "string"
          },
          "lsn": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "create_snapshot",
      "title": "Create snapshot"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create a bucket on the branch"
      },
      "description": "Creates a new branchable object storage bucket on the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "access_level": {
            "enum": [
              "private",
              "public_read"
            ],
            "type": "string"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "name"
        ],
        "type": "object"
      },
      "name": "create_storage_bucket",
      "title": "Create a bucket on the branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create a trigger"
      },
      "description": "Creates a trigger for a Function visible on the branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "body": {
            "additionalProperties": false,
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "function_path": {
                "maxLength": 2048,
                "minLength": 1,
                "type": "string"
              },
              "function_slug": {
                "pattern": "^[a-z0-9]{1,20}$",
                "type": "string"
              },
              "name": {
                "maxLength": 256,
                "minLength": 1,
                "type": "string"
              },
              "schedule": {
                "additionalProperties": false,
                "properties": {
                  "cron": {
                    "maxLength": 1024,
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "cron"
                ],
                "type": "object"
              },
              "type": {
                "enum": [
                  "schedule"
                ],
                "type": "string"
              }
            },
            "required": [
              "type",
              "function_slug",
              "name",
              "schedule"
            ],
            "type": "object"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "body"
        ],
        "type": "object"
      },
      "name": "create_trigger",
      "title": "Create a trigger"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete OAuth provider"
      },
      "description": "Deletes an OAuth provider from the specified project.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "oauth_provider_id": {
            "enum": [
              "google",
              "github",
              "microsoft",
              "vercel"
            ],
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "oauth_provider_id"
        ],
        "type": "object"
      },
      "name": "delete_auth_oauth_provider",
      "title": "Delete OAuth provider"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete domain from redirect_uri whitelist"
      },
      "description": "Removes a domain from the redirect URI whitelist for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "auth_provider": {
            "enum": [
              "mock",
              "stack",
              "better_auth"
            ],
            "type": "string"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "domains": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "domain": {
                  "format": "uri",
                  "type": "string"
                }
              },
              "required": [
                "domain"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "auth_provider",
          "domains"
        ],
        "type": "object"
      },
      "name": "delete_auth_trusted_domain",
      "title": "Delete domain from redirect_uri whitelist"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete auth user"
      },
      "description": "Deletes the specified user from the Neon Auth user directory for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "auth_user_id": {
            "type": "string"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "auth_user_id"
        ],
        "type": "object"
      },
      "name": "delete_auth_user",
      "title": "Delete auth user"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete branch"
      },
      "description": "Delete a branch and all its data. NEVER run autonomously; always ask the user first. For the whole project, use `delete_project`.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "delete_branch",
      "title": "Delete branch"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete Neon Data API"
      },
      "description": "Deletes the Neon Data API for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "database_name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "database_name"
        ],
        "type": "object"
      },
      "name": "delete_data_api",
      "title": "Delete Neon Data API"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete a function on the branch"
      },
      "description": "Deletes the function identified by its slug.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "slug": {
            "pattern": "^[a-z0-9]{1,20}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "slug"
        ],
        "type": "object"
      },
      "name": "delete_function",
      "title": "Delete a function on the branch"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete a custom domain from a branch"
      },
      "description": "Removes a custom domain registered on the branch and stops routing it.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "domain": {
            "maxLength": 254,
            "minLength": 3,
            "pattern": "^[A-Za-z0-9.-]+$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "domain"
        ],
        "type": "object"
      },
      "name": "delete_functions_custom_domain",
      "title": "Delete a custom domain from a branch"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete database"
      },
      "description": "Deletes the specified database from the branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "database_name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "database_name"
        ],
        "type": "object"
      },
      "name": "delete_postgres_database",
      "title": "Delete database"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete compute endpoint"
      },
      "description": "Deletes the specified compute endpoint.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "endpoint_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "endpoint_id"
        ],
        "type": "object"
      },
      "name": "delete_postgres_endpoint",
      "title": "Delete compute endpoint"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete role"
      },
      "description": "Deletes the specified Postgres role from the branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "role_name": {
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "role_name"
        ],
        "type": "object"
      },
      "name": "delete_postgres_role",
      "title": "Delete role"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete project"
      },
      "description": "Delete a Neon project and all its data. NEVER run autonomously; always ask the user first. For a single branch, use `delete_branch`.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "delete_project",
      "title": "Delete project"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete snapshot"
      },
      "description": "Deletes the specified snapshot.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "snapshot_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "snapshot_id"
        ],
        "type": "object"
      },
      "name": "delete_snapshot",
      "title": "Delete snapshot"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete a bucket on the branch"
      },
      "description": "Deletes the named bucket from the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "bucket_name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "bucket_name"
        ],
        "type": "object"
      },
      "name": "delete_storage_bucket",
      "title": "Delete a bucket on the branch"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete an object in a bucket"
      },
      "description": "Deletes the named object from the bucket on the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "bucket_name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "object_key": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "bucket_name",
          "object_key"
        ],
        "type": "object"
      },
      "name": "delete_storage_object",
      "title": "Delete an object in a bucket"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete every object under a key prefix (folder) in a bucket"
      },
      "description": "Soft-deletes every object on the specified branch whose key starts with `prefix`, in a single call.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "bucket_name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "prefix": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "bucket_name",
          "prefix"
        ],
        "type": "object"
      },
      "name": "delete_storage_objects_by_prefix",
      "title": "Delete every object under a key prefix (folder) in a bucket"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Delete a trigger"
      },
      "description": "Deletes a branch-local trigger or writes a branch-local tombstone for an inherited trigger so it does not reappear.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "trigger_id": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.\\-]{0,127}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "trigger_id"
        ],
        "type": "object"
      },
      "name": "delete_trigger",
      "title": "Delete a trigger"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Deploy code to a function"
      },
      "description": "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`.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "environment": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "runtime": {
            "enum": [
              "nodejs24"
            ],
            "type": "string"
          },
          "slug": {
            "pattern": "^[a-z0-9]{1,20}$",
            "type": "string"
          },
          "zip": {
            "contentEncoding": "base64",
            "description": "Base64-encoded binary file contents.",
            "format": "base64",
            "pattern": "^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "slug"
        ],
        "type": "object"
      },
      "name": "deploy_function",
      "title": "Deploy code to a function"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Describe Branch"
      },
      "description": "Get a tree view of all objects in a branch, including databases, schemas, tables, views, and functions. Do not use when you only need table names (use `get_database_tables` instead) or column detail (use `describe_table_schema` instead).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "description": "An ID of the branch to describe",
            "type": "string"
          },
          "database_name": {
            "description": "The name of the database. If not provided, the default neondb or first available database is used.",
            "type": "string"
          },
          "project_id": {
            "description": "The ID of the project",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "describe_branch",
      "title": "Describe Branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Retrieve project details"
      },
      "description": "Retrieves the project record (settings, compute, usage). Call `list_branches` for branches.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "describe_project",
      "title": "Retrieve project details"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Describe Table Schema"
      },
      "description": "Get column definitions, data types, and constraints for a specific table. Do not use when you need all tables in a database (use `get_database_tables` instead).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "description": "An optional ID of the branch to execute the query against. If not provided the default branch is used.",
            "type": "string"
          },
          "database_name": {
            "description": "The name of the database. If not provided, the default neondb or first available database is used.",
            "type": "string"
          },
          "project_id": {
            "description": "The ID of the project to execute the query against",
            "type": "string"
          },
          "table_name": {
            "description": "The table name, optionally schema-qualified (for example, crm.contacts)",
            "type": "string"
          }
        },
        "required": [
          "table_name",
          "project_id"
        ],
        "type": "object"
      },
      "name": "describe_table_schema",
      "title": "Describe Table Schema"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Disable Neon Auth for the branch"
      },
      "description": "Disables the Neon Auth integration for the specified branch, removing the connection to the authentication provider.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "delete_data": {
            "type": "boolean"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "disable_auth",
      "title": "Disable Neon Auth for the branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Explain SQL Statement"
      },
      "description": "Analyze the query execution plan for a SQL statement using EXPLAIN ANALYZE. Do not use when you need to execute the query for results (use `run_sql` instead).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "analyze": {
            "default": true,
            "description": "Whether to include ANALYZE in the EXPLAIN command",
            "type": "boolean"
          },
          "branch_id": {
            "description": "An optional ID of the branch to execute the query against. If not provided the default branch is used.",
            "type": "string"
          },
          "database_name": {
            "description": "The name of the database. If not provided, the default neondb or first available database is used.",
            "type": "string"
          },
          "project_id": {
            "description": "The ID of the project to execute the query against",
            "type": "string"
          },
          "sql": {
            "description": "The SQL statement to analyze",
            "type": "string"
          }
        },
        "required": [
          "sql",
          "project_id"
        ],
        "type": "object"
      },
      "name": "explain_sql_statement",
      "title": "Explain SQL Statement"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Fetch"
      },
      "description": "Fetch detailed information about a specific organization, project, or branch using the ID returned by the `search` tool.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "The ID returned by the search tool to fetch detailed information about the entity",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "fetch",
      "title": "Fetch"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Finalize branch restore from snapshot"
      },
      "description": "Finalize a branch created with `restore_snapshot` and `finalize: false`: reassign computes (this restarts them) and swap names so it replaces the original branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "finalize_branch_restore",
      "title": "Finalize branch restore from snapshot"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Get branch AI Gateway endpoint"
      },
      "description": "Returns the AI Gateway endpoint host for the specified branch, used to render code-snippet base URLs.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "get_ai_gateway",
      "title": "Get branch AI Gateway endpoint"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Retrieve Neon Auth details for the branch"
      },
      "description": "Retrieves the Neon Auth integration details for the specified branch, including the auth provider type and integration status.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "get_auth",
      "title": "Retrieve Neon Auth details for the branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Retrieve branch details"
      },
      "description": "Retrieves information about the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "get_branch",
      "title": "Retrieve branch details"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Get Connection String"
      },
      "description": "Get a PostgreSQL connection string for a Neon database. The branch must have a compute endpoint. `create_project` and `create_branch` do not return one; call this after they succeed. All parameters are optional; the tool resolves the project, branch, and database automatically if not specified. Requires write access: the connection string carries a privileged role password, so it is unavailable in read-only mode. A read-only caller who needs a DATABASE_URL must copy it from https://console.neon.tech manually.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "description": "The ID or name of the branch. If not provided, the default branch will be used.",
            "type": "string"
          },
          "compute_id": {
            "description": "The ID of the compute/endpoint. If not provided, the read-write compute associated with the branch will be used.",
            "type": "string"
          },
          "database_name": {
            "description": "The name of the database. If not provided, the default neondb or first available database is used.",
            "type": "string"
          },
          "project_id": {
            "description": "The ID of the project. If not provided, the only available project will be used.",
            "type": "string"
          },
          "role_name": {
            "description": "The name of the role to connect with. If not provided, the database owner name will be used.",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "get_connection_string",
      "title": "Get Connection String"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Retrieve Neon Data API configuration"
      },
      "description": "Retrieves the Neon Data API configuration for the specified branch, including endpoint URL, enabled state, and database settings.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "database_name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "database_name"
        ],
        "type": "object"
      },
      "name": "get_data_api",
      "title": "Retrieve Neon Data API configuration"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Get Database Tables"
      },
      "description": "List all tables in a Neon database. Do not use when you need column-level detail for a specific table (use `describe_table_schema` instead).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "description": "An optional ID of the branch. If not provided the default branch is used.",
            "type": "string"
          },
          "database_name": {
            "description": "The name of the database. If not provided, the default neondb or first available database is used.",
            "type": "string"
          },
          "project_id": {
            "description": "The ID of the project",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "get_database_tables",
      "title": "Get Database Tables"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Get default branch"
      },
      "description": "Resolve the project's default branch by the default flag, not by name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "get_default_branch",
      "title": "Get default branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true,
        "readOnlyHint": true,
        "title": "Get Documentation Resource"
      },
      "description": "Fetch one Neon documentation page as markdown. Pass a slug from list_docs_resources (for example docs/guides/prisma.md).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "slug": {
            "description": "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.",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "get_doc_resource",
      "title": "Get Documentation Resource"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Get function details"
      },
      "description": "Returns the function identified by its slug.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "slug": {
            "pattern": "^[a-z0-9]{1,20}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "slug"
        ],
        "type": "object"
      },
      "name": "get_function",
      "title": "Get function details"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Get Neon Auth configuration"
      },
      "description": "Read Neon Auth config for a branch with OAuth and SMTP secrets redacted as \"***redacted***\". Requires provision_neon_auth first.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "description": "Branch ID. If omitted, the project default branch is used (same as provision_neon_auth).",
            "type": "string"
          },
          "project_id": {
            "description": "Neon project ID",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "get_neon_auth_config",
      "title": "Get Neon Auth configuration"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Retrieve operation details"
      },
      "description": "Retrieves details for the specified operation.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "operation_id": {
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "operation_id"
        ],
        "type": "object"
      },
      "name": "get_operation",
      "title": "Retrieve operation details"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Retrieve database details"
      },
      "description": "Retrieves information about the specified database.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "database_name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "database_name"
        ],
        "type": "object"
      },
      "name": "get_postgres_database",
      "title": "Retrieve database details"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Retrieve compute endpoint details"
      },
      "description": "Retrieves information about the specified compute endpoint.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "endpoint_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "endpoint_id"
        ],
        "type": "object"
      },
      "name": "get_postgres_endpoint",
      "title": "Retrieve compute endpoint details"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Retrieve role details"
      },
      "description": "Retrieves details about the specified role.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "role_name": {
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "role_name"
        ],
        "type": "object"
      },
      "name": "get_postgres_role",
      "title": "Retrieve role details"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Retrieve backup schedule"
      },
      "description": "Returns the backup schedule for the specified branch, including the configured snapshot frequencies.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "get_snapshot_schedule",
      "title": "Retrieve backup schedule"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Get branch object storage state"
      },
      "description": "Returns whether branchable object storage is usable for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "get_storage",
      "title": "Get branch object storage state"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Get a trigger"
      },
      "description": "Returns the trigger visible on the branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "trigger_id": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.\\-]{0,127}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "trigger_id"
        ],
        "type": "object"
      },
      "name": "get_trigger",
      "title": "Get a trigger"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Inspect Database"
      },
      "description": "Run one read-only neon inspect db check (pick `check` from the input schema). Not for arbitrary SQL (`run_sql`), one statement's plan (`explain_sql_statement`), or applying indexes (`prepare_query_tuning`). Omit `database_name` to cover every database; some checks are compute-wide. If a check needs an extension, the tool names `CREATE EXTENSION`; ask before running it.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "description": "An optional ID of the branch. If not provided the default branch is used.",
            "type": "string"
          },
          "check": {
            "description": "Which diagnostic to run:\n`table-sizes`: Size of each table (including TOAST), largest first (pg_table_size)\n`index-sizes`: Size of each index, largest first (pg_relation_size)\n`unused-indexes`: Non-unique indexes with fewer than 50 scans — candidates for removal (pg_stat_user_indexes)\n`seq-scans`: Number of sequential scans recorded against each table (pg_stat_user_tables)\n`long-running-queries`: Queries running longer than 5 minutes (pg_stat_activity)\n`stalled-queries`: Active queries running longer than 30 seconds with parallel-worker grouping, waits, and blockers, oldest query group first (compute-wide)\n`locks`: Locks held with the acquiring query and its age (pg_locks + pg_stat_activity)\n`outliers`: The 25 queries with the highest cumulative execution time since statistics were last reset (needs pg_stat_statements)\n`calls`: The 25 most frequently executed queries since statistics were last reset (needs pg_stat_statements)\n`lfc-hit-rate`: Local File Cache hit rate (compute-wide, needs neon extension)\n`working-set`: Estimated working set vs LFC size (compute-wide, needs neon extension)\n`vacuum-stats`: Autovacuum status per table: last (auto)vacuum, dead tuples, threshold\n`bloat`: Estimated bloat for the 25 most bloated tables (statistical estimate, no extension needed)\n`replication-slots`: Replication slots (compute-wide): kind, status, client, restart/confirmed-flush LSNs, and lag (pg_replication_slots + pg_stat_replication)\n`subscriptions`: Per-table logical replication progress on this subscriber (pg_subscription_rel)",
            "enum": [
              "table-sizes",
              "index-sizes",
              "unused-indexes",
              "seq-scans",
              "long-running-queries",
              "stalled-queries",
              "locks",
              "outliers",
              "calls",
              "lfc-hit-rate",
              "working-set",
              "vacuum-stats",
              "bloat",
              "replication-slots",
              "subscriptions"
            ],
            "type": "string"
          },
          "compute_id": {
            "description": "The ID of the compute/endpoint. If not provided, the read-write compute associated with the branch will be used.",
            "type": "string"
          },
          "database_name": {
            "description": "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.",
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "default": 50,
            "description": "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.",
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "project_id": {
            "description": "The ID of the project to inspect",
            "type": "string"
          }
        },
        "required": [
          "check",
          "project_id"
        ],
        "type": "object"
      },
      "name": "inspect_database",
      "title": "Inspect Database"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List OAuth providers for the branch"
      },
      "description": "Lists the OAuth providers configured for the specified branch's Neon Auth integration.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_auth_oauth_providers",
      "title": "List OAuth providers for the branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List domains in redirect_uri whitelist"
      },
      "description": "Lists the trusted domains in the redirect URI whitelist for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_auth_trusted_domains",
      "title": "List domains in redirect_uri whitelist"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List branch endpoints"
      },
      "description": "Retrieves a list of compute endpoints for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_branch_computes",
      "title": "List branch endpoints"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List branches"
      },
      "description": "Retrieves a list of branches for the specified project. Returns every page. Pass limit to cap how many.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "include_deleted": {
            "type": "boolean"
          },
          "limit": {
            "maximum": 10000,
            "minimum": 1,
            "type": "integer"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "search": {
            "type": "string"
          },
          "sort_by": {
            "enum": [
              "name",
              "created_at",
              "updated_at"
            ],
            "type": "string"
          },
          "sort_order": {
            "enum": [
              "asc",
              "desc"
            ],
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "list_branches",
      "title": "List branches"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List credentials on the branch"
      },
      "description": "Returns metadata for customer-issued credentials on the branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_credentials",
      "title": "List credentials on the branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true,
        "readOnlyHint": true,
        "title": "List Documentation Resources"
      },
      "description": "List Neon documentation page slugs from neon.com/docs/llms.txt. Call this before get_doc_resource; do not guess slugs.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "list_docs_resources",
      "title": "List Documentation Resources"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List functions on the branch"
      },
      "description": "Lists functions on the specified branch. Returns every page. Pass limit to cap how many.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "limit": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_functions",
      "title": "List functions on the branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List the custom domains on a branch"
      },
      "description": "Lists all custom domains registered on the branch, across every target entity. Returns every page. Pass limit to cap how many.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "limit": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_functions_custom_domains",
      "title": "List the custom domains on a branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List branch log field values"
      },
      "description": "Lists distinct values for a low-cardinality log field. Call `list_log_fields` first for `field_name`; a field the branch has never emitted returns `unknown_field`. Pass `since` or `start_time`, not both; default is the previous six hours, max seven days. Private beta.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "end_time": {
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
            "type": "string"
          },
          "field_name": {
            "minLength": 1,
            "type": "string"
          },
          "limit": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "since": {
            "pattern": "^[0-9]{1,6}(ms|s|m|h|d)$",
            "type": "string"
          },
          "source": {
            "enum": [
              "function",
              "storage",
              "pg_endpoint"
            ],
            "type": "string"
          },
          "start_time": {
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "field_name"
        ],
        "type": "object"
      },
      "name": "list_log_field_values",
      "title": "List branch log field values"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List branch log fields"
      },
      "description": "Lists the low-cardinality log fields observed on this branch. Call `list_log_field_values` with `field_name` to list distinct values.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_log_fields",
      "title": "List branch log fields"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List operations"
      },
      "description": "Lists operations for a project. Omitting `limit` returns every remaining page. There is no `cursor` argument.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "list_operations",
      "title": "List operations"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List Organizations"
      },
      "description": "List all organizations the current user belongs to. Supports optional `search` parameter to filter by name or ID.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "search": {
            "description": "Search organizations by name or ID. You can specify partial name or ID values to filter results.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_organizations",
      "title": "List Organizations"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List databases"
      },
      "description": "Retrieves a list of databases for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_postgres_databases",
      "title": "List databases"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List compute endpoints"
      },
      "description": "Retrieves a list of compute endpoints for the specified project.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "list_postgres_endpoints",
      "title": "List compute endpoints"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List roles"
      },
      "description": "Retrieves a list of Postgres roles from the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_postgres_roles",
      "title": "List roles"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List org members and their project roles"
      },
      "description": "Lists organization members and their per-project roles for an org-owned project. Returns every page. Pass limit to cap how many.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "list_project_members",
      "title": "List org members and their project roles"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List project access"
      },
      "description": "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.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "list_project_permissions",
      "title": "List project access"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List projects"
      },
      "description": "List Neon projects you own. Returns every page. Pass limit to cap how many. There is no `cursor` argument. `org_id` is optional: organization API keys use their organization; personal API keys auto-select when unambiguous and otherwise return the IDs to choose from.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "limit": {
            "maximum": 400,
            "minimum": 1,
            "type": "integer"
          },
          "org_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "recoverable": {
            "type": "boolean"
          },
          "search": {
            "type": "string"
          },
          "timeout": {
            "maximum": 30000,
            "minimum": 100,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "list_projects",
      "title": "List projects"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List regions"
      },
      "description": "Lists Neon regions available to the authenticated account.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "list_regions",
      "title": "List regions"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List Slow Queries"
      },
      "description": "List queries from pg_stat_statements by execution time, slowest first. For sizes, indexes, locks, cache, bloat, or replication use inspect_database.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "description": "An optional ID of the branch. If not provided the default branch is used.",
            "type": "string"
          },
          "compute_id": {
            "description": "The ID of the compute/endpoint. If not provided, the read-write compute associated with the branch will be used.",
            "type": "string"
          },
          "database_name": {
            "description": "The name of the database. If not provided, the default neondb or first available database is used.",
            "type": "string"
          },
          "limit": {
            "default": 10,
            "description": "Maximum number of slow queries to return",
            "type": "number"
          },
          "min_execution_time": {
            "default": 1000,
            "description": "Minimum execution time in milliseconds to consider a query as slow",
            "type": "number"
          },
          "project_id": {
            "description": "The ID of the project to list slow queries from",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "list_slow_queries",
      "title": "List Slow Queries"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List project snapshots"
      },
      "description": "Lists the snapshots for the specified project.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "list_snapshots",
      "title": "List project snapshots"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List buckets on the branch"
      },
      "description": "Lists branchable object storage buckets visible on the specified branch, including those inherited from ancestor branches.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_storage_buckets",
      "title": "List buckets on the branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List objects in a bucket"
      },
      "description": "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.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "bucket_name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "delimiter": {
            "type": "string"
          },
          "limit": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "prefix": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "bucket_name"
        ],
        "type": "object"
      },
      "name": "list_storage_objects",
      "title": "List objects in a bucket"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "List triggers on the branch"
      },
      "description": "Lists the complete project-bounded set of triggers visible on the branch, ordered by `trigger_id`.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "list_triggers",
      "title": "List triggers on the branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Prepare Database Migration"
      },
      "description": "Apply a schema change on a temporary branch and return a migration_id. Test with run_sql on that branch, ask the user, then complete_database_migration — even if they reject, so the temporary branch is deleted. Pass every field from the prepare response.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "database_name": {
            "description": "The name of the database. If not provided, the default neondb or first available database is used.",
            "type": "string"
          },
          "migration_sql": {
            "description": "The SQL to execute to create the migration",
            "type": "string"
          },
          "project_id": {
            "description": "The ID of the project to execute the query against",
            "type": "string"
          }
        },
        "required": [
          "migration_sql",
          "project_id"
        ],
        "type": "object"
      },
      "name": "prepare_database_migration",
      "title": "Prepare Database Migration"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Prepare Query Tuning"
      },
      "description": "Analyze a slow query on a temporary branch and return a tuning_id. Apply suggested SQL with run_sql on that branch, re-run explain_sql_statement there, then complete_query_tuning with the tuning_id (not the branch id) — apply_changes true if they accept, omit it or pass false if they reject, so the temporary branch is deleted. Do not use prepare_database_migration.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "database_name": {
            "description": "The name of the database to execute the query against",
            "type": "string"
          },
          "project_id": {
            "description": "The ID of the project to execute the query against",
            "type": "string"
          },
          "role_name": {
            "description": "The name of the role to connect with. If not provided, the default role (usually \"neondb_owner\") will be used.",
            "type": "string"
          },
          "sql": {
            "description": "The SQL statement to analyze and tune",
            "type": "string"
          }
        },
        "required": [
          "sql",
          "database_name",
          "project_id"
        ],
        "type": "object"
      },
      "name": "prepare_query_tuning",
      "title": "Prepare Query Tuning"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Presign an upload or download for an object in a bucket"
      },
      "description": "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.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "bucket_name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "content_type": {
            "type": "string"
          },
          "expires_in_seconds": {
            "maximum": 604800,
            "minimum": 1,
            "type": "integer"
          },
          "object_key": {
            "maxLength": 1024,
            "minLength": 1,
            "type": "string"
          },
          "operation": {
            "enum": [
              "upload",
              "download"
            ],
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "bucket_name",
          "object_key",
          "operation"
        ],
        "type": "object"
      },
      "name": "presign_storage_object",
      "title": "Presign an upload or download for an object in a bucket"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Enable Neon Auth for the branch"
      },
      "description": "Enables Neon Auth for the specified branch by connecting it to an authentication provider.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "auth_provider": {
            "enum": [
              "mock",
              "stack",
              "better_auth"
            ],
            "type": "string"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "database_name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "auth_provider"
        ],
        "type": "object"
      },
      "name": "provision_neon_auth",
      "title": "Enable Neon Auth for the branch"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Create Neon Data API"
      },
      "description": "Creates a new instance of Neon Data API in the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "add_default_grants": {
            "type": "boolean"
          },
          "auth_provider": {
            "enum": [
              "neon_auth",
              "external"
            ],
            "type": "string"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "database_name": {
            "type": "string"
          },
          "jwks_url": {
            "format": "uri",
            "type": "string"
          },
          "jwt_audience": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "provider_name": {
            "type": "string"
          },
          "settings": {
            "additionalProperties": false,
            "properties": {
              "db_aggregates_enabled": {
                "type": "boolean"
              },
              "db_anon_role": {
                "type": "string"
              },
              "db_extra_search_path": {
                "type": "string"
              },
              "db_max_rows": {
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              },
              "db_schemas": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "jwt_cache_max_lifetime": {
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "type": "integer"
              },
              "jwt_role_claim_key": {
                "type": "string"
              },
              "openapi_mode": {
                "type": "string"
              },
              "server_cors_allowed_origins": {
                "type": "string"
              },
              "server_timing_enabled": {
                "type": "boolean"
              }
            },
            "type": "object"
          },
          "skip_auth_schema": {
            "type": "boolean"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "database_name"
        ],
        "type": "object"
      },
      "name": "provision_neon_data_api",
      "title": "Create Neon Data API"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Query branch logs"
      },
      "description": "Returns logs for a branch. Pass `limit` to cap how many. There is no `cursor` argument. Filters combine with AND. Pass `logql` instead of structured filters, not with them. Give the window as `since` or `start_time`, not both; default is the previous hour, max seven days; `end_time` is exclusive. Private beta; a branch without logs access returns HTTP 404 with reason \"telemetry_not_enabled\".\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "body_contains": {
            "minLength": 1,
            "type": "string"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "end_time": {
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
            "type": "string"
          },
          "limit": {
            "maximum": 1000,
            "minimum": 1,
            "type": "integer"
          },
          "logql": {
            "minLength": 1,
            "type": "string"
          },
          "minimum_severity": {
            "enum": [
              "trace",
              "debug",
              "info",
              "warn",
              "error",
              "fatal"
            ],
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "scope_name": {
            "minLength": 1,
            "type": "string"
          },
          "service_name": {
            "minLength": 1,
            "type": "string"
          },
          "severity_text": {
            "minLength": 1,
            "type": "string"
          },
          "since": {
            "pattern": "^[0-9]{1,6}(ms|s|m|h|d)$",
            "type": "string"
          },
          "sort_order": {
            "enum": [
              "asc",
              "desc"
            ],
            "type": "string"
          },
          "source": {
            "enum": [
              "function",
              "storage",
              "pg_endpoint"
            ],
            "type": "string"
          },
          "start_time": {
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
            "type": "string"
          },
          "trace_id": {
            "pattern": "^[0-9a-f]{32}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "query_logs",
      "title": "Query branch logs"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Recover a deleted project"
      },
      "description": "Recovers a deleted project within the 7-day deletion recovery period.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "recover_project",
      "title": "Recover a deleted project"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Register a custom domain on a branch"
      },
      "description": "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`.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "domain": {
            "maxLength": 254,
            "minLength": 3,
            "type": "string"
          },
          "entity_id": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "entity_type": {
            "maxLength": 32,
            "minLength": 1,
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "domain",
          "entity_type",
          "entity_id"
        ],
        "type": "object"
      },
      "name": "register_functions_custom_domain",
      "title": "Register a custom domain on a branch"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Reset branch from parent"
      },
      "description": "Reset a branch to its parent's current HEAD. Discards every change the branch has written since it diverged. NEVER run autonomously; always ask the user first. `preserve_under_name` saves the current state first and is required when the branch has children; those children move to the new branch. Point-in-time restore is `restore_snapshot`.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "preserve_under_name": {
            "description": "Name under which to save the current branch before the reset. Required when the branch has children; those children move to the new branch.",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "reset_from_parent",
      "title": "Reset branch from parent"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Reset role password"
      },
      "description": "Resets the password for the specified Postgres role.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "role_name": {
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "role_name"
        ],
        "type": "object"
      },
      "name": "reset_postgres_role_password",
      "title": "Reset role password"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Restart compute endpoint"
      },
      "description": "Restarts the specified compute endpoint by immediately suspending it and then starting it again.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "endpoint_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "endpoint_id"
        ],
        "type": "object"
      },
      "name": "restart_postgres_endpoint",
      "title": "Restart compute endpoint"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Restore snapshot"
      },
      "description": "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.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "finalize": {
            "description": "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.",
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "snapshot_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "target_branch_id": {
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "snapshot_id"
        ],
        "type": "object"
      },
      "name": "restore_snapshot",
      "title": "Restore snapshot"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Revoke a credential"
      },
      "description": "Soft-deletes the credential.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "token_id": {
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "token_id"
        ],
        "type": "object"
      },
      "name": "revoke_credential",
      "title": "Revoke a credential"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Rotate a credential's secrets"
      },
      "description": "Replaces the secret material on an existing scoped credential in place.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "token_id": {
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "token_id"
        ],
        "type": "object"
      },
      "name": "rotate_credential",
      "title": "Rotate a credential's secrets"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Run SQL"
      },
      "description": "Execute one SQL statement on a Neon database. If a prior step created a temporary branch, pass that branch_id. NEVER run destructive SQL autonomously; always ask the user first.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "description": "An optional ID of the branch to execute the query against. If not provided the default branch is used.",
            "type": "string"
          },
          "database_name": {
            "description": "The name of the database. If not provided, the default neondb or first available database is used.",
            "type": "string"
          },
          "project_id": {
            "description": "The ID of the project to execute the query against",
            "type": "string"
          },
          "sql": {
            "description": "The SQL query to execute",
            "type": "string"
          }
        },
        "required": [
          "sql",
          "project_id"
        ],
        "type": "object"
      },
      "name": "run_sql",
      "title": "Run SQL"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Run SQL Transaction"
      },
      "description": "Execute multiple SQL statements as one transaction. If a prior step created a temporary branch, pass that branch_id. NEVER run destructive SQL autonomously; always ask the user first.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "description": "An optional ID of the branch to execute the query against. If not provided the default branch is used.",
            "type": "string"
          },
          "database_name": {
            "description": "The name of the database. If not provided, the default neondb or first available database is used.",
            "type": "string"
          },
          "project_id": {
            "description": "The ID of the project to execute the query against",
            "type": "string"
          },
          "sql_statements": {
            "description": "The SQL statements to execute",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "sql_statements",
          "project_id"
        ],
        "type": "object"
      },
      "name": "run_sql_transaction",
      "title": "Run SQL Transaction"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true,
        "title": "Search"
      },
      "description": "Search across all organizations, projects, and branches by keyword. Returns matching items with id, title, and URL. Query must be at least 3 characters. Do not use when you need all projects (use `list_projects` instead).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "query": {
            "description": "The search query to find matching organizations, projects, or branches",
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search",
      "title": "Search"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Set branch as default"
      },
      "description": "Sets the specified branch as the project's default branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "set_default_branch",
      "title": "Set branch as default"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Set snapshot schedule"
      },
      "description": "Replace a branch's automatic snapshot schedule. Frequency must be daily, weekly, or monthly.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "schedule": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "day": {
                  "maximum": 31,
                  "minimum": 1,
                  "type": "integer"
                },
                "frequency": {
                  "enum": [
                    "daily",
                    "weekly",
                    "monthly"
                  ],
                  "type": "string"
                },
                "hour": {
                  "maximum": 23,
                  "minimum": 0,
                  "type": "integer"
                },
                "month": {
                  "maximum": 12,
                  "minimum": 1,
                  "type": "integer"
                },
                "retention_seconds": {
                  "maximum": 3024000,
                  "minimum": 3600,
                  "type": "integer"
                }
              },
              "required": [
                "frequency"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "schedule"
        ],
        "type": "object"
      },
      "name": "set_snapshot_schedule",
      "title": "Set snapshot schedule"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Start compute endpoint"
      },
      "description": "Starts a compute endpoint.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "endpoint_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "endpoint_id"
        ],
        "type": "object"
      },
      "name": "start_postgres_endpoint",
      "title": "Start compute endpoint"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Suspend compute endpoint"
      },
      "description": "Suspends the specified compute endpoint.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "endpoint_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "endpoint_id"
        ],
        "type": "object"
      },
      "name": "suspend_postgres_endpoint",
      "title": "Suspend compute endpoint"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update auth configuration"
      },
      "description": "Updates the auth configuration for the branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "name"
        ],
        "type": "object"
      },
      "name": "update_auth_config",
      "title": "Update auth configuration"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update OAuth provider"
      },
      "description": "Updates an OAuth provider for the specified project.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "client_id": {
            "type": "string"
          },
          "client_secret": {
            "type": "string"
          },
          "microsoft_tenant_id": {
            "type": "string"
          },
          "oauth_provider_id": {
            "enum": [
              "google",
              "github",
              "microsoft",
              "vercel"
            ],
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "oauth_provider_id"
        ],
        "type": "object"
      },
      "name": "update_auth_oauth_provider",
      "title": "Update OAuth provider"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update auth user role"
      },
      "description": "Updates the role of a user in the Neon Auth user directory for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "auth_user_id": {
            "type": "string"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "roles": {
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "auth_user_id",
          "roles"
        ],
        "type": "object"
      },
      "name": "update_auth_user_role",
      "title": "Update auth user role"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update branch"
      },
      "description": "Updates the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "protected": {
            "type": "boolean"
          }
        },
        "required": [
          "project_id",
          "branch_id"
        ],
        "type": "object"
      },
      "name": "update_branch",
      "title": "Update branch"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update Neon Data API"
      },
      "description": "Updates the Neon Data API configuration for the specified branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "database_name": {
            "type": "string"
          },
          "db_aggregates_enabled": {
            "type": "boolean"
          },
          "db_anon_role": {
            "type": "string"
          },
          "db_extra_search_path": {
            "type": "string"
          },
          "db_max_rows": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "db_schemas": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "jwt_cache_max_lifetime": {
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "type": "integer"
          },
          "jwt_role_claim_key": {
            "type": "string"
          },
          "openapi_mode": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "server_cors_allowed_origins": {
            "type": "string"
          },
          "server_timing_enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "database_name"
        ],
        "type": "object"
      },
      "name": "update_data_api",
      "title": "Update Neon Data API"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update a function"
      },
      "description": "Updates the function's mutable metadata — currently only the display `name`.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "maxLength": 256,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "slug": {
            "pattern": "^[a-z0-9]{1,20}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "slug",
          "name"
        ],
        "type": "object"
      },
      "name": "update_function",
      "title": "Update a function"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update database"
      },
      "description": "Updates the specified database in the branch.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "database_name": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "owner_name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "database_name"
        ],
        "type": "object"
      },
      "name": "update_postgres_database",
      "title": "Update database"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update compute endpoint"
      },
      "description": "Updates the specified compute endpoint.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "autoscaling_limit_max_cu": {
            "minimum": 0.25,
            "type": "number"
          },
          "autoscaling_limit_min_cu": {
            "minimum": 0.25,
            "type": "number"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "disabled": {
            "type": "boolean"
          },
          "endpoint_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "name": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "passwordless_access": {
            "type": "boolean"
          },
          "pooler_enabled": {
            "type": "boolean"
          },
          "pooler_mode": {
            "enum": [
              "transaction"
            ],
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "provisioner": {
            "type": "string"
          },
          "settings": {
            "additionalProperties": false,
            "properties": {
              "pg_settings": {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "pgbouncer_settings": {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "preload_libraries": {
                "additionalProperties": false,
                "properties": {
                  "enabled_libraries": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "use_defaults": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "suspend_timeout_seconds": {
            "maximum": 604800,
            "minimum": -1,
            "type": "integer"
          }
        },
        "required": [
          "project_id",
          "endpoint_id"
        ],
        "type": "object"
      },
      "name": "update_postgres_endpoint",
      "title": "Update compute endpoint"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update project"
      },
      "description": "Updates the specified project.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "default_endpoint_settings": {
            "additionalProperties": false,
            "properties": {
              "autoscaling_limit_max_cu": {
                "minimum": 0.25,
                "type": "number"
              },
              "autoscaling_limit_min_cu": {
                "minimum": 0.25,
                "type": "number"
              },
              "pg_settings": {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "pgbouncer_settings": {
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "suspend_timeout_seconds": {
                "maximum": 604800,
                "minimum": -1,
                "type": "integer"
              }
            },
            "type": "object"
          },
          "history_retention_seconds": {
            "maximum": 2592000,
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "settings": {
            "additionalProperties": false,
            "properties": {
              "allowed_ips": {
                "additionalProperties": false,
                "properties": {
                  "ips": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "protected_branches_only": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "audit_log_level": {
                "enum": [
                  "base",
                  "extended",
                  "full"
                ],
                "type": "string"
              },
              "block_public_connections": {
                "type": "boolean"
              },
              "block_vpc_connections": {
                "type": "boolean"
              },
              "enable_logical_replication": {
                "type": "boolean"
              },
              "hipaa": {
                "type": "boolean"
              },
              "maintenance_window": {
                "additionalProperties": false,
                "properties": {
                  "end_time": {
                    "type": "string"
                  },
                  "start_time": {
                    "type": "string"
                  },
                  "weekdays": {
                    "items": {
                      "maximum": 9007199254740991,
                      "minimum": -9007199254740991,
                      "type": "integer"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "weekdays",
                  "start_time",
                  "end_time"
                ],
                "type": "object"
              },
              "preload_libraries": {
                "additionalProperties": false,
                "properties": {
                  "enabled_libraries": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "use_defaults": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              },
              "quota": {
                "additionalProperties": false,
                "properties": {
                  "active_time_seconds": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "compute_time_seconds": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "data_transfer_bytes": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "logical_size_bytes": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  },
                  "written_data_bytes": {
                    "maximum": 9007199254740991,
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "project_id"
        ],
        "type": "object"
      },
      "name": "update_project",
      "title": "Update project"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update snapshot"
      },
      "description": "Updates the specified snapshot.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "snapshot_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "snapshot_id"
        ],
        "type": "object"
      },
      "name": "update_snapshot",
      "title": "Update snapshot"
    },
    {
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": false,
        "title": "Update a trigger"
      },
      "description": "Applies a partial update.\n\nbranch_id is a branch id (br-...), not a branch name. Call list_branches to resolve a name.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "body": {
            "additionalProperties": false,
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "function_path": {
                "maxLength": 2048,
                "minLength": 1,
                "type": "string"
              },
              "function_slug": {
                "pattern": "^[a-z0-9]{1,20}$",
                "type": "string"
              },
              "name": {
                "maxLength": 256,
                "minLength": 1,
                "type": "string"
              },
              "schedule": {
                "additionalProperties": false,
                "properties": {
                  "cron": {
                    "maxLength": 1024,
                    "minLength": 1,
                    "type": "string"
                  }
                },
                "required": [
                  "cron"
                ],
                "type": "object"
              },
              "type": {
                "enum": [
                  "schedule"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          },
          "branch_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "project_id": {
            "pattern": "^[a-z0-9-]{1,60}$",
            "type": "string"
          },
          "trigger_id": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.\\-]{0,127}$",
            "type": "string"
          }
        },
        "required": [
          "project_id",
          "branch_id",
          "trigger_id",
          "body"
        ],
        "type": "object"
      },
      "name": "update_trigger",
      "title": "Update a trigger"
    }
  ]
}
