MCP App Store
by KeenEthics
ChatData Sync icon

ChatData Sync

By CGosmon Solutions LLC

Get New App Alerts

Overview

ChatData Sync turns ChatGPT into your personal tracking assistant. Describe what you want to track in plain English, and it creates a private structured tracker you can fill, search, and update directly in chat. One connection can manage multiple trackers for workflows like client invoices, garden logs, workouts, and maintenance records.

Tools

add_field

ChatGPT
Adds a new field to a section in a tracker's layout, up to the per-section field limit. Call describe_schema first to see existing sections and fields. Set type to one of: text, number, boolean, date, time, choice, or reference. For a choice field, pass the allowed values in 'choices'. For a reference field (a link/relationship to another section), pass the target section id in 'references_section'. Optional units, dateFormat (date fields only), and up to five type-matching examples clarify what to enter; stored dates remain ISO. Only the account owner can change a tracker's layout. This does not delete any existing data.

add_section

ChatGPT
Adds a new section (table) to a tracker's layout, up to the account's plan limit. Provide a short, human-friendly name (for example "Clients" or "Payments"); it is turned into a section id automatically. The new section starts with a single starter "name" text field; use add_field to add more fields. Only the account owner can change a tracker's layout. This does not delete any existing data.

create_record

ChatGPT
Creates one record in the API-key scoped tracker. Call get_sync_context first and use only the exact field names it returns. Map field types as follows: text → string, number → number, boolean → true/false, date → ISO 8601 date string (YYYY-MM-DD), time → 24-hour time string (HH:MM), choice → one of the allowed strings listed in the field's choices array. Omit optional fields rather than passing null.

create_tracker

ChatGPT
Creates a new tracker on this account so the user can keep more than one kind of list from the same connection. Provide a short, human-friendly name (for example: "Garden Log" or "Client Invoices"). The new tracker starts with a simple starter layout you can refine later, and the account's plan limit on the number of trackers is enforced. After creating it, use the other tools with tracker set to the new tracker's name to add records. Only the account owner can create trackers.

delete_record

ChatGPT
Deletes one record from the API-key scoped tracker by ID.

describe_schema

ChatGPT
Returns the full editable layout of a tracker: every section (table), its fields with their type (text | number | boolean | date | time | choice | reference), whether each field is required, the allowed values for choice fields, and which section a reference field links to. Also returns the plan limits and how many sections and fields are currently used. Call this before add_section or add_field so you know the current layout and remaining capacity.

get_record

ChatGPT
Reads one record from the API-key scoped tracker by ID.

get_sync_context

ChatGPT
Returns the tracker name, default table, available tables, and field definitions scoped to the supplied API key. Call this once before any read or write operation. The returned tables[].fields array defines every valid field name, its type (text | number | boolean | date | time | choice), whether it is required, and—for choice fields—the allowed values. Use these definitions as the authoritative schema for all subsequent create_record and update_record calls.

list_attachments

ChatGPT
Lists private document, spreadsheet, text, and image attachments for one record. Use this before get_attachment_link when the user asks what files are attached. Returns metadata only and never exposes storage paths or provider file IDs.

list_changes

ChatGPT
Reads ordered record and layout changes within this connection's section/field scope. kind:'schema' uses operation:'schema_update' and an authorized schema snapshot; record events use kind:'record'. Keep the old checkpoint while nextCursor is non-null; adopt the returned checkpoint only after exhausting the window. Hidden events still advance scanning. Concurrent writes are included in the next window; missing journal events fail explicitly instead of skipping.

list_record_versions

ChatGPT
Reads every retained version of one record using bounded cursor pages. Field and section scopes apply. Follow nextCursor until null; no history is silently truncated.

list_records

ChatGPT
Preferred structured retrieval tool after get_sync_context. Use exact table and field names from the returned schema whenever you can.

list_trackers

ChatGPT
Lists every tracker connected to this account, with each tracker's name, description, and ID. Use this to discover which trackers are available before reading or writing to one other than the connected default. Pass the returned name or id as the 'tracker' argument on the other tools to work across multiple trackers from a single connection.

recover_record

ChatGPT
Recovers a record and its retained private file associations within 30 days. expectedRevision is the deletion's revision. Current read/create field permissions, schema, quota and revision are rechecked. Suggest-only connections return pending_approval and saved:false.

restore_record

ChatGPT
Replaces an active record with a retained version after current schema, policy, revision and quota checks. Confirm the target and replacement first. Suggest-only connections return pending_approval with saved:false, never saved success.

search_records

ChatGPT
Fallback retrieval tool for broad natural-language requests when you cannot confidently map the request to exact table fields from get_sync_context.

summarize_records

ChatGPT
Preferred summary tool after get_sync_context when you can map the request to exact field filters. Legacy plain-language intent mode remains available as a fallback.

update_record

ChatGPT
Updates one record in the API-key scoped tracker by ID using a partial field patch. Call get_sync_context first to confirm exact field names and their types before writing. Only the fields included in data are changed; all other fields are left as-is.

update_records

ChatGPT
Updates many records in one call, overwriting the supplied fields' existing values without automatic undo. Confirm the target records and replacement values with the user before calling. Call get_sync_context first, then pass an updates array of { id, record_json, expectedRevision } objects. Each record_json is a JSON object string containing only the exact fields to change. Each item succeeds or fails independently; a partial batch is not rolled back. Up to 50 records per call. Send an Idempotency-Key header to replay a retried batch.

upload_attachment

ChatGPT
Adds one user-provided document, spreadsheet, text file, or image to an existing authorized record without overwriting existing files or record fields. Use only when the user explicitly asks to save that file with the target record. Accepts the ChatGPT-provided file parameter, not an arbitrary URL; downloads are restricted to authorized ChatGPT file hosts. The file is copied into private tracker storage, is not published or sent to another recipient, and counts toward the tracker owner's storage allowance. Maximum file size is 10 MiB. Repeating a successful call creates another attachment; check list_attachments before retrying an uncertain result.

Capabilities

Writes

Similar Apps