# Workflow: Update Data Store Records (MCP)

North star: add, update, query, and delete store data without opening Studio for every change.

## MCP endpoint

```text
https://dev.niftyimages.com/store_mcp
```

## MCP tools (Data Store CRUD)

| Tool | Purpose |
| --- | --- |
| `store_access` | Identity, key scope, schema |
| `store_list` | Find stores by name |
| `store_create` | Create store + schema (account key) |
| `store_update` | Name / description / TTL (account key) |
| `store_delete` | Soft-delete store (`confirmDelete=true`) |
| `store_query` | Count or search records |
| `store_get_record` | One row by `recordId` or unique `key` |
| `store_upsert` | Add/upsert rows (unique keys) or append |
| `store_patch_record` | Change fields on one row by `recordId` |
| `store_import_csv` | CSV into new or existing store |
| `store_delete_record` | Delete one row (`confirmDelete=true`) |
| `store_delete_records` | Batch delete by ids (`confirmDelete=true`) |

## Demo script

1. “What store can I use?” → `store_access`
2. “How many VIP guests are in California?” → `store_query` mode=count  
   Filters: status eq VIP, state eq CA
3. “Show me those VIP guests.” → `store_query` mode=search
4. “Add frank@example.com, Frank Lee, TX, Standard, score 70.” → `store_upsert`
5. “Update alice@example.com score to 100.” → `store_upsert` (unique email) **or** find `recordId` + `store_patch_record`
6. “Confirm Alice’s record.” → `store_get_record` key `{ "email": "alice@example.com" }`
7. “How many guests total now?” → `store_query` mode=count (no filters)
8. Optional: attach CSV → `store_import_csv` with storeId or Store API Key
9. “Delete frank@example.com.” → `store_delete_record` with `confirmDelete=true`

## Auth notes

- Keys are created in the NiftyImages UI (account or store-scoped).
- Store API Keys start with `store-` and only access one store.
- MCP host test config may set `NIFTY_API_KEY`; that is harness config, not a product key type.
- Destructive tools require explicit user intent and `confirmDelete=true`.

## Sample data

`tools/samples/partner-demo-guests.csv` — unique column `email`.
