# QuintaDB — how to use (mcp.ai)

Connect your QuintaDB account and use 12 tools for databases straight from your AI agent. Connect with your own API key. QuintaDB is a no-code online database and application builder for managing databases, forms, fields, records, reports, and files.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_quintadb?ms=1787293560000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `quintadb_create_record`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/quintadb`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/quintadb/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/quintadb/create/record` — Create one record in a QuintaDB form using values keyed by field ID. The tool supplies QuintaDB's required entity_id inside the nested values body.
  - body: { entity_id: string, record_id?: string, database_id: string, field_values: object }
- `POST https://api.mcp.ai/api/quintadb/create/records` — Create 2-100 QuintaDB records using sequential individual API calls in input order. This is not atomic: some records can succeed while others fail, and every item returns its own outcome.
  - body: { records: object[], entity_id: string, database_id: string }
- `POST https://api.mcp.ai/api/quintadb/delete/records/by/id` — Permanently delete only the explicitly supplied QuintaDB record IDs from one form. This tool never supports delete-all or filter-based deletion.
  - body: { entity_id: string, record_ids: string[], database_id: string }
- `POST https://api.mcp.ai/api/quintadb/get/database` — Get metadata and resource counts for one allowed QuintaDB database by app ID. Use this instead of global database discovery when the API key is restricted to selected apps.
  - body: { database_id: string }
- `POST https://api.mcp.ai/api/quintadb/get/record` — Get one record by exact ID from an allowed QuintaDB database. Values are returned under their field IDs for reliable use with QuintaDB schema and record tools.
  - body: { record_id: string, database_id: string }
- `POST https://api.mcp.ai/api/quintadb/list/fields` — List the fields in a QuintaDB form, including field IDs and types. Use these IDs as keys in record values and search predicates.
  - body: { entity_id: string, database_id: string }
- `POST https://api.mcp.ai/api/quintadb/list/forms` — List forms/tables in an allowed QuintaDB database, including IDs and record counts needed for field and record operations.
  - body: { database_id: string }
- `POST https://api.mcp.ai/api/quintadb/list/records` — Return one page of records from a QuintaDB form, optionally constrained to a report. Record values remain keyed by field ID for reliable use with schema and write tools.
  - body: { page?: integer, per_page?: integer, entity_id: string, report_id?: string, database_id: string }
- `POST https://api.mcp.ai/api/quintadb/list/reports` — List QuintaDB reports/views for a form. Use a returned report ID to constrain record listing or search.
  - body: { entity_id: string, database_id: string }
- `POST https://api.mcp.ai/api/quintadb/search/records` — Search records in one QuintaDB form using explicit field or system-column predicates. Groups are combined with OR; predicates inside each group are combined with AND.
  - body: { limit?: integer, entity_id: string, report_id?: string, database_id: string, search_groups: object[][] }
- `POST https://api.mcp.ai/api/quintadb/update/record` — Update selected fields on one QuintaDB record using a field-ID keyed values object.
  - body: { record_id: string, database_id: string, field_values: object }
- `POST https://api.mcp.ai/api/quintadb/update/records/by/id` — Update 2-100 exact QuintaDB record IDs using sequential individual API calls in input order. This is not atomic: some updates can succeed while others fail, and every item returns its own outcome.
  - body: { updates: object[], database_id: string }

## Example prompts
- "What can I do in QuintaDB?"
- "Show me a summary of my QuintaDB account"

## More
- Page: https://mcp.ai/quintadb
- Agent spec (llms.txt): https://mcp.ai/quintadb/llms.txt
- Postman collection: https://mcp.ai/quintadb/postman.json
