MemorySync
Getting Started

Sign up as an Agent

A coding agent can mint a working key with no email, no verification code and nobody signing anything. The account is real and unowned until a human claims it.

Get a key

1
Install either CLI
npm install -g memorysync-cli
2
Mint an evaluation key
memorysync init --agent --agent-caller claude-code

The key is stored the same way memorysync init stores one: in the OS keychain where there is one, otherwise in an owner-only encrypted file. Every later command works with no further setup.

3
Name the end user
BASH
memorysync identify alice

A minted key comes with a generated end-user id, because a key created by an agent has nobody to name it after. Renaming the default does not rename memories already stored under the old id, so read those back with --user <the old id>. The identify command prints the exact id to use, so copy it from there rather than from this page.

What the mint returns

FieldMeaning
api_keyThe credential, prefixed ms_eval_.
default_user_idA generated end-user id to store memories against.
project_idThe project the key is bound to.
mcp_urlThe MCP endpoint, if you want an assistant to use the same memory.
claim_commandThe command a human runs to keep the account.
expires_atWhen the key stops working unless claimed.
limitsThe ceilings the meter actually enforces.

What an evaluation key includes

CeilingValue
Writes200 add requests
Reads500 retrieval requests
Storage10 MB
Lifetime7 days unless claimed
Keys per network5 per address per day, 20 per network per day (a /24 on IPv4, a /48 on IPv6)

Check what is left

memorysync quota

Going over the limit returns an error, on purpose

Paid and free plans degrade quietly at their limit: a write returns success having stored nothing, so an assistant never narrates a customer’s billing state to their end user. An evaluation key has no end user by construction, so it gets a 429 instead, with {"detail": {"error": "limit_exceeded", …}}; through MCP the same refusal is a tool error carrying limit_exceeded. An agent told {"status":"ok"} moves on and the memory is silently gone; a real error is the only answer it can act on.

What an evaluation key cannot do

  • Create API keys, so it cannot mint itself a wider credential.
  • Manage the team, billing, settings, or OAuth apps.
  • Attach a connector such as S3, Slack, or the web crawler — connector ingestion is not bounded by the per-request limits.
  • Read anything priced. Usage comes from /evaluation/usage, which reports counters and no cost figures.

Claim the account

1
Ask for a code
memorysync init --email you@example.com

A code is emailed to that address. It expires in 30 minutes.

Use an address that does not already have a MemorySync account. One that does is refused with email_already_registered rather than merged — see Claims are refused, never merged. If you already have an account, sign in to it instead; the evaluation account cannot be absorbed into it.

2
Redeem it
memorysync init --email you@example.com --code K7MP-3XQR

Finishing the claim does not need the key, so a claim started on one machine can be completed on another — which is what happens when the code is read on a phone.

3
Set a dashboard password, or do it later
memorysync init --email you@example.com --code K7MP-3XQR --password "your-password"

--password is optional. With it you can sign in as soon as the command finishes. Without it the claim still succeeds and you still own the account — a link to set a password is emailed to you instead. Either way the API key is unaffected; the password is only for the dashboard.

What claiming changes

  • The same API key keeps working and stops expiring.
  • The same organisation, tenant and project are kept, and every memory stored during the evaluation stays where it is.
  • You become the owner and the account moves to the free plan.
  • The key keeps its narrow memory-only scopes. Create a wider key from the dashboard when you need one.

Sign in to the dashboard

1
Use the address you claimed with

Your account identity is the exact address passed to --email, including anything after a +. If you claimed with you+eval1@example.com then that — not you@example.com — is what the sign-in form wants, even though both deliver to the same inbox.

2
If you passed `--password`

Sign in at https://app.memorysync.io/login with that address and the password you chose. Nothing further is needed.

3
If you did not

You have no password yet, so there is nothing to type in the password box. Claiming emails you a link that sets one; it is valid for 60 minutes.

If the link has expired or the email never arrived, go to https://app.memorysync.io/forgot-password and enter the address you claimed with. Despite the name, it sets a first password just as well as it replaces one — there is no separate flow to find.

Plans, and what happens after the first month

Claiming puts the account on the free plan. Free allows 10,000 add requests and 1,000 retrieval requests per month, and the allowance resets at the start of each billing month — the account itself does not expire, and neither does the key. The only thing with a deadline is an *unclaimed* evaluation key, which stops working after seven days.

PlanPriceAdd requests / monthRetrieval requests / month
Free$010,0001,000
Starter$2950,0005,000
Pro$179250,00025,000
Scale$349500,00050,000

Upgrade the plan

1
A human does this, not the agent

Changing plan requires the billing:write scope, which no evaluation key is ever granted and which a claimed key does not gain. That is deliberate: an agent should not be able to commit you to a subscription. The owner does it from the dashboard after signing in.

2
Where to click

Sign in, open https://app.memorysync.io/settings/billing, choose a plan and pay through Stripe. The new ceilings apply to the same key, project and memories — nothing is migrated and no code changes.

3
Check usage against the new ceiling
BASH
memorysync quota

Claims are refused, never merged

What’s next?

Was this page helpful?