Splitting read from write at the tool boundary, and saying so in the description, lets a client auto-approve queries while still prompting before anything changes. Most servers bundle both into one tool and force you to choose between approving every call or none. In a spreadsheet, where an accidental write silently corrupts a column somebody will trust next quarter, the split is worth more than it looks.
Quadratic's hosted endpoint for their AI spreadsheet. It answers an anonymous initialize, so a client can connect and see the surface before anyone signs in; the auth tool then handles login from inside the session.
- auth — device authorisation login from within the session
- files_read and files_write — file metadata versus creating, opening and modifying
- read_data and write_data — queries on the open spreadsheet versus changes to it
- Python code cells and schema inspection of connected databases, such as a Postgres you have attached
Configure it as streamable HTTP, then call the auth tool's login action once. Their Cursor plugin bundles the config, rules and workflow skills together.
Paste a URL with a key — add the endpoint to your client