Getting Started
Quickstart
Two ways to give your agents memory: connect an MCP client with one config block, or install the Python SDK. Same API key, same memory — pick your path.
Get your API key
Create a free account and mint your API key instantly from the playground. Keys follow the format lk_... — the same key works for both paths.
Add Litica to your MCP client
Open your Claude Desktop config file and add the following. Replace lk_your-api-key with the key you received.
{
"mcpServers": {
"litica-memory": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.litica.org/mcp/",
"--header",
"X-API-Key:lk_your-api-key"
]
}
}
}Save the file and restart Claude Desktop. That is it.
Clients that speak HTTP natively (Claude Code, Cursor) can skip the mcp-remote bridge and point straight at the server:
{
"mcpServers": {
"litica-memory": {
"url": "https://mcp.litica.org/mcp/",
"headers": { "X-API-Key": "lk_your-api-key" }
}
}
}You are connected.
Claude now has Litica's four memory tools: add_memory, search_memory, add_memories_batch, and add_documents. Tell Claude to remember something and it saves it, broken down by what it's about. Start a new session, ask it to recall, and it brings the right memories back, most useful first.
Next steps
- Configuration guide for Claude Code, Cursor, and other MCP clients
- MCP Server reference for tool parameters and how retrieval works
Install the package
Requires Python 3.10+. The only dependency is httpx.
pip install liticaGet your API key
Create a free account and mint your API key instantly from the playground. Keys follow the format lk_... — the same key works for both paths.
Write a memory, then search it
Writes are queued: the server accepts them instantly, then decomposes, embeds, and stores them in the background. So a first script polls briefly between write and search:
import time
import litica
client = litica.Client(api_key="lk_your-api-key")
client.add_memory("Sam owns the Atlas pricing page.")
# Poll until the write has landed (usually a few seconds).
for _ in range(20):
hits = client.search_memories("who owns pricing?")
if hits:
break
time.sleep(3)
for hit in hits:
print(hit.id, hit.text)That is the whole loop.
Your agent now writes memories that persist across sessions and retrieves them ranked by what fits the task. Namespaces, tracing, and the audit feed all build on these two calls.
Next steps
- Full SDK quickstart — agent identity, environment variables, and the read-your-writes pattern
- Configuration — scope defaults, timeouts, and client lifecycle
- SDK API Reference — every method, parameter, and response type