# Build with AI

> Connect your AI tools to Grovs, let a coding agent add the SDK for you, and give any model the docs in Markdown

Source: https://docs.grovs.io/docs/ai

- [Connect the MCP server](#connect-the-mcp-server): Create links, read analytics and change settings from Claude, Cursor, VS Code or ChatGPT.
- [Let an agent integrate the SDK](#let-an-agent-integrate-the-sdk): Paste one prompt into your coding agent. It installs and configures Grovs.
- [Give a model the docs](#give-a-model-the-docs): Every page as Markdown, plus llms.txt for the whole site.

## Connect the MCP server

The Grovs [MCP server](https://docs.grovs.io/docs/ai/mcp/introduction) lets an AI tool work with your projects: create and search links, group them into campaigns, read analytics, and set redirects and SDK settings. It uses OAuth: the first time you connect, your tool opens a browser and you approve it in the Grovs dashboard. There are no keys to copy.

MCP server URL on grovs Cloud: `https://mcp.grovs.io/mcp`. Self-hosted: `https://mcp.<your-domain>/mcp`.

**Claude Code**

```bash
claude mcp add grovs --transport http https://mcp.grovs.io/mcp
```

- **Cursor**: [Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=grovs&config=eyJ1cmwiOiJodHRwczovL21jcC5ncm92cy5pby9tY3AifQ%3D%3D)
- **VS Code**: [Add to VS Code](vscode:mcp/install?%7B%22name%22%3A%22grovs%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.grovs.io%2Fmcp%22%7D)
- **Claude.ai & Desktop**: Settings › Connectors › Add custom, paste the server URL. [Steps](https://docs.grovs.io/docs/ai/mcp/claude-desktop)
- **ChatGPT**: developer mode connector with the server URL. [Steps](https://docs.grovs.io/docs/ai/mcp/chatgpt)

**Windsurf and other Streamable HTTP clients**

```json
{
  "mcpServers": {
    "grovs": {
      "serverUrl": "https://mcp.grovs.io/mcp"
    }
  }
}
```

Server URL for Grovs Cloud: `https://mcp.grovs.io/mcp`. Running Grovs yourself? See [Self-hosted MCP](https://docs.grovs.io/docs/ai/mcp/self-hosted).

Step-by-step guides: [Cursor](https://docs.grovs.io/docs/ai/mcp/cursor), [VS Code](https://docs.grovs.io/docs/ai/mcp/vs-code), [Claude Code](https://docs.grovs.io/docs/ai/mcp/claude-code), [Claude Desktop and Claude.ai](https://docs.grovs.io/docs/ai/mcp/claude-desktop), [ChatGPT](https://docs.grovs.io/docs/ai/mcp/chatgpt), [Windsurf](https://docs.grovs.io/docs/ai/mcp/windsurf). What each tool does is in the [tools reference](https://docs.grovs.io/docs/ai/mcp/tools-reference).

## Let an agent integrate the SDK

Paste a prompt into Claude Code, Cursor or Copilot inside your app's repository. The agent reads the Grovs docs through the link at the end of the prompt and makes the changes. Replace `GROVS_API_KEY` with however your project stores secrets, and check the diff before you commit.

**Prompt for iOS**

```text
Add Grovs deep linking to this iOS app.

1. Add the Grovs Swift package https://github.com/grovs-io/grovs-iOS.git, Up to Next Major Version from 3.1.0, and link the Grovs library to the app target. If the project uses CocoaPods, add pod 'Grovs', '~> 3.1' instead.
2. Call Grovs.configure(APIKey:useTestEnvironment:delegate:) in application(_:didFinishLaunchingWithOptions:) with the key in GROVS_API_KEY. Use useTestEnvironment: true only for debug builds.
3. Forward incoming links with Grovs.handleSceneDelegate(...) from the SceneDelegate, or Grovs.handleAppDelegate(...) when there is no SceneDelegate.
4. Add the Associated Domains capability with applinks: entries for the project's production and test link domains, and the URL scheme from the Grovs dashboard.
5. Adopt GrovsDelegate and route grovsReceivedPayloadFromDeeplink(link:payload:tracking:) to the existing router.
6. Build and tell me what you changed.

Docs: https://docs.grovs.io/docs/sdk/ios/quick-start.md
```

**Prompt for Android**

```text
Add Grovs deep linking to this Android app.

1. Add implementation("io.grovs:Grovs:3.1.0") to the app-level build.gradle.
2. Call Grovs.configure(this, apiKey, useTestEnvironment = ...) in the Application class onCreate, with the key from the project's secrets setup (GROVS_API_KEY). Use the test environment only in debug builds.
3. In the launcher activity, call Grovs.onStart(this) from onStart and Grovs.onNewIntent(intent, this) from onNewIntent.
4. Add intent filters to the launcher activity for the custom URL scheme and for autoVerify App Links on the production and test link hosts.
5. Register Grovs.setOnDeeplinkReceivedListener and route the payload to the existing navigation.
6. Build and tell me what you changed, and the package name and SHA-256 fingerprint to register in the Grovs dashboard.

Docs: https://docs.grovs.io/docs/sdk/android/quick-start.md
```

**Prompt for Web**

```text
Add the Grovs Web SDK to this web app.

1. Install the grovs package, version 2.1.0 (`npm install grovs`).
2. Call Grovs.configure with apiKey, testEnvironment, onDeeplink and onError once, on the client only, as early as possible, with the key in GROVS_API_KEY. Set testEnvironment to true only in development.
3. Route the onDeeplink payload to the existing router.
4. Call Grovs.setUserIdentifier with the signed-in user's ID after sign-in.
5. Tell me what you changed, which origins I must register as linked domains in the Grovs dashboard, and whether the site's Content-Security-Policy allows inline scripts (HTML in-app messages need them).

Docs: https://docs.grovs.io/docs/sdk/web/quick-start.md
```

**Prompt for Flutter**

```text
Add Grovs deep linking to this Flutter app.

1. Add grovs_flutter_plugin: ^3.2.0 to pubspec.yaml and run flutter pub get. It needs Flutter 3.38.0 or later.
2. Android: add the grovs_api_key and grovs_use_test_environment meta-data to AndroidManifest.xml, and intent filters for the custom URL scheme and autoVerify App Links on the production and test hosts. Set flutter_deeplinking_enabled to false on the launcher activity.
3. iOS: add GrovsApiKey and GrovsUseTestEnvironment to Info.plist, the URL scheme, and the Associated Domains capability with applinks: entries for the production and test hosts. Set FlutterDeepLinkingEnabled to false in Info.plist.
4. Take the key from GROVS_API_KEY through the project's secrets setup; don't commit it.
5. Subscribe to Grovs().onDeeplinkReceived in the root widget and route the payload to the existing navigation.
6. Build both platforms and tell me what you changed.

Docs: https://docs.grovs.io/docs/sdk/flutter/quick-start.md
```

**Prompt for React Native**

```text
Add Grovs deep linking to this React Native app.

1. Install react-native-grovs-wrapper.
2. In an Expo app with a development build, add the react-native-grovs-wrapper config plugin to app.json (apiKey, scheme, useTestEnvironment, associatedDomains) and run npx expo prebuild --clean. Otherwise wire the native side by hand as the docs describe: io.grovs:Grovs:3.1.0 and Grovs.configure in MainApplication, link forwarding in MainActivity and AppDelegate.swift, intent filters, URL scheme and Associated Domains.
3. Take the key from GROVS_API_KEY; use the test environment only in debug builds.
4. Register Grovs.onDeeplinkReceived early in the app and route the payload to the existing navigation.
5. Build both platforms and tell me what you changed.

Docs: https://docs.grovs.io/docs/sdk/react-native/quick-start.md
```

**Prompt for Unity**

```text
Add Grovs deep linking to this Unity game.

1. Check that External Dependency Manager for Unity (com.google.external-dependency-manager) is installed. If not, add it from OpenUPM.
2. Add "com.grovs.sdk": "https://github.com/grovs-io/grovs-unity.git#upm/v1.0.0" to Packages/manifest.json.
3. In Assets → External Dependency Manager → iOS Resolver → Settings, turn on "Add pods to Unity framework target" and "Link frameworks statically".
4. Create Assets/Grovs/GrovsSettings.asset through Edit → Project Settings → Grovs. Leave the API key, URI scheme and link domains for me to fill in from the Grovs dashboard.
5. In the first scene, subscribe to Grovs.DeeplinkReceived (namespace GrovsSDK) and route GrovsDeeplink.Data to the existing scene loading code. There is no init call.
6. Check Player Settings → Android → Target API Level is 34 or higher. Build both platforms, then list what you changed.

Docs: https://docs.grovs.io/docs/sdk/unity/quick-start.md
```

More prompts, for adding deep linking to a screen, tracking a purchase and sending yourself a test push, are in [AI prompts](https://docs.grovs.io/docs/ai/prompts).

## Give a model the docs

| URL                                                     | What it is                                                                                                                                   |
| ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| [`/llms.txt`](https://docs.grovs.io/llms.txt)           | An index of every page, grouped by section, with a Markdown link and a one-line description for each. For tools that crawl.                  |
| [`/llms-full.txt`](https://docs.grovs.io/llms-full.txt) | All the docs in one file, to paste into a long context.                                                                                      |
| `/docs/<page>.md`                                       | Any page as Markdown. Add `.md` to its URL, for example [`/docs/sdk/ios/quick-start.md`](https://docs.grovs.io/docs/sdk/ios/quick-start.md). |

Every page also has **Copy page**, **View as Markdown**, **Open in Claude** and **Open in ChatGPT** in its page menu. See [Docs for LLMs](https://docs.grovs.io/docs/ai/llms).
