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

> ## Agent Instructions
> Maximem Synap is a managed memory layer for AI agents: it ingests conversations and documents, extracts structured memory, and returns scoped context to the agent at retrieval time.
> The Python and JavaScript/TypeScript SDKs are the supported way to use Synap. Write integration code with SDK calls, not raw HTTP requests.
> Start with the Quickstart: https://docs.maximem.ai/getting-started/quickstart.md. Every SDK method is documented in the SDK reference: https://docs.maximem.ai/sdk-reference/overview.md.

# Configuration

> Every Vity setting in one place: API keys and account settings in the dashboard, and the options for the OpenClaw plugin, the Hermes plugin, the MCP server and the browser extension.

Vity has two kinds of settings. Your account settings, including API keys, live in the Vity dashboard at [app.maximem.ai](https://app.maximem.ai). Each app you connect to Vity also has its own options, kept in that app's config. This page lists all of them. To install a plugin or connect a client, follow its own page.

## API keys

The [OpenClaw](/vity/openclaw) and [Hermes](/vity/hermes) plugins and the [MCP server](/vity/mcp/overview) use an API key to reach your memory. The browser extension doesn't use one; it signs in with your Google account.

Open **API Keys** in the dashboard sidebar. It's a separate item from **Settings**.

### Create a key

1. Click **Generate API Key**.
2. Enter a **Key Name**, up to 100 characters, then click **Generate Key**. Name the key after the app you'll use it in, so you can tell your keys apart later.
3. Copy the key from **API Key Created Successfully**. It starts with `mx_`.
4. Click **I've Saved My Key**.

The full key appears only on that one screen. Vity stores only a fingerprint of the key (a SHA-256 hash), so it can't show you the key again. If you lose it, create a new one and revoke the old one.

Put the key where the app's page tells you to: an environment variable, a config file, or your MCP client's header settings. Don't paste it into a chat with an AI agent.

### What a key can do

* **Keys don't expire.** A key works until you revoke it.
* **Every key on your account reaches the same memory.** A second key doesn't give you a separate memory. Use one key per app anyway: then you can cut off one app without breaking the others.
* **A key can read, add to and delete from your memory.** You can't limit a key to reading only.

### Limits

* The dashboard lets you hold up to 10 keys at a time. The page shows how many you have, for example "Maximum 3/10 keys".
* You can create up to 10 keys an hour.

### Revoke a key

1. On **API Keys**, click the trash icon (**Revoke key**) next to the key.
2. Check the **Key Name** and **Key Prefix**, then click **Revoke Key**.

The key stops working straight away, and every app that uses it loses access to your memory. You can't undo this. Revoked keys disappear from the list.

## Dashboard settings

Open **Settings** in the dashboard sidebar. Settings are split into tabs:

| Tab | What you can change |
| - | - |
| **Account** | Your name and email (then **Save changes**), and your profile picture. |
| **Profile** | The profile Vity builds from your activity: company, role, location, education, interests, expertise, skills, goals and preferences. Edit a field to override what Vity worked out. The wand icon (**Use automatic**) lets Vity fill the field again. |
| **Connections** | Connect or disconnect Gmail, Calendar and WhatsApp. |
| **Notifications** | Which emails and in-app notifications you get. See the table below. |
| **Apps** | **Live Capture** and **WaitPro**. Both control the browser extension; see [Browser extension](#browser-extension). |
| **Privacy & Data** | Read the data policy, export your account data, contact support, or delete your account. See [Privacy and data](/vity/privacy). |

### Notifications

Changes on this tab save as soon as you make them.

| Setting | Default | What it controls |
| - | - | - |
| **Platform Notifications** | On | Emails about credit alerts, referral bonuses, feature announcements and Echo milestones. |
| **Weekly Summary** | On | A weekly email with your stats. |
| **Echo chat** | On | An email when someone chats with your Echo. |
| **Product news** | Off | Occasional emails about new apps and features. |
| **Daily Brief (Exec Assistant)** | Off | A morning email brief. Only shown when Exec Assistant is available on your account. |
| In-app notifications | All on | Six switches for the notification bell: Memories saved, Meeting ready, Weekly recap, Connector health, Credits and referrals, and Feature releases. |

**Welcome Email** is listed as always on and has no switch.

### Credits

The coin counter in the dashboard's top bar shows your credit balance. **Usage** in the sidebar breaks down how you spent credits, by day and by AI tool.

Each recall, capture, save, search and forget request from the OpenClaw and Hermes plugins uses 1 credit. So do the MCP server's `recall_context`, `search_memories` and `capture_conversation` tools. With automatic recall and capture on, credits go on every turn. When your balance reaches zero, those requests fail until you have credits again: the plugins carry on without memory.

The first API key you ever create adds 10,000 credits to your account. That happens once per account; revoking your keys and creating a new one doesn't add more.

## OpenClaw plugin

Put these options in the `config` block of the `memory-plugin` entry in your OpenClaw config file. The [OpenClaw page](/vity/openclaw) shows the full file and covers installing.

| Option | Default | What it does |
| - | - | - |
| `apiKey` | none | Your `mx_` key. If the `MAXIMEM_API_KEY` environment variable is set, the plugin uses that instead. With no key, the plugin turns itself off. |
| `autoRecall` | `true` | Before each turn, sends your message and the last 10 messages of the conversation to Vity, then adds the memories that match to the agent's context. |
| `autoCapture` | `true` | After each turn that finishes without error, sends the last 20 messages to Vity to be saved. |
| `maxRecallTokens` | `1000` | The most context, in tokens, that recall adds to a turn. Allowed range: 100 to 10000. A higher limit gives the agent more background and uses more of its context window. |
| `minPromptLength` | `5` | Messages shorter than this many characters skip recall, so a "hi" doesn't trigger a lookup. Must be at least 1. |
| `captureDebounceMs` | `2000` | How long, in milliseconds, the plugin waits after a turn before saving. Turns that end within that window are saved together in one request. |
| `recallSlashLimit` | `5` | How many results `/recall` returns, from 1 to 20. Add `--limit` at the end of a `/recall` message to change it for that one search. |
| `recallSlashMinScore` | `0.3` | The lowest relevance score, from 0 to 1, that `/recall` shows. Add `--min-score` at the end of a `/recall` message to change it for that one search. |
| `endpoint` | Maximem's service | The address of the Vity API. The `MAXIMEM_ENDPOINT` environment variable overrides it. Leave it unset. |

The three agent tools (`maximem_store`, `maximem_search` and `maximem_forget`) are off until you add them to your agent's tool allow list. The [OpenClaw page](/vity/openclaw) shows where that list goes.

## Hermes plugin

The Hermes plugin reads its settings from two files in your Hermes home folder. That's `~/.hermes` on macOS and Linux and `%LOCALAPPDATA%\hermes` on Windows, unless you've set `HERMES_HOME` to move it.

* `.env` holds secrets and other environment variables. The installer writes your API key here.
* `vity.json` holds everything else. Create it if it doesn't exist.

> [!WARNING]
>
> The installer also puts a `vity.json` inside `plugins/maximem_vity/`. The plugin doesn't read that copy. Put your settings in `vity.json` in the Hermes home folder itself.

Restart Hermes after changing either file (gateway users: `hermes gateway restart`). Installing is covered on the [Hermes page](/vity/hermes).

### Environment variables

| Variable | Default | What it does |
| - | - | - |
| `MAXIMEM_API_KEY` | none | Your `mx_` key. Required. `VITY_API_KEY` also works. |
| `MAXIMEM_ANALYTICS` | on | Set to `0`, `false`, `off` or `no` to stop the plugin sending usage events to Maximem. Events carry timings, counts and which settings are on; they don't include your messages or memories. |
| `MAXIMEM_ENDPOINT` | Maximem's service | The address of the Vity API. `MAXIMEM_API_URL` also works. Leave it unset. |

### vity.json

```json theme={null}
{
  "auto_recall": true,
  "auto_capture": true,
  "max_recall_tokens": 1000,
  "min_prompt_length": 5,
  "recall_min_score": 0.3,
  "recall_timeout": 6.0,
  "recall_deadline": 3.0,
  "profile_warmup": true
}
```

| Key | Default | What it does |
| - | - | - |
| `auto_recall` | `true` | Before each turn, searches your memory for your message and adds the matches to the agent's context. |
| `auto_capture` | `true` | After each turn, saves your message and the agent's reply. It also copies facts that Hermes' own memory tool records. Turns from cron jobs and subagents are never saved. |
| `max_recall_tokens` | `1000` | Roughly how much memory recall adds to a turn, in tokens (about 4 characters each). |
| `min_prompt_length` | `5` | Messages shorter than this many characters skip recall. The first message of a session and short follow-ups like "why?" still get recall, because the plugin pairs the follow-up with your previous message. |
| `recall_min_score` | `0.3` | The lowest relevance score, from 0 to 1, that a memory needs before recall adds it on its own. It keeps weak matches out of the context. It doesn't affect the `vity_recall` tool. |
| `recall_timeout` | `6.0` | Seconds before a single recall request to Vity gives up. |
| `recall_deadline` | `3.0` | The most seconds Hermes waits for recall before a turn. After that the turn goes ahead without memory, so a slow connection can't hold up your reply for longer. |
| `profile_warmup` | `true` | When a session starts, loads a short summary of who you are in the background and adds it to the context once. |

## MCP server

The only things you configure for the MCP server are in your MCP client: where the server is, and your key.

| Setting | Value |
| - | - |
| URL | `https://vity-mcp.maximem.ai/mcp` |
| Transport | Streamable HTTP |
| Header | `Authorization: Bearer mx_...` |

The server reads only the `Authorization` header. Your key decides whose memory it reaches. Rate limits and credits count per account, so all your keys share them. Everything else is an argument the agent passes on each call, such as how many results to return. The [Tools and prompts page](/vity/mcp/tools) lists those arguments. Setup for Claude Code, Cursor and other clients is on the [MCP server page](/vity/mcp/overview).

## Browser extension

The extension signs in with your Google account; it doesn't take an API key. Its settings are in three places. The [Browser extension page](/vity/browser-extension) explains each feature in full.

### In the extension popup

Click the Maximem icon in Chrome's toolbar, then the gear icon, to open **Preferences**.

| Setting | Default | What it does |
| - | - | - |
| **Page summarizer** | Off until you allow it | Adds a Summarize button to web pages. Turning it on asks Chrome for access to all sites. |
| **Sound Like Me** | On | Shows a rewrite star in text fields, but only on the sites you choose under **Where Sound Like Me works**. |
| **Where Sound Like Me works** | No sites | One switch per site: Gmail, Slack, LinkedIn, WhatsApp, Telegram, Messenger, Discord, X, Instagram, Facebook, Reddit, Hacker News, Threads and YouTube. Chrome asks permission for each site. The extension reads your draft only when you click the star. |
| **Analytics** | On | Sends usage events to help Maximem improve the extension. The popup's **Help improve Maximem** switch is the same setting. |

### On AI chat sites

The Maximem bar above the message box has a switch for memory lookups. It's on by default. While it's on, the extension sends what you've typed to Vity to find related memories. You don't have to send the message for that to happen. The switch applies to every supported site at once.

### In the dashboard

Open **Settings**, then the **Apps** tab. Do this in the same Chrome profile where the extension is installed: the dashboard passes these settings to the extension through the page, so they don't reach an extension in another browser.

| Setting | Default | What it does |
| - | - | - |
| **Enable Live Memory Capture** | On (Grok stays off until you switch this on) | Saves your conversations on supported AI chat sites to Vity after each reply. Reload open AI chat tabs after you change it. |
| **Enable WaitPro** | Off | Shows reading from your bookmarks while an AI reply loads. You need to import bookmarks first. Turning it on uploads your Chrome bookmarks to Vity. |

> [!WARNING]
>
> **Enable Live Memory Capture** doesn't cover every site. The [Browser extension page](/vity/browser-extension) lists which sites save conversations and which ones the switch controls.


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