naftiko: 1.0.0-alpha2 info: label: Neo4j Aura API description: 'The Neo4j Aura API provides programmatic access to manage Neo4j AuraDB cloud database instances. It supports operations across three primary resources: instances, tenants, and snapshots. Developers authenticate using OAuth2 bearer tokens obtained through client credentials, and can automate the provisioning, configuration, and management of their cloud-hosted Neo4j graph databases. The API is accessible through the api.neo4j.io platform and is available to Aura Enterprise customers.' tags: - Neo4j - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: neo4j baseUri: https://api.neo4j.io/v1 description: Neo4j Aura API HTTP API. authentication: type: bearer token: '{{NEO4J_TOKEN}}' resources: - name: oauth-token path: /oauth/token operations: - name: getaccesstoken method: POST description: Obtain an OAuth2 access token outputRawFormat: json outputParameters: - name: result type: object value: $. - name: instances path: /instances operations: - name: listinstances method: GET description: List all instances inputParameters: - name: tenantId in: query type: string description: Filter instances by tenant ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createinstance method: POST description: Create a new instance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: instances-instanceid path: /instances/{instanceId} operations: - name: getinstance method: GET description: Get instance details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateinstance method: PATCH description: Update an instance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteinstance method: DELETE description: Delete an instance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: instances-instanceid-pause path: /instances/{instanceId}/pause operations: - name: pauseinstance method: POST description: Pause an instance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: instances-instanceid-resume path: /instances/{instanceId}/resume operations: - name: resumeinstance method: POST description: Resume a paused instance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: instances-instanceid-overwrite path: /instances/{instanceId}/overwrite operations: - name: overwriteinstance method: POST description: Overwrite an instance from a snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. - name: tenants path: /tenants operations: - name: listtenants method: GET description: List all tenants outputRawFormat: json outputParameters: - name: result type: object value: $. - name: tenants-tenantid path: /tenants/{tenantId} operations: - name: gettenant method: GET description: Get tenant details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: instances-instanceid-snapshots path: /instances/{instanceId}/snapshots operations: - name: listsnapshots method: GET description: List snapshots for an instance outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createsnapshot method: POST description: Create a snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. - name: instances-instanceid-snapshots-snapshotid path: /instances/{instanceId}/snapshots/{snapshotId} operations: - name: getsnapshot method: GET description: Get snapshot details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: instances-instanceid-snapshots-snapshotid-restor path: /instances/{instanceId}/snapshots/{snapshotId}/restore operations: - name: restoresnapshot method: POST description: Restore a snapshot to a new instance outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: neo4j-rest description: REST adapter for Neo4j Aura API. resources: - path: /oauth/token name: getaccesstoken operations: - method: POST name: getaccesstoken description: Obtain an OAuth2 access token call: neo4j.getaccesstoken outputParameters: - type: object mapping: $. - path: /instances name: listinstances operations: - method: GET name: listinstances description: List all instances call: neo4j.listinstances outputParameters: - type: object mapping: $. - path: /instances name: createinstance operations: - method: POST name: createinstance description: Create a new instance call: neo4j.createinstance outputParameters: - type: object mapping: $. - path: /instances/{instanceId} name: getinstance operations: - method: GET name: getinstance description: Get instance details call: neo4j.getinstance outputParameters: - type: object mapping: $. - path: /instances/{instanceId} name: updateinstance operations: - method: PATCH name: updateinstance description: Update an instance call: neo4j.updateinstance outputParameters: - type: object mapping: $. - path: /instances/{instanceId} name: deleteinstance operations: - method: DELETE name: deleteinstance description: Delete an instance call: neo4j.deleteinstance outputParameters: - type: object mapping: $. - path: /instances/{instanceId}/pause name: pauseinstance operations: - method: POST name: pauseinstance description: Pause an instance call: neo4j.pauseinstance outputParameters: - type: object mapping: $. - path: /instances/{instanceId}/resume name: resumeinstance operations: - method: POST name: resumeinstance description: Resume a paused instance call: neo4j.resumeinstance outputParameters: - type: object mapping: $. - path: /instances/{instanceId}/overwrite name: overwriteinstance operations: - method: POST name: overwriteinstance description: Overwrite an instance from a snapshot call: neo4j.overwriteinstance outputParameters: - type: object mapping: $. - path: /tenants name: listtenants operations: - method: GET name: listtenants description: List all tenants call: neo4j.listtenants outputParameters: - type: object mapping: $. - path: /tenants/{tenantId} name: gettenant operations: - method: GET name: gettenant description: Get tenant details call: neo4j.gettenant outputParameters: - type: object mapping: $. - path: /instances/{instanceId}/snapshots name: listsnapshots operations: - method: GET name: listsnapshots description: List snapshots for an instance call: neo4j.listsnapshots outputParameters: - type: object mapping: $. - path: /instances/{instanceId}/snapshots name: createsnapshot operations: - method: POST name: createsnapshot description: Create a snapshot call: neo4j.createsnapshot outputParameters: - type: object mapping: $. - path: /instances/{instanceId}/snapshots/{snapshotId} name: getsnapshot operations: - method: GET name: getsnapshot description: Get snapshot details call: neo4j.getsnapshot outputParameters: - type: object mapping: $. - path: /instances/{instanceId}/snapshots/{snapshotId}/restore name: restoresnapshot operations: - method: POST name: restoresnapshot description: Restore a snapshot to a new instance call: neo4j.restoresnapshot outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: neo4j-mcp transport: http description: MCP adapter for Neo4j Aura API for AI agent use. tools: - name: getaccesstoken description: Obtain an OAuth2 access token hints: readOnly: false destructive: false idempotent: false call: neo4j.getaccesstoken outputParameters: - type: object mapping: $. - name: listinstances description: List all instances hints: readOnly: true destructive: false idempotent: true call: neo4j.listinstances with: tenantId: tools.tenantId inputParameters: - name: tenantId type: string description: Filter instances by tenant ID outputParameters: - type: object mapping: $. - name: createinstance description: Create a new instance hints: readOnly: false destructive: false idempotent: false call: neo4j.createinstance outputParameters: - type: object mapping: $. - name: getinstance description: Get instance details hints: readOnly: true destructive: false idempotent: true call: neo4j.getinstance outputParameters: - type: object mapping: $. - name: updateinstance description: Update an instance hints: readOnly: false destructive: false idempotent: false call: neo4j.updateinstance outputParameters: - type: object mapping: $. - name: deleteinstance description: Delete an instance hints: readOnly: false destructive: true idempotent: true call: neo4j.deleteinstance outputParameters: - type: object mapping: $. - name: pauseinstance description: Pause an instance hints: readOnly: false destructive: false idempotent: false call: neo4j.pauseinstance outputParameters: - type: object mapping: $. - name: resumeinstance description: Resume a paused instance hints: readOnly: false destructive: false idempotent: false call: neo4j.resumeinstance outputParameters: - type: object mapping: $. - name: overwriteinstance description: Overwrite an instance from a snapshot hints: readOnly: false destructive: false idempotent: false call: neo4j.overwriteinstance outputParameters: - type: object mapping: $. - name: listtenants description: List all tenants hints: readOnly: true destructive: false idempotent: true call: neo4j.listtenants outputParameters: - type: object mapping: $. - name: gettenant description: Get tenant details hints: readOnly: true destructive: false idempotent: true call: neo4j.gettenant outputParameters: - type: object mapping: $. - name: listsnapshots description: List snapshots for an instance hints: readOnly: true destructive: false idempotent: true call: neo4j.listsnapshots outputParameters: - type: object mapping: $. - name: createsnapshot description: Create a snapshot hints: readOnly: false destructive: false idempotent: false call: neo4j.createsnapshot outputParameters: - type: object mapping: $. - name: getsnapshot description: Get snapshot details hints: readOnly: true destructive: false idempotent: true call: neo4j.getsnapshot outputParameters: - type: object mapping: $. - name: restoresnapshot description: Restore a snapshot to a new instance hints: readOnly: false destructive: false idempotent: false call: neo4j.restoresnapshot outputParameters: - type: object mapping: $. binds: - namespace: env keys: NEO4J_TOKEN: NEO4J_TOKEN