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

# Grok Bot with Cognee Cloud

> Give Grok Bot persistent knowledge-graph memory through the hosted Cognee MCP server.

[Grok Bot](https://x.ai) can use Cognee as its memory through the [hosted Cognee MCP server](/cognee-cloud/connections/cloud-mcp), either added directly or through the `cognee-grok-bot` plugin. The plugin connects that server and adds a skill that tells the bot to recall before it answers and to remember durable facts. Grok Bot signs you in with your Cognee account, so there is no API key to paste and nothing to install.

## How it works

The plugin has two parts:

| Part | What it does |
| - | - |
| MCP connector | The plugin manifest declares the hosted server `https://mcp.aws.cognee.ai/mcp` as the `cognee` MCP server, which gives the bot the `remember`, `recall`, `forget` and `check_ingestion_status` tools. |
| `cognee-memory` skill | Makes Cognee the bot's memory: recall before answering, remember durable facts, name the dataset on every call, show what Cognee did, and confirm before deleting. |

Grok Bot runs in the cloud and does not run plugin hooks, so unlike the [Claude Code](/cognee-cloud/agent-integrations/claude-code) plugin nothing captures or recalls memory automatically. The skill steers the bot to call the tools itself. Its description asks the bot to load it at the start of every conversation and before any Cognee tool call.

> [!NOTE]
>
> A plugin cannot switch off Grok Bot's own memory. If your Grok Bot has a built-in memory setting, turn it off so the two do not disagree.

## Before you start

You need a [Cognee Cloud](https://platform.cognee.ai) account with a workspace. The hosted MCP server acts on the workspace your account belongs to. See [which workspace](/cognee-cloud/connections/cloud-mcp#what-happens-when-you-connect) a connection uses.

## 1. Connect Cognee

Grok Bot uses the plugins on your Cursor account, so you add this one through the Cursor app. It is not in the public Cursor marketplace yet; you add the `cognee-integrations` repository as a marketplace yourself, or set up its two parts in a Grok Bot chat. This works on a free personal account.

**Install the plugin (recommended)**

1. Link GitHub to your Cursor account first: open the [Cursor dashboard](https://cursor.com/dashboard), go to **Integrations**, and choose **Connect** next to GitHub. Without the link, Cursor's requests to GitHub get rate-limited and the plugin can disappear from the marketplace shortly after it shows up.

2. In the Cursor app, open **Customize** in the sidebar and add this repository as a marketplace:

   ```
   https://github.com/topoteretes/cognee-integrations
   ```

3. Install **Cognee Memory for Grok Bot** (`cognee-grok-bot`) from that marketplace. The description ends with the plugin's version.

4. In Grok Bot, open **Connect apps → Your plugins** and check that the plugin is listed.

5. In a new conversation, ask the bot to test the connection, so it loads the skill and uses Cognee once:

   ```
   Test the Cognee connection: load your cognee-memory skill, remember in the dataset "cognee_test" that the Cognee connection works, and recall it once ingestion has finished.
   ```

   If you have not signed in yet, the bot shows a connect card: sign in with your Cognee account and click **Allow Access**. Ingestion takes about a minute. The answer should end with a `🧠 Saved to Cognee (cognee_test)` line and a `🧠 Cognee memory (cognee_test)` line. Clean up with `Forget the dataset "cognee_test"`; the bot asks you to confirm first.

**Without the plugin: set it up in chat**

Grok Bot can't install a plugin from a local folder, but you can give it the plugin's two parts yourself from a chat. This also works for testing a branch before it is published.

1. Add the server. Send:

   ```
   Add a custom MCP server called cognee at https://mcp.aws.cognee.ai/mcp
   ```

   Keep the words "custom MCP server", so the bot adds this URL rather than searching the plugin catalog. Confirm the name and URL the bot shows, then sign in with your Cognee account and click **Allow Access**. The tools are available from your next message.
2. Add the skill. Send:

   ```
   Save this as one of your skills: https://raw.githubusercontent.com/topoteretes/cognee-integrations/main/integrations/grok-bot/skills/cognee-memory/SKILL.md
   ```

   Check that `cognee-memory` is listed under **Connect apps → Your plugins → Manage plugins and skills → Private skills**. The bot picks the skill up when a new conversation starts.
3. In a new conversation, ask the bot to test the connection, so it loads the skill and uses Cognee once:

   ```
   Test the Cognee connection: load your cognee-memory skill, remember in the dataset "cognee_test" that the Cognee connection works, and recall it once ingestion has finished.
   ```

   If you have not signed in yet, the bot shows a connect card: sign in with your Cognee account and click **Allow Access**. Ingestion takes about a minute. The answer should end with a `🧠 Saved to Cognee (cognee_test)` line and a `🧠 Cognee memory (cognee_test)` line. Clean up with `Forget the dataset "cognee_test"`; the bot asks you to confirm first.

Without step 2 the bot still has the four Cognee tools, but uses them only when you ask ("remember in Cognee…", "recall from Cognee…") and does not add the 🧠 lines. To update the skill later, ask the bot to save the file again.

The hosted server does not accept API keys; every connection signs in with a Cognee account. [What happens when you connect](/cognee-cloud/connections/cloud-mcp#what-happens-when-you-connect) covers how long the sign-in lasts and what happens when your workspace is asleep.

In a chat, type `@` and attach `cognee` (or the plugin) to the task if the bot does not pick it up on its own.

## 2. Pick a dataset

Every memory lives in a named dataset. The skill tells the bot to use one dataset per conversation and to pass it on every call. If you have not named one, the bot asks once and suggests a short name such as `london_community`. A team that wants shared memory agrees on one dataset name.

> [!WARNING]
>
> Name the dataset. Without one, `remember` writes to a dataset named after the MCP client (see [Default Dataset Resolution](/cognee-mcp/mcp-tools#default-dataset-resolution)), and `recall` searches every dataset in your account and answers once per dataset.

## What Cognee did, after each answer

When an answer used recalled memory, or the bot saved something, it ends with one line per action:

```
> 🧠 Cognee memory (london_community): Ana runs the Thursday meetups at Expedite.
> 🧠 Saved to Cognee (london_community): the next meetup moves to 29 October.
```

The memory line names the dataset the hit came from and only covers what `recall` returned, not what the bot knows from the conversation. Unlike the Claude Code plugin's credit line it has no `[m1]` tags, because those come from a recall hook and Grok Bot runs no hooks.

## Tools

| Tool | Use |
| - | - |
| `remember` | Store text (`data`) or a file (`filename` + `content_base64`, up to 10 MB) in `dataset_name`. |
| `recall` | Search memory with `query`, scoped to `datasets` (comma-separated). |
| `forget` | Delete a dataset (`dataset`), one item (`data_id` + `dataset`), or everything (`everything: true`). |
| `check_ingestion_status` | Whether a dataset has finished processing after `remember`. |

`remember` runs the full ingestion pipeline: about a minute for a short note, longer for large text or files. The skill has the bot poll `check_ingestion_status` until it reports `DATASET_PROCESSING_COMPLETED` before relying on the new memory.

`forget` deletes permanently. The skill tells the bot never to call it without your explicit confirmation of exactly what will be deleted, and to ask a second time, naming every dataset, before deleting everything.

## Access

The hosted server acts as the signed-in user, with access to all of that user's datasets. To give a bot narrower access, [run `cognee-mcp` yourself](/cognee-cloud/connections/cloud-mcp#run-the-mcp-server-yourself) in API mode with an API key that has only the permissions you want, and connect Grok Bot to that instead.

## Try it

```
Remember in dataset "hackathon_test": the London hackathon is on 22 October 2026 at Expedite London HQ.
```

Wait until `check_ingestion_status` reports `DATASET_PROCESSING_COMPLETED`, then in a new chat:

```
Recall from dataset "hackathon_test": when and where is the London hackathon?
```

The answer should end with a `🧠 Cognee memory (hackathon_test)` line. Clean up with `Forget the dataset "hackathon_test"`.

> [!TIP]
>
> Once installed, the plugin also works in Cursor itself: the skill is available in every Cursor chat, so Cognee is the memory for your coding sessions too.

***

> **[Cloud MCP](/cognee-cloud/connections/cloud-mcp)**
>
> How MCP clients sign in and connect to Cognee Cloud

> **[MCP tools](/cognee-mcp/mcp-tools)**
>
> Full tool reference and default dataset rules

> **[Plugin source](https://github.com/topoteretes/cognee-integrations/tree/main/integrations/grok-bot)**
>
> The plugin manifest, skill and changelog


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.