Durable memory for AI agents, over MCP

The missing state for your AI tasks

Junkt is a tiny key/value store your agents reach over MCP. Give them durable memory between runs — remember a timestamp, a flag, or a counter with no database, no setup, and no glue code.

Free to start · Live in under 10 minutes · No credit card.

agent · junkt mcp
# Did the daily digest already run today?
agent → get_value("cowork:daily-digest:last_run")
junkt ← { exists: false }

# No record. Run the task, then mark it done.
agent → set_value("cowork:daily-digest:last_run", "ok")
junkt ← { created: true, updated_at: "2026-05-31T09:00:00Z" }

Works with Claude, Claude Cowork, Claude Desktop, and any MCP-compatible client.

Tiny on purpose

Somewhere to stash a value, without standing up a database

Four tools, flat keys, string values. The surface stays small so your agent can use it the moment it hits the “I just need to remember this” wall.

MCP-native
The remote MCP server is the product. Your agent calls list_keys, get_value, set_value, and delete_key directly.
Zero infrastructure
No Redis, no Postgres, no schema for three keys. Sign up, add the connector, and your agent has durable state.
Private by account
Every key is scoped to your account and never visible to anyone else. Tokens are issued over OAuth and revocable any time.
Namespace by convention
Flat keys up to 128 characters. Group them however you like — cowork:digest:last_run — then filter by prefix.
Timestamps for free
Every write records updated_at. For “when did this last run” checks, just set the key and read the time back.
Right-sized values
Strings up to 2KB — a flag, a counter, a small JSON blob. This is state, not storage, and it stays fast because of it.

From signup to first tool call

Three steps, under ten minutes

  1. 1

    Create your account

    Sign up with an email and password, then confirm it in one click.

  2. 2

    Add the connector

    Paste your MCP URL into Claude. It registers itself and walks you through a quick OAuth approval — no client IDs to copy.

  3. 3

    Read and write state

    Your agent calls the tools straight away. The first one works on the first try.

The originating use case

“Did this scheduled task already run today?”

A scheduled agent wakes up and needs to know whether it already did its job. Without somewhere to remember, it either runs twice or never. Junkt gives it a single key to check — and an updated_at to reason about.

Give your agent a memory
junkt ← list_keys(prefix: "cowork:")
{
  total: 3,
  keys: [
    { key: "cowork:daily-digest:last_run",
      updated_at: "2026-05-31T09:00:00Z",
      size: 2 },
    { key: "cowork:weekly-report:last_run", ... },
    { key: "cowork:inbox:cursor", ... }
  ]
}

Start free

Everything you need to give your agents memory. No credit card to begin.

Free

$0 / forever

For prototyping agents and remembering a handful of values.

Up to 25 keys per account
Values up to 2KB each
All four MCP tools
OAuth tokens, revocable from your dashboard
Create your free account

Give your AI tasks a memory

Durable state for your agents in a few minutes. Start free, no credit card.

Start storing state