# Configure groundcover's MCP Server

Set up your agent to talk to groundcover's MCP server. Use OAuth for a quick login, or an API key for service accounts.

**The MCP server supports two methods:**

* [**OAuth**](#oauth-recommended) (Recommended for IDEs)
* [**API Key**](#api-key)

## OAuth (recommended)

**OAuth is the default** if your agent supports it.

To get started, add the config below to your MCP client.\
Once you run it, your browser will open and prompt you to log in with your groundcover credentials.

{% hint style="info" %}
🧘 **Pro tip**: You can copy a ready-to-go command from the UI.\
Go to the sidebar → Click your profile picture → **"Connect to our MCP"**

*The tenant's UUID and your time zone will be auto-filled.*
{% endhint %}

<figure><img src="/files/OfgJpBR7zEDKp6VgZTNX" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}
Please make sure to have [`node`](https://nodejs.org/en/download) installed (to use `npx`)
{% endhint %}

### Using npx (local proxy)

**Cursor**

```json
{
  "mcpServers": {
    "groundcover": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@0.1.30",
        "https://mcp.groundcover.com/api/mcp",
        "54278",
        "--header",
        "X-Timezone:<IANA_TIMEZONE>",
        "--header",
        "X-Tenant-UUID:<TENANT_UUID>",
        "--header",
        "X-Backend-Id:<BACKEND_ID>"
      ]
    }
  }
}
```

**Claude Code**

```bash
claude mcp add groundcover npx -- -y mcp-remote@0.1.30 https://mcp.groundcover.com/api/mcp 54278 --header X-Timezone:<IANA_TIMEZONE> --header X-Tenant-UUID:<TENANT_UUID> --header X-Backend-Id:<BACKEND_ID>
```

### Remote server (no npx)

For clients that connect to the MCP server directly as a remote endpoint (e.g. Claude Web), pass your tenant UUID and backend ID as **query parameters** on the URL:

```
https://mcp.groundcover.com/api/mcp?xTenantUUID=<TENANT_UUID>&xBackendId=<BACKEND_ID>
```

## API Key

If your agent doesn't support OAuth, or if you want to connect a service account, this is the way to go.

#### Prerequisites

1. **Service‑account API key** – create one or use an existing API Key. Learn more at [groundcover API keys](https://docs.groundcover.com/use-groundcover/api-keys).
2. **Your local time zone** (IANA format, for example `America/New_York` or `Asia/Jerusalem`). See how to [find it below](#how-to-find-your-time-zone).

#### Configuration Example

```json
{
  "mcpServers": {
    "groundcover": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.groundcover.com/api/mcp",
        "--header", "Authorization:${AUTH_HEADER}",
        "--header", "X-Tenant-UUID:${TENANT_UUID}",
        "--header", "X-Backend-Id:${BACKEND_ID}",
        "--header", "X-Timezone:${TIMEZONE}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer <your_token>",
        "TENANT_UUID": "<your_tenant_uuid>",
        "BACKEND_ID": "<your_backend_id>",
        "TIMEZONE": "<your_timezone>"
      }
    }
  }
}
```

## Request Parameters

Every MCP connection requires a **tenant UUID** and **backend ID** to route requests to the correct workspace.

| Parameter   | npx (local proxy)        | Remote server               | API Key                  |
| ----------- | ------------------------ | --------------------------- | ------------------------ |
| Tenant UUID | Header (`X-Tenant-UUID`) | Query param (`xTenantUUID`) | Header (`X-Tenant-UUID`) |
| Backend ID  | Header (`X-Backend-Id`)  | Query param (`xBackendId`)  | Header (`X-Backend-Id`)  |
| Timezone    | Header (`X-Timezone`)    | Header (`X-Timezone`)       | Header (`X-Timezone`)    |

**Where to find your tenant UUID and backend ID**

* Go to the sidebar → Click your **profile picture** → **"Connect to our MCP"**. Both values are pre-filled.
* Alternatively: **Settings → Access → API Keys** tab.

## **How to find your time zone**

| OS                 | Command                         |
| ------------------ | ------------------------------- |
| macOS              | `sudo systemsetup -gettimezone` |
| Linux              | `timedatectl grep "Time zone"`  |
| Windows PowerShell | `Get-TimeZone`                  |

## **Client‑specific Guides**

Depending on your client, you can usually set up the MCP server through the UI - or just ask the client to add it for you. Here are quick links for common tools:

* [Instructions for Claude Desktop](https://modelcontextprotocol.io/quickstart/user#2-add-the-filesystem-mcp-server)
* [Instructions for Claude Web](https://support.anthropic.com/en/articles/11175166-about-custom-integrations-using-remote-mcp)
* [Instructions for Cursor](https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers)
* [Instructions for Windsurf](https://docs.windsurf.com/windsurf/mcp)
* [Instructions for VS Code](https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server-to-your-workspace)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.groundcover.com/getting-started/groundcover-mcp/configure-groundcovers-mcp-server.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
