Korely

Get Started

Vibecoding

Give your coding assistant a memory that survives the session.

You build by prompting, Claude Code, Cursor, Windsurf. Korely gives them one hosted memory for the architecture you settled on, the library you rejected, the convention you agreed, reachable with the same key from every assistant and every machine. Its MCP server exposes your Korely agent store as MCP tools, so the assistant can recall what it learned and remember new decisions, and what it stores are typed, bi-temporal facts with a graph behind them, not a flat transcript it has to re-read.

Set it up

1. Get a key

One command mints a free hobby key and saves it locally, no signup form:

Terminal window
pip install 'korely-memory[mcp]'
korely init --agent --agent-caller claude-code

korely-mcp, the local MCP server, ships with the package and runs on Python 3.9 or later; the [mcp] extra is kept, empty, so the line above keeps working; korely init writes the key to ~/.korely/config.json. See Sign up as an agent for the full flow.

2. Add the MCP server to your assistant

In Claude Code, connect Korely's remote MCP server with one command, using the key from step 1 (saved in ~/.korely/config.json). It is the same setup as on the Claude Code page:

Terminal window
claude mcp add --transport http korely https://api.korely.ai/agent/mcp \
--header "Authorization: Bearer kor_live_..."

To run the server on your machine instead, the package installs korely-mcp, a local stdio MCP server. Point any MCP-capable client at it. It reads the key from ~/.korely/config.json or the KORELY_API_KEY env var:

Terminal window
claude mcp add korely -- korely-mcp

Restart the assistant and the four Korely tools appear. That's the whole setup, no rules engine, no separate dashboard.

To save every session without asking, run korely init --tool claude-code (or codex, or cursor) in the repository instead: it installs the MCP server and hooks that hand the assistant the repository's memory when a session starts and save the session to it. See Connect a coding assistant.

3. The tools your assistant now has

ToolWhat it does
korely_get_context The recall call. Assembles the user's currently valid typed facts most relevant to the query plus the most relevant memories into a prompt-ready block. Call it before answering.
korely_add Remember a decision, preference, or convention, Korely extracts the typed facts. Call it after something durable is settled.
korely_get_facts Read the typed (subject, predicate, object) facts. Pass as_of for what was true back then, or known_as_of for what the store knew back then.
korely_search Semantic vector search over the raw memories, when you want the source rather than the assembled block.

A starter prompt

Drop this into your assistant's system prompt or rules file so it uses the memory on its own:

You have persistent memory through the Korely MCP tools. Use it instead of asking
the user to repeat themselves:
- Before answering anything about this project, the user's preferences, or past
decisions, call korely_get_context with a short query to recall what is known.
- After the user settles a durable decision, preference, convention, or fact,
call korely_add with one clear sentence so it persists across sessions.
- Use korely_get_facts to check the current typed facts (as_of for what was
true at a date, known_as_of for what the store knew then); use korely_search
to pull up the underlying memories.
Memory persists across sessions and is shared with any other Korely surface
(SDK, CLI, REST). Treat it as the source of truth for what was decided.

What it looks like in practice

You tell the assistant "we're standardizing on Postgres and shipping on Fridays". It calls korely_add; Korely extracts you · uses · Postgres and you · ships_on · Fridays. Next week, in a fresh session, you ask it to scaffold a deploy script, it calls korely_get_context("deploy cadence and stack") first and already knows. If you later switch to a Tuesday cadence, the old fact is invalidated (not deleted) and as_of can still reconstruct what the plan was. That is the difference between a memory layer and a chat log.

Go deeper

  • Build it into your own agent: the Quickstart and the SDK reference, the same memory, called from code.
  • Understand the moat: temporal facts and the graph, why recall returns current truth, not the nearest paragraph.
  • Use the CLI directly: the CLI reference, the same tools as korely context, korely add, for scripts and hooks.