# Set up Memlo for someone

This page is for an AI assistant that a person asked to "set up Memlo for me." People can read it too. It is also served as plain Markdown at https://memlo.ai/agent.md.

## What Memlo is

Memlo is a memory service for AI agents. Agents save short notes, called memories, and find them again later with search. One person's memories work across all of their agents and apps.

Agents reach Memlo through MCP (the Model Context Protocol). The server is:

```
https://memlo.ai/mcp
```

There is nothing to install. There is no API key. Each person signs in with their own Memlo account.

## Before you start: an account

Memlo needs an account, and accounts are invite-only for now.

- If the person has an account, continue below.
- If not, they can join the waitlist on the home page, https://memlo.ai/. They enter their email address and choose "Join the waitlist". They will get an email when they are invited.
- Do not try to create an account for them. Setup cannot finish without their own sign-in.

## Set up Claude Code

Run this in a terminal:

```
claude mcp add --transport http memlo https://memlo.ai/mcp
```

This adds Memlo for the current project only. To add it for every project, add `--scope user`:

```
claude mcp add --transport http --scope user memlo https://memlo.ai/mcp
```

Then sign in. Either run this and finish the sign-in in the browser it opens:

```
claude mcp login memlo
```

Or, inside Claude Code, type `/mcp`, choose memlo, and choose Authenticate.

Check that it worked:

```
claude mcp get memlo
```

It should say "Status: ✔ Connected". Before sign-in it says "Needs authentication".

To share the setup with a project's other users, use `--scope project`. That writes a `.mcp.json` file like this, and each person still signs in with their own account:

```
{
  "mcpServers": {
    "memlo": {
      "type": "http",
      "url": "https://memlo.ai/mcp"
    }
  }
}
```

## Set up claude.ai or Claude Desktop

Memlo is added as a custom connector. The person does this in their own Claude settings:

1. Open Settings, then Connectors.
2. Choose "Add custom connector".
3. Name: Memlo. URL: `https://memlo.ai/mcp`. Leave the advanced OAuth fields empty.
4. Choose Add, then Connect, and sign in.

A connector added on claude.ai also appears in Claude Desktop when the person uses the same Claude account.

## Set up another MCP client

Any MCP client that supports remote servers with OAuth sign-in can connect.

- Transport: Streamable HTTP, at `https://memlo.ai/mcp`. There is no separate SSE endpoint, so choose "HTTP" or "Streamable HTTP", not "SSE".
- Sign-in: standard MCP OAuth. The server answers an unsigned request with 401 and a `resource_metadata` link (https://memlo.ai/.well-known/oauth-protected-resource/mcp). Clients register themselves automatically (dynamic client registration or a client ID metadata document) and use PKCE.
- Leave client ID and client secret empty unless the client requires them.
- Scopes: `openid profile offline_access`.

If the client asks for a config entry, use the URL above with the type "http".

## What sign-in looks like

The person must complete sign-in themselves. You cannot sign in for them, and you should never ask for their password.

1. A browser page opens at auth.memlo.ai titled "Sign in to Memlo". It names the app that is asking, for example "Claude Code".
2. They enter their email or username and choose "Log in", then their password and "Continue". If they set up two-factor sign-in, they confirm that too.
3. The first time, a consent page asks "Allow (the app) to use Memlo?" and lists what the app may do: read, search, create, change and delete their Memlo memories, request new tokens without asking again, and see basic profile information. They choose "Continue". When they sign in again later with the same app, this page is skipped.
4. The browser says the sign-in worked. They can close it and go back to the app.

Tell the person what to expect before the page opens. Afterwards, check the connection (for Claude Code, `claude mcp get memlo`).

## The tools

These are the tools the server offers. Use their exact names.

### Start here

- `whoami`: shows which account you are signed in as. Use it first to confirm setup.
- `list_spaces`: lists the spaces you can use, with how many memories each holds. Use it before you save or search anywhere other than the person's own space.
- `get_prime_directive`: loads the person's welcome message. A new account gets a short default one. To change it, save a memory named `prime_memory` in the person's own space; this tool then returns that instead.

### Find memories

- `search_memories`: the main search. Give a `query`. Optionally give `about_to`: one to five short sentences that start with "About to" and say what you are about to do. That finds memories about the step you are taking, not only the topic. Without `space`, it searches the spaces the person owns; `include_shared` set to true also searches spaces shared with them. Memories shared with them one at a time show up as "Shared with you" lines.
- `explore_memories`: searches, reads the best matches, and writes one answer with sources. Use it when you need an answer, not a list. It uses a model, so it counts toward the person's daily limit.
- `list_memories`: lists the memories in a space. It can filter by tags or folder.
- `read_memory`: reads one memory in full, by name.
- `list_shared_memories`: lists single memories other people shared with the person (one memory, not a whole space), with who shared each and the `space_id` and `doc_key` to read it.
- `read_shared_memory`: reads one of those shared memories, given its `space_id` and `doc_key`. It is read only here.
- `routed_search`: searches all of the person's spaces in one call and lists which spaces the results came from. Use it when you don't know which space holds the answer. Like `search_memories`, it includes spaces other people shared only when `include_shared` is true or the person's search preference says so.

### Save and change memories

- `create_memory`: saves a new memory. It needs a `name` (a unique id, snake_case), a `title` and the `content`. Optional: `space` and `tags`.
- `edit_memory`: changes part of a memory by replacing exact text. Use it for small changes, so the rest stays as it was. Read the memory first.
- `update_memory`: replaces a memory's whole content.
- `delete_memory`: deletes a memory. Its history is kept, and `restore_memory` can bring it back.
- `retire_memory`: hides a memory that is out of date but was once true. It stays readable, and `unretire_memory` brings it back. Prefer it to deleting when knowledge is only out of date.

### Folders

- `list_folders`: shows a space's folders and how many memories each holds.
- `create_folder`: makes a folder. Nest with "/", for example "Projects/Work".
- `file_memory`: moves memories into a folder. It never changes their text.

### History

- `memory_history`: lists a memory's versions, shows one version, or shows a diff between two.
- `restore_memory`: rolls a memory back to an earlier version. This also undeletes it.

### Work diary

- `log_experience`: writes a diary entry about work done: subject, action, and optionally context, outcome, project and status.
- `list_experiences` and `get_timeline`: read the diary back.

### Settings

- `get_search_preferences`: says whether searches that name no space include spaces other people shared with the person.
- `set_search_preferences`: changes that. Use it only when the person asks.

## Good habits

- Search before you save. If a memory on the topic exists, edit it instead of adding a near copy.
- Choose the right space. Without `space`, tools use the person's own personal space. Use `list_spaces` to find a shared or team space, and pass its name only when the person wants the memory there.
- Keep memories short and titled. One fact or decision per memory, with a plain title that says what it is about.
- Save what lasts: decisions and why they were made, preferences, how things work, mistakes not to repeat. Do not save numbers that change every day.
- Never save secrets. No passwords, API keys, tokens or private keys, even if asked. Say where the secret lives instead.
- Ask before saving anything personal or sensitive about the person or other people.

## Limits and spend

- Model work counts against the person's own daily limit. That includes `explore_memories` answers and the short summaries and names Memlo writes for new memories.
- When the limit is reached, summaries and names for new memories pause until the limit resets the next day. Saving and searching still work.
- The person can see what they used, and their limit, on the Budget and Usage page: https://memlo.ai/app/budget.
- Requests sent too quickly are refused with HTTP 429. Wait a few seconds and try again.

## Early access

Memlo is in early access. Tools, limits and features may change. Data may be changed or deleted while the service is in early access. Do not make Memlo the only copy of anything important.

## Troubleshooting

### 401, "Needs authentication", or sign-in did not finish

The app is not signed in, or its sign-in ran out. Sign in again: `claude mcp login memlo` in Claude Code, or Connect on the connector in Claude settings. If the sign-in page says the account cannot sign in, the person may not have been invited yet (see "Before you start").

### The memory went to the wrong space, or search cannot find it

Run `whoami` to check the account, and `list_spaces` to see the spaces. Without `space`, tools use the person's own space, and searches skip spaces other people shared with them. Pass `space` with the right name. To move a memory, create it in the right space and delete the old one.

### Over the daily limit

See "Limits and spend". Saving and searching keep working. The rest resumes when the limit resets.

### Disconnect

- To stop one app: in Memlo, open the account menu, choose "Account settings", and choose "Disconnect" next to the app under Connected apps (https://memlo.ai/app/settings#connected-apps). The app stops working within seconds.
- To remove Memlo from Claude Code: `claude mcp remove memlo`. Add `-s user` or `-s project` if it was added with that scope.
- To remove it from claude.ai or Claude Desktop: remove the connector in Settings, then Connectors.

## More

- Home page and waitlist: https://memlo.ai/
- How it works: https://memlo.ai/how-it-works
- The app: https://memlo.ai/app
- Terms: https://memlo.ai/legal/terms
- Privacy: https://memlo.ai/legal/privacy
- Acceptable use: https://memlo.ai/legal/acceptable-use
