> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xano.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gemini CLI

> Install and use the Xano Developer MCP with Gemini CLI

export const BrowserFrame = props => {
  const {url = "xano.run", maxWidth = 820, className = "", lightSrc, darkSrc, alt = "", children} = props || ({});
  const style = typeof maxWidth === "number" ? {
    maxWidth: `${maxWidth}px`,
    margin: "16px 0"
  } : {
    maxWidth,
    margin: "16px 0"
  };
  const hasSwapImages = Boolean(lightSrc && darkSrc);
  return <div className={`browser-frame ${className}`.trim()} style={style}>
      <div className="browser-frame__top">
        <div className="browser-frame__controls" aria-hidden="true">
          <span className="browser-frame__dot browser-frame__dot--red" />
          <span className="browser-frame__dot browser-frame__dot--yellow" />
          <span className="browser-frame__dot browser-frame__dot--green" />
        </div>
        <div className="browser-frame__address">{url}</div>
      </div>

      <div className="browser-frame__body">
        {hasSwapImages ? <>
            <img className="browser-frame__img--light" src={lightSrc} alt={alt} />
            <img className="browser-frame__img--dark" src={darkSrc} alt={alt} />
          </> : children}
      </div>
    </div>;
};

## Prerequisites

* [Node.js](https://nodejs.org/) 18 or later
* [Gemini CLI](https://github.com/google-gemini/gemini-cli) installed and authenticated

## Installation

### Install the MCP Server

Add the Xano Developer MCP to your Gemini CLI settings file at `~/.gemini/settings.json`:

```json theme={null}
{
  "mcpServers": {
    "xano": {
      "command": "npx",
      "args": ["-y", "@xano/developer-mcp"]
    }
  }
}
```

To scope the server to a single project instead of all projects, put the same `mcpServers` block in `.gemini/settings.json` at your project root.

Restart any active Gemini CLI sessions so the new server is picked up.

### Verify Setup

In Gemini CLI, ask:

> "What version of the Xano Developer MCP is installed?"

Gemini should call `mcp_version` and return the current version number.

## Usage

The Developer MCP lets Gemini CLI write and validate XanoScript using your local Xano workspace as context.

Before asking Gemini to make changes, pull a workspace locally with the Xano CLI. If you haven't installed and authenticated with the CLI yet, [do that now](/xano-cli/get-started) before continuing. Then select or create a workspace and run:

```bash theme={null}
xano workspace pull
```

Once your workspace is available locally, you can ask Gemini to help with XanoScript tasks, from building a complete workspace:

```bash theme={null}
Create a small backend for advisor client intake. It should include a `clients` table with fields for name, email, phone, risk tolerance, investment objective, and advisor notes. Add API endpoints to create a client, list clients, get a single client by ID, and update client details. Include validation for required fields and valid risk tolerance values.
```

<Expandable title="See the result">
  Gemini creates a small advisor client intake backend for storing and managing client profile details.

  The generated backend includes a `clients` table with fields for the client's name, email, phone number, risk tolerance, investment objective, advisor notes, and timestamps. The email field is stored as a unique value, so duplicate client records cannot be created with the same email address.

  It also adds a `clients` API group with endpoints to:

  * Create a new client
  * List clients with pagination and sorting
  * Get a single client by ID
  * Update an existing client

  The generated XanoScript includes validation for required fields, supported risk tolerance values, duplicate email addresses, and missing client records. Before pushing the changes, Gemini validates the generated XanoScript with the Developer MCP and fixes any issues it finds.

  You can [download the complete backend](/files/advisor-client-backend.zip) for further review.
</Expandable>

You can also ask it to expand or iterate on existing backends.

```bash theme={null}
Add a follow-up task feature to the advisor client intake backend. Create a `client_tasks` table linked to clients, with fields for task title, due date, status, and notes. Add API endpoints to create a task for a client, list all tasks for a client, and mark a task as complete.
```

<Expandable title="See the result">
  Gemini extends the advisor client intake backend with a follow-up task feature for managing next steps after a client profile is created.

  The updated backend keeps the existing `clients` table and API endpoints for creating, listing, retrieving, and updating client records. It also adds a new `client_tasks` table linked to the `clients` table, so each task belongs to a specific client.

  The `client_tasks` table includes fields for the related client, task title, due date, status, notes, and timestamps. Task status supports values like `pending`, `in_progress`, and `completed`, making it possible to track where each follow-up task stands.

  The backend also adds new API endpoints to:

  * Create a follow-up task for a client
  * List all follow-up tasks for a client
  * Mark a follow-up task as complete

  The generated XanoScript includes checks for missing clients, missing task titles, valid task statuses, and missing task records. Before pushing the changes, Gemini validates the updated XanoScript with the Developer MCP and fixes any issues it finds.
</Expandable>

Once you're ready, push the changes to your sandbox so you can review them in the browser before promoting to your live workspace:

<BrowserFrame url="Terminal">
  ```bash theme={null}
  xano sandbox push -d ./my-workspace
  xano sandbox review
  ```
</BrowserFrame>

`xano sandbox review` opens your sandbox in the browser — verify everything looks right, then promote the changes to production from there.

## What's Next

<CardGroup cols={2}>
  <Card title="Tools Reference" icon="wrench" href="/developer-mcp/tools">
    Explore all 6 tools available in the Developer MCP
  </Card>

  <Card title="Resources & Library" icon="book" href="/developer-mcp/resources">
    Access MCP resources and use the package as an npm library
  </Card>
</CardGroup>
