Xata MCP server

official

The Xata MCP server lets AI assistants and agents interact with your Xata organizations, projects, and Postgres database branches.

What can you do with Xata MCP?

  • Verify your identity — ask the assistant to confirm who you’re authenticated as using user_info.
  • Explore your database schema — have the assistant list tables and columns in a branch with describe_schema.
  • Run read-only SQL queries — ask the assistant to execute run_sql against a branch to analyze your data.
  • Look up API operations — use search_operations to find the right Xata REST API endpoint by describing your intent.
  • Invoke read API calls — let the assistant fetch resources via call_read_operation after describing the operation.
  • Search Xata documentation — ask the assistant to find relevant docs using search_xata or read a specific page by path.

Documentation

Skip to main content

The Xata MCP server lets AI assistants and agents interact with your Xata organizations, projects, and branches using the Model Context Protocol (MCP).

​What is the Xata MCP server?

  • A hosted MCP server that runs alongside the Xata API — there is nothing to install or run locally.
  • Authenticated via OAuth in your browser, or with a Xata API key for headless environments.
  • Accessible from any MCP client that supports remote servers over Streamable HTTP.

Server URL:

https://api.xata.tech/mcp

The server uses the Streamable HTTP transport. There is no SSE endpoint and no local (npm) version of the server.

​Authentication

The MCP server supports two authentication methods:

MethodUse whenClient requirement
OAuthInteractive use in an editor/chatSupport for MCP OAuth (dynamic client registration)
API keyAutomation, CI, headless agentsSupport for custom HTTP headers

​OAuth

With OAuth-capable clients, you only need the server URL. When your client connects for the first time, it registers itself with Xata, opens a browser window, and asks you to sign in to your Xata account and approve access. Tokens are short-lived and scoped to the MCP server.

​API key

Clients that support custom headers can authenticate with a Xata API key instead:

Authorization: Bearer YOUR_XATA_API_KEY

Create a dedicated API key for MCP access rather than reusing an existing key. Store it in an environment variable or your client’s secret storage — never commit it to source control.

​Set up your MCP client

​Cursor

Cursor offers a deep link for quick OAuth setup:Add to Cursor

Alternatively, you can add it manually:

  1. Open the command palette and search for “Cursor Settings”.
  2. Under Tools & MCP, click New MCP Server.
  3. Add the Xata server to the configuration file that opens:

.cursor/mcp.json

{
  "mcpServers": {
    "xata": {
      "url": "https://api.xata.tech/mcp"
    }
  }
}
  1. Save the file. Cursor prompts you to authenticate — follow the browser flow and approve access to your Xata account.

​Claude Code

Add the server from your terminal:

claude mcp add --transport http xata https://api.xata.tech/mcp

Then start Claude Code and run the /mcp slash command. Select the xata server and follow the browser instructions to authenticate. To use an API key instead of OAuth (for example, in CI):

claude mcp add --transport http xata https://api.xata.tech/mcp
  --header "Authorization: Bearer YOUR_XATA_API_KEY"

​VS Code

MCP servers in VS Code require the GitHub Copilot and GitHub Copilot Chat extensions.

  1. Open the Command Palette (Cmd+Shift+P / Ctrl+Shift+P).
  2. Run MCP: Add Server and choose HTTP.
  3. Enter https://api.xata.tech/mcp as the URL and xata as the name.

Alternatively, add it to your configuration manually:

.vscode/mcp.json

{
  "servers": {
    "xata": {
      "type": "http",
      "url": "https://api.xata.tech/mcp"
    }
  }
}

Start the server from MCP: List Servers and allow it to authenticate when prompted.

​Claude (web and desktop)

Add Xata as a custom connector:

  1. Go to SettingsConnectors.
  2. Click Add custom connector.
  3. Enter https://api.xata.tech/mcp as the server URL and click Add.
  4. Follow the prompts to sign in with your Xata account.

Custom connectors using remote MCP are not available on all Claude plans, and may require an organization owner to add them on team plans. See the Claude documentation for details.

​ChatGPT

Connect ChatGPT to Xata using a custom connector:

  1. In ChatGPT, go to SettingsConnectorsAdvanced settings and enable Developer mode.
  2. On the Connectors tab, create a new connector with the server URL:
https://api.xata.tech/mcp
  1. Choose OAuth for authentication and complete the authorization flow when prompted.
  2. In each chat where you want to use Xata, click the + button and enable the Xata connector under Add sources.

​Codex CLI

Add the Xata server:

codex mcp add xata --url https://api.xata.tech/mcp

The add command may open a browser and report an OAuth error. If that happens, continue with the login command below; the xata server entry has already been saved.

Authenticate with Xata using explicit OAuth scopes:

codex mcp login xata --scopes mcp-client,offline_access

Complete authorization in the browser. The offline_access scope allows Codex to refresh its Xata session without requiring another browser authorization. Then start codex, run /mcp, and verify that xata is connected and authenticated.

​Antigravity CLI

Add Xata to your global MCP configuration:

~/.gemini/config/mcp_config.json

{
  "mcpServers": {
    "xata": {
      "serverUrl": "https://api.xata.tech/mcp"
    }
  }
}

To enable Xata only for one project, use .agents/mcp_config.json in that project’s root instead. Start agy and enter /mcp. In the MCP Manager, use Authenticate for xata and follow the prompts to complete OAuth.

​OpenCode

Add the Xata server to your OpenCode configuration file:

~/.config/opencode/opencode.json

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "xata": {
      "type": "remote",
      "url": "https://api.xata.tech/mcp"
    }
  }
}

Then authenticate from your terminal:

opencode mcp auth xata

​Amp

Add the server from your terminal:

amp mcp add xata https://api.xata.tech/mcp

Then start amp — you should be prompted to authenticate in the browser. Run /mcp list tools to confirm the server is connected.

​Windsurf

  1. In Windsurf, open the Cascade panel and click the MCP (hammer) icon, then Configure to open the raw configuration file (~/.codeium/windsurf/mcp_config.json).
  2. Add the Xata server entry:

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "xata": {
      "serverUrl": "https://api.xata.tech/mcp"
    }
  }
}
  1. Save the file and click Refresh in the Cascade sidebar. Complete the OAuth flow when the browser window opens.

​Zed

  1. Open SettingsAIMCP Servers and click Add ServerAdd Remote Server, or edit your settings file directly:

settings.json

{
  "context_servers": {
    "xata": {
      "url": "https://api.xata.tech/mcp"
    }
  }
}
  1. Zed prompts you to authenticate against the server using the standard MCP OAuth flow.

​Cline

  1. Open Cline in VS Code and click the MCP Servers icon.
  2. In the Remote Servers tab, enter xata as the name, https://api.xata.tech/mcp as the URL, and choose Streamable HTTP as the transport. Or edit the configuration JSON directly:
{
  "mcpServers": {
    "xata": {
      "type": "streamableHttp",
      "url": "https://api.xata.tech/mcp"
    }
  }
}

The transport type must be streamableHttp (camelCase). Omitting it causes Cline to fall back to the legacy SSE transport, which the Xata MCP server does not support.

​Other MCP clients

Any MCP client can connect if it supports:

  • Remote MCP servers over Streamable HTTP (not SSE)
  • OAuth with dynamic client registration, or custom HTTP headers for API key authentication

Consult your client’s documentation for where to configure remote MCP servers, and use https://api.xata.tech/mcp as the URL.

​Verify the connection

After connecting, ask your assistant:

Use the Xata MCP server to tell me who I’m authenticated as.

The assistant should call the user_info tool and return your user identity (or the API key identity, if you authenticated with a key). If it does, the connection is working.

​Available tools

The Xata MCP server exposes the following tools:

ToolDescription
user_infoReturns the identity of the authenticated caller — your user ID and email for OAuth, or the API key ID.
search_operationsFind a Xata REST API operation by intent (for example, “list branches” or “invite member”).
describe_operationReturn the parameters and request/response schemas for a specific operation.
call_read_operationInvoke a read-only Xata REST API operation.
call_write_operationInvoke a Xata REST API operation that creates or updates data.
call_destructive_operationInvoke a Xata REST API operation that destroys data or revokes access. Requires confirm=true.
run_sqlRun SQL against a branch. Read-only by default; pass write=true to run statements that mutate data.
describe_schemaList the tables and columns of a branch.
list_skillsList the available Xata skills — guided workflows for common multi-step tasks.
get_skillRead the instructions for a specific skill.
search_xataSearch the Xata documentation.
query_docs_filesystem_xataRead Xata documentation pages by path.

​Security

  • Prefer OAuth for interactive clients; tokens are short-lived and can be revoked by disconnecting the server in your client.
  • For automation, use a dedicated API key and rotate it regularly.
  • Some tools can modify your data: call_write_operation and call_destructive_operation can change or delete resources (the latter requires confirm=true), and run_sql can mutate data when called with write=true. Review the actions your assistant proposes before approving them, and keep a human in the loop for any write or delete.

​Troubleshooting

Authentication keeps failing or loops. Remove the Xata server from your client, restart the client, and add the server again to trigger a fresh OAuth flow. The server connects but no tools show up. Make sure you completed the authentication step — most tools require a valid session before they appear. Re-run your client’s authentication flow, then refresh its tool list. See Available tools for the full set. Your client can’t connect at all. Confirm the URL is exactly https://api.xata.tech/mcp and that your client supports Streamable HTTP. SSE-only clients are not supported. The server doesn’t appear in your client. Check the client’s MCP configuration file syntax — the JSON shape differs between clients (mcpServers vs servers vs context_servers, url vs serverUrl) — and check the client’s logs. Most clients require a full restart after configuration changes.

Was this page helpful?

Previous

Organizations

Next