# Mem0 MCP connector

Connecting Mem0 to Claude, ChatGPT, Cursor, or any MCP client through Elaichi lets each person search, add, correct, and export the memories, users, and projects in Mem0 inside their own access, with every call logged.

Source: https://elaichi.ai/connectors/mem0/

## Facts

| | |
| --- | --- |
| Application | Mem0 |
| Category | Knowledge Management |
| AI tools | 37 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 37 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Mem0 is connected

- Search Mem0 memories mentioning the pricing migration
- List Mem0 users with memories created this week
- Summarize Mem0 events logged for the onboarding entity

## Connect Mem0 in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Mem0.
2. Optionally set Share with, then press Connect.
3. Paste a Mem0 API key. One person generates a token in Mem0 and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Mem0 tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Mem0 to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Mem0 to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Mem0 to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Mem0 to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Mem0 tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Mem0 through Elaichi

### Check what the assistant remembers about a user

Product. After a customer says the assistant got them wrong, search that user's memories in Mem0 to see exactly what has been retained and where it drifted.

### Correct a bad memory after a ticket

Support. Find the memory in Mem0 that caused a customer to get a wrong answer, fix the wording or remove it, and confirm the change landed before closing the ticket.

### Set up a project for a new pilot

Engineering. Create a Mem0 project for the pilot and add the teammates who need to be organization members, without leaving the chat.

### Clear a departed customer's memories

Compliance. When a deletion request arrives, remove every memory in Mem0 tied to that user with a single filter, and keep the event record for the audit file.

### Pull an export for the quarterly review

Operations. Start an export of memories in Mem0 and fetch it once it is ready, so the review pack is built from what the assistant actually stored.

### Review this week's memory activity

Analytics. List recent events in Mem0 to see how many memories were created, updated, or deleted, and log feedback on the recalls that missed.

## Frequently asked questions

### How do I connect Mem0 to Claude?

Two steps. In Elaichi, choose Mem0 and paste the API key from your Mem0 dashboard, which is the whole sign-in for this connector, since there is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude asks you to sign in to Elaichi, and Mem0 is available in your next conversation.

### Does Mem0 work with ChatGPT and Cursor as well as Claude?

Yes. Connect Mem0 once in Elaichi and the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. Nothing has to be set up again per client, and every one of them runs through the same access rules and the same audit log.

### What can an AI agent actually do with my Mem0 data?

With Mem0 connected, an agent can search the memories stored for a user, add a new memory, correct or remove one that is wrong, and clear a whole set of memories with a filter. It can also list users and recent events, start and fetch an export, record feedback on a recall, and create projects and organization members. Because Mem0 has many actions, short concrete asks such as "show the memories for user 4821" work better than long paragraphs.

### Does connecting Mem0 give the AI access to every organization and project?

No. Everything an agent does in Mem0 runs under the API key of the person who connected, so it can only reach the organizations, projects, and memories that key already reaches. Elaichi can narrow that further, for example to search and read only, but it can never grant the agent anything the key itself does not have.

### Can my team share one Mem0 connection?

Yes. One person connects Mem0 in Elaichi and shares the connection with a team, and nobody else ever sees or handles the API key. Each teammate still signs in to Elaichi as themselves, so the audit log records who searched, changed, or deleted which memory in Mem0, not just that the shared connection did.

### Can I stop an agent from deleting or changing memories in Mem0?

Yes. In Elaichi, restrictions on the Mem0 connector work per action, so you can allow searching and reading memories while blocking updates, single deletions, and bulk deletions by filter. A blocked action is never shown to Claude, ChatGPT, Cursor, or any other client, so no prompt, however worded, can reach it.

### What happens to a Mem0 connection when someone leaves?

Offboarding that person in Elaichi ends their access to Mem0 at once, across every client they used. If they had shared a Mem0 connection with a team, it keeps working for everyone else and you can hand ownership to someone still in the company. Disconnecting Mem0 once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client at the same time.

## All 37 Mem0 tools

Every tool below is callable through https://api.elaichi.ai/mcp once Mem0 is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Delete a Mem0 entity by ID** (Delete). Delete a user entity from mem0 by entity type and ID. Returns an empty 204 response on success. Required: entity_type, id.
- **List all Mem0 users** (List). List all user entities stored in the mem0 platform. Returns: id.
- **Get single Mem0 event by ID** (Get). Get a specific mem0 event by id, retrieving its status and payload for tracking asynchronous memory operations such as writes submitted via the memories add endpoint. Returns: id, status, payload. Required: id.
- **List all Mem0 events** (List). List recent mem0 events for your organization and project, useful for dashboards, alerting on FAILED events, and audit logging. Returns: id, status, payload.
- **Create a Mem0 memory** (Create). Add memories to mem0 by submitting conversation messages through the V3 additive pipeline (async, ADD-only; nothing is overwritten). Returns: message, status, event_id. Required: messages, plus at least one of user_id, agent_id, app_id, or run_id.
- **Mem0 memories bulk delete** (Delete). Delete multiple mem0 memories in a single batch request. Returns an empty 204 response on success.
- **Mem0 memories bulk update** (Update). Update multiple mem0 memories in a single batch request. Returns an empty 204 response on success.
- **Delete a Mem0 memory by ID** (Delete). Delete a single mem0 memory by id. Returns an empty 204 response on success. Required: id.
- **List all Mem0 memories** (List). List mem0 memories with paginated results using filter conditions including logical operators (AND, OR, NOT) and comparisons (gte, lte, in, icontains, etc.). Returns: id, memory, created_at, updated_at per record. Entity IDs (user_id, agent_id, app_id, run_id) must be nested inside the filters body object — top-level entity IDs are rejected.
- **Get single Mem0 memory by ID** (Get). Get a single mem0 memory by id. Returns: id, memory, created_at, updated_at. Required: id.
- **Mem0 memories search** (Search). Search mem0 memories using hybrid retrieval (semantic, BM25 keyword, and entity matching) with relevance scoring. Returns: results containing id, memory, user_id, score, metadata, created_at, updated_at, and categories per match. Required: query and filters containing at least one entity ID.
- **Update a Mem0 memory by ID** (Update). Update the content or metadata of a single mem0 memory by id. Returns: id, memory, created_at, updated_at. Required: id.
- **Mem0 memories bulk delete by filter** (Delete). Delete all mem0 memories matching specified filter conditions from the memory store. Returns an empty 204 response on success.
- **Create a Mem0 export** (Create). Submit a mem0 export job to create a structured memory export using a customizable Pydantic schema. Returns the export job id and status. Optionally filter memories by user_id, agent_id, run_id, or session_id. Large exports may take time to complete.
- **Get single Mem0 export by ID** (Get). Retrieve the latest structured memory export from mem0 after an export job has been submitted. Returns the export id and schema-defined data. Optionally filter by user_id, run_id, session_id, or app_id.
- **Create a Mem0 feedback** (Create). Submit positive or negative feedback on memory results in mem0 to help improve memory accuracy and relevance. Returns an empty 204 response on success.
- **Create a Mem0 organization member** (Create). Add a new member to a mem0 organization with a specified access role. Returns: id, user_id, role. Required: org_id, role.
- **List all Mem0 organization members** (List). List all members belonging to a specific mem0 organization. Returns: id, user_id, role. Required: org_id.
- **Create a Mem0 organization** (Create). Create a new organization in mem0 to manage projects, members, and memory resources. Returns: id, name. Required: name.
- **Delete a Mem0 organization by ID** (Delete). Permanently delete a mem0 organization and all its associated resources by id. Returns an empty 204 response on success. Required: id.
- **Get single Mem0 organization by ID** (Get). Get details of a specific mem0 organization by id. Returns: id, name. Required: id.
- **List all Mem0 organizations** (List). List all mem0 organizations associated with your account. Returns: id, name.
- **Get single Mem0 project by ID** (Get). Get a single mem0 project by id within an organization. Returns: id, name, description, custom_categories. Required: org_id, id.
- **Create a Mem0 project** (Create). Create a new mem0 project within an organization. Returns: id, name, description, custom_categories. Required: org_id, name.
- **Update a Mem0 project by ID** (Update). Update a mem0 project's configuration within an organization, including custom categories. Returns: id, name, description, custom_categories. Required: org_id, id.
- **Delete a Mem0 project by ID** (Delete). Delete a mem0 project by id within an organization. This action is irreversible. Returns an empty 204 response on success. Required: org_id, id.
- **List all Mem0 projects** (List). List all mem0 projects within an organization. Returns: id, name, description, custom_categories. Required: org_id.
- **List all Mem0 project members** (List). List all members of a mem0 project. Returns: email, role. Required: org_id, project_id.
- **Create a Mem0 project member** (Create). Add a new member to a mem0 project with a specified role. Returns: email, role. Required: org_id, project_id, email, role.
- **Update a Mem0 project member by ID** (Update). Update the role of an existing member in a mem0 project. Returns: email, role. Required: org_id, project_id, email, role.
- **Delete a Mem0 project member by ID** (Delete). Remove a member from a mem0 project by email. Returns an empty 204 response on success. Required: org_id, project_id, email.
- **Create a Mem0 webhook** (Create). Create a new webhook in mem0 for a project to receive real-time notifications about memory events. Returns: id, url, project_id, events. Required: project_id, url.
- **Delete a Mem0 webhook by ID** (Delete). Delete a mem0 webhook by id to stop receiving memory event notifications for that endpoint. Returns an empty 204 response on success. Required: id.
- **Get single Mem0 webhook by ID** (Get). Get a mem0 webhook by id. Returns: id, url, project_id, events. Required: id.
- **Update a Mem0 webhook by ID** (Update). Update an existing mem0 webhook configuration by id, such as changing its url or event subscriptions. Returns: id, url, project_id, events. Required: id.
- **List all Mem0 webhooks** (List). List all webhooks configured for a mem0 project. Returns: id, url, project_id, events. Required: project_id.
- **List all Mem0 memory history** (List). List the full change history of a specific mem0 memory to track how it has evolved over time. Returns: id, memory_id, event, prev_value, new_value, created_at, updated_at. Required: memory_id.
