{"serverId":"mcp-registry/io.github.quadratichq/quadratic-mcp","tools":[{"name":"auth","fixed":{"name":"auth","description":"Authenticate the MCP session with Quadratic.\n\nActions:\n• login() — Start an OAuth device authorization flow. Returns a URL the user must open in a browser to authorize. The flow is completed by confirm_login.\n• confirm_login(device_code) — Complete an in-progress login by polling for user authorization. If the response indicates the user has not yet authorized, this action can be called again with the same device_code to continue polling. confirm_login is idempotent: if a later tool call reports","inputSchema":{"type":"object","title":"AuthAction","$schema":"https://json-schema.org/draft/2020-12/schema","required":["action"],"properties":{"action":{"type":"string","description":"Action to perform: login, confirm_login, set_token, or logout"},"params":{"description":"Parameters for the action (see tool description)","type":"string"}}},"annotations":{"title":"Authenticate with Quadratic","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: params. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":240,"tokensAfter":245},{"name":"files_read","fixed":{"name":"files_read","description":"Read-only file metadata operations on Quadratic files the user has access to. No data is modified. Requires authentication.\n\nActions:\n• list_files() — List all accessible files.\n• get_file_info(file_id) — Get metadata for a single file.\n","inputSchema":{"type":"object","title":"FilesReadAction","$schema":"https://json-schema.org/draft/2020-12/schema","required":["action"],"properties":{"action":{"type":"string","description":"Action to perform: list_files or get_file_info"},"params":{"description":"Parameters for the action (see tool description)","type":"string"}}},"annotations":{"title":"Read Quadratic Files","readOnlyHint":true,"openWorldHint":true,"idempotentHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: params. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":167,"tokensAfter":171},{"name":"files_write","fixed":{"name":"files_write","description":"File management operations that create or modify state: create a new file, open an existing file to start an editing session, or close a session. Requires authentication.\n\nActions:\n• open_file(file_id?, file_name?) — Open a file by UUID or name and start an editing session. Returns the file's web URL.\n• create_file(file_name, team_uuid?) — Create a new blank spreadsheet. If team_uuid is omitted, the user's first team is used. Returns the new file's UUID and web URL; the file must be opened with ","inputSchema":{"type":"object","title":"FilesWriteAction","$schema":"https://json-schema.org/draft/2020-12/schema","required":["action"],"properties":{"action":{"type":"string","description":"Action to perform: open_file, create_file, or close_file"},"params":{"description":"Parameters for the action (see tool description)","type":"string"}}},"annotations":{"title":"Manage Quadratic Files","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: params. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":243,"tokensAfter":247},{"name":"read_data","fixed":{"name":"read_data","description":"Read-only queries on the open spreadsheet. No data is modified. Safe to auto-approve. Call as {\"action\": \"<name>\", \"params\": {...}} — per-action params are listed in the Action Reference below.\n\nSpecial actions (not shown in the action enum):\n• batch — {\"action\": \"batch\", \"params\": {\"actions\": [{\"action\": \"<name>\", \"params\": {...}}, ...]}}. Runs reads in parallel; individual failures are reported per-entry without short-circuiting.\n• context — {\"action\": \"context\", \"params\": {\"topic\": \"<name>\"}}","inputSchema":{"type":"object","title":"ReadDataAction","$schema":"https://json-schema.org/draft/2020-12/schema","required":["action"],"properties":{"action":{"type":"string","description":"Action to perform: get_cell_data, has_cell_data, get_code_cell_value, get_text_formats, get_validations, get_conditional_formats, text_search, get_sheet_info, get_spreadsheet_context, read_data, outline, dependencies, export_pdf, get_database_schemas, list_connections, list_agent_connections, inspect_agent_connection, or batch"},"params":{"description":"Parameters for the action (see tool description). For batch: {actions: [{action, params}, ...]}","type":"string"}}},"annotations":{"title":"Read Spreadsheet Data","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: params. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":339,"tokensAfter":343},{"name":"write_data","fixed":{"name":"write_data","description":"Write operations on the open spreadsheet. Call as {\"action\": \"<name>\", \"params\": {...}} — per-action params are listed in the Action Reference below. Numbers, booleans, and nulls in cell values are coerced to strings.\n\nSpecial actions (not shown in the action enum):\n• batch — {\"action\": \"batch\", \"params\": {\"actions\": [{\"action\": \"<name>\", \"params\": {...}}, ...]}}. Runs writes sequentially; errors short-circuit the batch.\n• context — {\"action\": \"context\", \"params\": {\"topic\": \"<name>\"}} or {\"actio","inputSchema":{"type":"object","title":"WriteDataAction","$schema":"https://json-schema.org/draft/2020-12/schema","required":["action"],"properties":{"action":{"type":"string","description":"Action to perform: set_cell_values, delete_cells, move_cells, add_data_table, set_code_cell_value, set_formula_cell_value, rerun_code, set_text_formats, set_borders, merge_cells, unmerge_cells, add_sheet, duplicate_sheet, rename_sheet, delete_sheet, move_sheet, color_sheets, set_frozen_panes, convert_to_table, table_meta, table_column_settings, resize_columns, resize_rows, set_default_column_width, set_default_row_height, insert_columns, insert_rows, delete_columns, delete_rows, add_logical_validation, add_list_validation, remove_validation, update_conditional_formats, add_chart, update_chart, delete_chart, set_pivot_table, set_sql_code_cell_value, import_file, undo, redo, or batch"},"params":{"description":"Parameters for the action (see tool description). For batch: {actions: [{action, params}, ...]}","type":"string"}}},"annotations":{"title":"Write Spreadsheet Data","readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: params. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":440,"tokensAfter":444}],"toolsChanged":5,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}