Docs

Connect AI assistants (MCP): Claude, ChatGPT, Cursor and VS Code

Add https://api.sovaria.in/mcp to your AI assistant and sign in: it works on the organization and project you pick, with your role, read-only or read and write, and asks before it changes anything.

Updated Oct 19, 2026Open in console

Sovaria runs a hosted MCP server (Model Context Protocol) at https://api.sovaria.in/mcp. Add it to Claude, ChatGPT, Cursor, VS Code or any MCP client and the assistant can read your schema, query data, change tables, deploy functions, check access rules and read logs — the same 240 tools Sovariq uses. There is nothing to install and no key to paste: the assistant signs you in with OAuth, and you choose in the Sovaria console what it may touch.

sign intokentool callpinned tokenYour assistantClaude, ChatGPT,Cursor…Sovaria consolepick org, project,accessapi.sovaria.in/mcphosted MCP serverYour projectyour role,policies, RLS

Connect

Claude (web, desktop): Settings › Connectors › Add custom connector
Name: Sovaria
URL:  https://api.sovaria.in/mcp
Then press Connect and sign in to Sovaria.
Use the URL as is, or add options from the table below.

Sovariq › Settings › Use Sovaria in other AI apps shows the same snippets with your project filled in.

Approve the connection

The first time, the assistant opens Sovaria in your browser. Sign in if you need to, then choose:

  • Organization: one of yours. The assistant can never see or act on another one.
  • Project: one project (the default), or Every project in the organization; then add ?project=<project id> to the URL to pick one per assistant setup.
  • Access: Read and write (the assistant asks you before anything that writes, deletes or runs code) or Read only (it only gets tools that read, and the API refuses changes).

The page shows the app's name and where it returns (claude.ai, chatgpt.com, an app on your computer). An app registers itself, so it can pick any name: approve only if you just started connecting it and the return address looks right. When an app calls itself Claude, ChatGPT, Cursor or VS Code but doesn't return to that app's own address, the page says it may be pretending and asks you to confirm before Allow works. You get an email when an assistant is connected, and it appears in Account › Security › AI assistants and in your security activity.

URL options

OptionExampleWhat it does
project?project=5f2c…The project to work on, for a connection you allowed on every project. It must be in the connected organization and open to you; a connection approved for one project always uses that one.
read_only?read_only=trueOnly read tools, whatever the connection allows. Asked for before you connect, it is also preselected (and locked) on the approval page.
features?features=database,storageLoad fewer tools. Categories: database, vectors, documents, storage, auth, policies, functions, simulation, versions, environments, realtime, observability, settings, api, billing, mobile, messaging, builds (context is always there).

What an assistant can do

Everything goes through Sovaria's API as you: your team role in the organization, Guard policies, row-level security, plan limits and the audit log apply exactly as in the console, and so does your organization's AI policy (Organization › Roles), which can narrow what any AI may do. On top of that, an assistant's token is held to the connection:

AllowedNever
WhereThe connected organization; the pinned projectOther organizations, other projects, listing your organizations
Read onlyReads, read-only SQL and GraphQL, searches, simulations, dry runsAnything that writes (MCP_READ_ONLY)
AccountYour name and email (who you are)Password, email, two-factor, passkeys, sessions, CLI or assistant connections, social and SSO links
MoneyReading plan, usage and spendChanging plans, subscriptions, spend caps or compute sizes
OrganizationSyncing connected integrationsMembers, invites, roles, the AI policy, SSO, encryption keys, creating or deleting organizations and projects

Calls outside these lines are refused with 403 and a code: MCP_SCOPE (another organization or project), MCP_READ_ONLY (a change on a read-only connection) or MCP_NOT_ALLOWED (account, money or organization administration). Tools that change something are marked as such in MCP, so your assistant asks before it runs them.

See and disconnect assistants

  • Account › Security › AI assistants: each assistant with its organization, project, access and when it was last used. Disconnect ends it at once: its tokens stop working within seconds.
  • Organization settings › Security › AI assistants (owners and admins): members' connections, disconnect any, and turn connecting off for the organization — that ends every member's connection.
  • CLI: sov mcp connections, sov mcp disconnect <id>, sov mcp org --deny / --allow.
  • SDKs: sov.api.mcp.listConnections(), disconnect(id), orgSettings(), setOrgAllowed(false) (JavaScript); client.api.mcp.list_connections() (Python); Dart the same.

Losing access ends a connection too: removed from the organization or the project, or a deactivated account.

For MCP client developers

The server follows the MCP authorization spec (OAuth 2.1). Clients that support remote MCP servers with OAuth need no Sovaria-specific code.

Value
MCP endpointhttps://api.sovaria.in/mcp (streamable HTTP, stateless, JSON responses)
Protected resource metadatahttps://api.sovaria.in/.well-known/oauth-protected-resource/mcp (also at the root path); a 401 names it in WWW-Authenticate
Authorization serverIssuer https://api.sovaria.in, metadata at /.well-known/oauth-authorization-server
Client registrationDynamic (POST /oauth/register, RFC 7591; public clients or client_secret_post/client_secret_basic) or a client ID metadata document (an https client_id serving its own JSON)
Redirect URIshttps; http://127.0.0.1, localhost or [::1] on any port; or an app's own scheme (cursor://…)
AuthorizationCode flow with PKCE S256 only; send resource=https://api.sovaria.in/mcp
Scopesmcp (what the member approves) or mcp:read (read only)
TokensOpaque access token (sov_mcp_…, 1 hour) and refresh token (sov_mcpr_…, 30 days, rotated on every use; reusing an old one ends the connection). Revoke with POST /oauth/revoke (RFC 7009)
curl -X POST https://api.sovaria.in/oauth/token \
  -d grant_type=authorization_code -d code="$CODE" \
  -d redirect_uri=http://127.0.0.1:53682/callback \
  -d client_id="$CLIENT_ID" -d code_verifier="$VERIFIER" \
  -d resource=https://api.sovaria.in/mcp
The token exchange after the member approves (public client).

Errors use OAuth's format ({"error": "invalid_grant", "error_description": "…"}); invalid_grant on refresh means the connection ended — start the authorization again.

Run it locally instead

sov mcp serve runs the same tools over stdio with your CLI login and the project you selected with sov scope use; sov mcp config prints the entry for Claude Desktop, Claude Code or Cursor. Use it for offline work or a self-hosted gateway (CLI: Logs, crashes, vectors and AI tools).

Troubleshooting

You seeWhyFix
The assistant asks you to sign in againThe connection ended (you or an admin disconnected it, the organization turned assistants off, or you lost access)Connect again
MCP_SCOPE … connected at organization levelThe connection allows every project, and the URL names noneAdd ?project=<project id> to the URL
MCP_READ_ONLYA read-only connection tried to change somethingDisconnect and connect again with Read and write
ORG_PERMISSION_REQUIRED or a Sovariq AI policy messageYour role, or the organization's AI policy, doesn't allow itAsk an owner or admin
"This organization doesn't allow connecting AI assistants"An owner or admin turned it offAsk them to allow it in Organization settings › Security

Plans

Every plan, including Free. Calls count like any other API request toward your plan's rate limits and quotas.

Coming from Firebase or Supabase?

PlatformWhat this is called there
FirebaseFirebase MCP server
SupabaseSupabase MCP server
SovariaConnect AI assistants (MCP): Claude, ChatGPT, Cursor and VS Code

Moving an existing app? Migrate from Supabase or Firebase imports users (with their passwords), data, files and rules.

Something unclear or missing on this page?Tell us