Is it safe to connect your business data to Claude or ChatGPT via MCP?
June 24, 2026
Yes, it's safe to connect your business data to Claude or ChatGPT through MCP — provided the connection is built with the right safeguards: standard OAuth for authorization, encryption for stored credentials and data, isolation between customers, and a query layer that only allows safe, read-only access. The risk isn't the protocol itself; it's whether a given MCP server implementation actually does those things.
Why this question is worth asking in 2026
MCP (Model Context Protocol) has grown fast since its release, and with that growth has come a wave of real security incidents across the broader ecosystem — misconfigured servers left exposed to the internet, vulnerabilities in specific third-party implementations, and integrations that requested far more access than the task in front of them required. None of that is a reason to avoid MCP. It's a reason to be specific about how any individual MCP server you connect to handles authorization, storage, and query access, the same way you'd evaluate any other piece of infrastructure that touches your business data.
What "built safely" actually means
When you connect a data source to an AI tool through a properly built MCP integration, four things should be true:
- Authorization happens over OAuth, not shared credentials. You authorize read access to your existing tools (HubSpot, Google Sheets, and so on) through each provider's own standard OAuth flow. Your password or API key for that tool is never handed to the MCP server or to the AI client.
- Stored data and tokens are encrypted at rest. OAuth tokens and synced data should be encrypted in the database, not stored as plain text that becomes a single point of failure if the database is ever compromised.
- Your data is isolated from everyone else's. Multi-tenant systems should keep each customer's synced data in its own isolated schema or namespace — not a shared table distinguished only by a customer ID column, where a query bug in one tenant's request could leak another's.
- Queries are read-only and validated before they run. The AI tool should never be able to issue a write, a delete, or an arbitrary query. A safe implementation parses and validates each query — typically by checking the query's structure, not just trusting a string the model generated — before it ever touches your data.
- Each person only reaches the data they're allowed to reach. As soon as more than one person is querying, "is this safe" stops being a question about encryption and becomes a question about access. A safe implementation grants access explicitly rather than assuming it, enforces that grant on the server when the query arrives rather than in the AI client or the prompt, hides ungranted data instead of merely refusing it, and records every query it answers.
Access is the part most people check last
The first four points are about whether an outsider can reach your data. The fifth is about what the people you already trust can reach — and in practice it is the one that decides whether AI gets rolled out at all.
The difficulty is that connecting a tool to an AI assistant is usually all-or-nothing: whoever holds the connection can read everything inside it. That is fine for one founder querying their own business. It stops being fine the moment a contractor, an intern, or a whole sales team is on the other end, and the usual outcome is that nobody gets access rather than everybody.
Two details are worth checking in any tool you evaluate. First, how precise can the grant be — can you share a source, a table, or a specific set of columns? A layer that passes questions through to each source tool can only grant or withhold the whole connection; sharing three columns of a spreadsheet is not something it can express. Second, what does someone see when they ask about data they don't have? Being told "access denied to salaries" confirms a salaries table exists, which is itself information. The safer behaviour is for ungranted data to be absent from the schema entirely, so the question comes back as though there were nothing there.
How Synquil approaches this
Synquil is built around exactly these five points. You authorize each data source through that provider's own OAuth flow; Synquil never sees your underlying password or API key. OAuth tokens and synced records are encrypted at rest. Each customer's data lives in its own isolated Postgres schema, not a shared table. And every query the MCP server runs is parsed and validated as read-only before execution — there's no path from an AI tool to a write, an update, or a delete.
On access, each person in a workspace holds one or more roles, and a role names the sources, tables, and columns they may read. Nothing is granted by default. The check runs server-side when the query arrives: the schema described back to the AI tool is already narrowed to that person's permitted subset, and the generated SQL is validated against the same subset before it runs, so the boundary holds regardless of what the model was asked to do. Ungranted tables are not listed at all. Every query is written to an append-only log — who asked, from which AI tool, which tables, how many rows, including the attempts that were blocked — and removing someone from the workspace ends their access within one request.
This is also why the answer to "is it safe" should never be a blanket yes or no for "AI plus your data" in general — it depends on the specific implementation. For the full technical breakdown of how Synquil handles authorization, encryption, isolation, and query validation, see Trust & security.
Connect your first data source and see exactly what access you're granting before you approve it.