Skip to main content
Glama

Kronvex — EU-Native Memory API for AI Agents

Persistent, semantically searchable memory.
Three endpoints. GDPR-compliant. Data stays in Europe.

PyPI npm License: MIT EU Frankfurt Uptime


Why Kronvex?

Every time a user opens a new session with your AI agent, it starts from scratch. No context, no history, no user preferences. You end up injecting entire conversation histories into every prompt — expensive, slow, and context-window-limited.

Kronvex gives your agent persistent, semantically searchable memory across sessions. Store interactions, recall relevant context by meaning, inject a ready-to-use context block before each LLM call — and keep all data in Europe.


Related MCP server: Mnemoverse Memory

Performance

Endpoint

p50

p99

/remember

<30ms

<180ms

/recall

<45ms

<280ms

/inject-context

<55ms

<320ms

99.9% uptime · EU Frankfurt · GDPR-compliant · pgvector cosine similarity · 1536-dim embeddings


Quick Start

1. Get a free API key

curl -X POST https://api.kronvex.io/auth/demo \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Alice",
    "email": "alice@company.com",
    "usecase": "Customer support bot with memory"
  }'
{
  "full_key": "kv-xxxxxxxxxxxxxxxx",
  "agent_id": "uuid-of-your-first-agent",
  "memory_limit": 100,
  "message": "Ready! Your API key and first agent are set up."
}

2. Store a memory

curl -X POST https://api.kronvex.io/api/v1/agents/{agent_id}/remember \
  -H "X-API-Key: kv-xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"content": "Alice is a Premium customer since January 2023."}'

3. Inject context before each LLM call

curl -X POST https://api.kronvex.io/api/v1/agents/{agent_id}/inject-context \
  -H "X-API-Key: kv-xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"message": "I still have that billing issue"}'
{
  "context_block": "[KRONVEX CONTEXT]\n- Alice is a Premium customer since Jan 2023 (similarity: 0.94)",
  "memories_used": 1
}

SDKs

Python

pip install kronvex
from kronvex import Kronvex

kx = Kronvex("kv-your-api-key")
agent = kx.agent("your-agent-id")

await agent.remember("User prefers concise answers")
context = await agent.inject_context("How should I format this?")

Node.js / TypeScript

npm install kronvex
import { Kronvex } from "kronvex";

const kx = new Kronvex("kv-your-api-key");
const agent = kx.agent("your-agent-id");

await agent.remember("User prefers concise answers");
const context = await agent.injectContext("How should I format this?");

MCP (Claude Desktop)

{
  "mcpServers": {
    "kronvex": {
      "command": "npx",
      "args": ["kronvex-mcp"],
      "env": { "KRONVEX_API_KEY": "kv-your-api-key" }
    }
  }
}

→ Python SDK on PyPI · Node SDK on npm


How It Works

Memories are ranked by a composite confidence score:

confidence = similarity × 0.6 + recency × 0.2 + frequency × 0.2
  • Similarity: pgvector cosine similarity on 1536-dim OpenAI embeddings

  • Recency: sigmoid with 30-day inflection point

  • Frequency: log-scaled access count


Self-Hosting

# Requires Docker
cp .env.example .env
# Edit .env with your OPENAI_API_KEY and DATABASE_URL
docker-compose up --build

API available at http://localhost:8000 · Docs at http://localhost:8000/docs


Endpoints

Method

Endpoint

Description

POST

/auth/demo

Get a free API key

POST

/api/v1/agents

Create an agent

GET

/api/v1/agents

List your agents

POST

/api/v1/agents/{id}/remember

Store a memory

POST

/api/v1/agents/{id}/recall

Semantic search over memories

POST

/api/v1/agents/{id}/inject-context

Get context block

DELETE

/api/v1/agents/{id}/memories/{mid}

Delete a memory

GET

/health

Health check

Full interactive docs: api.kronvex.io/docs


Pricing

Plan

Price

Agents

Memories

Free

Free

1

100

Builder

€29/mo

5

20,000

Startup

€99/mo

15

75,000

Business

€349/mo

50

500,000

Enterprise

Custom

Unlimited

Unlimited

→ See full pricing


Contributing

See CONTRIBUTING.md.


Built in Paris · kronvex.io · hello@kronvex.io

Available Tools

4 tools
forgetA

Search for memories matching a query and permanently delete the top matches. Use this to remove outdated, incorrect, or superseded information from memory.

When to call: when the user explicitly asks to forget something, or when you detect that a stored memory is no longer accurate (e.g. a dependency was upgraded, a decision was reversed, a team member left).

Internally performs a high-threshold semantic search (0.7) to find close matches, then deletes up to 3 results. Returns a list of deleted memories or a message if nothing matched.

Inputs: query (required).

inject_contextA

Retrieve the most relevant memories for the current task and return them as a single formatted context block, ready to prepend to a prompt or include in a system message.

When to call: at the start of a complex or multi-step task where relevant project history, constraints, or preferences may exist in memory. Prefer this over recall when you want a single ready-to-use block rather than a list of individual memories.

Returns a formatted text block summarising the relevant memories, and a count of how many memories were used. Returns empty if none are relevant.

Inputs: query (required).

recallA

Search long-term memory using semantic similarity and return the most relevant stored memories ranked by a confidence score (weighted combination of similarity, recency, and access frequency).

When to call: before starting a task, when the user references something from a past session, or when you need project-specific context.

Returns a ranked list of memories with their confidence score and type. Returns an empty result if no memories exceed the similarity threshold.

Inputs: query (required), top_k.

rememberA

Persist a piece of information to long-term memory so it can be recalled in future sessions. Use this whenever the user states a preference, makes a decision, or shares context that should survive beyond the current conversation.

When to call: after learning the user's tech stack, coding conventions, project constraints, architectural decisions, or personal preferences.

Returns a confirmation message with the stored content preview.

Examples of good memories:

  • 'User prefers TypeScript strict mode with no implicit any'

  • 'Database: PostgreSQL 16 with pgvector on Railway, connection via asyncpg'

  • 'Never use any() type in this codebase — team policy'

  • 'Deployed on 2024-03-15: migrated auth from JWT to Supabase sessions'

Inputs: content (required), memory_type.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.5/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: forget deletes memories, inject_context formats them for immediate use, recall retrieves them as a ranked list, and remember stores new memories. The descriptions explicitly differentiate their roles, making misselection unlikely.

    Naming Consistency5/5

    All tool names follow a consistent verb-based pattern (forget, inject_context, recall, remember) that directly reflects their core actions. The naming is uniform and predictable, with no deviations in style or convention.

    Tool Count5/5

    With 4 tools, this server is well-scoped for its memory management domain, covering the essential CRUD-like operations (create, read, delete) plus a specialized formatting tool. Each tool earns its place without feeling excessive or insufficient.

    Completeness4/5

    The toolset provides strong coverage for memory operations: remember (create), recall (read), forget (delete), and inject_context (format). A minor gap exists in update functionality for modifying existing memories, but agents can work around this by deleting and re-adding.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Persistent memory for AI agents across Claude Code, Cowork, Codex, Cursor and Hermes Agent. Saves, searches and recalls sessions from a local SQLite store through 40+ MCP tools, with auto-save and auto-load hooks, project tagging and export/import. Also a Hermes Agent memory provider plugin in the official catalog. Free: keyword search, 50 sessions. Pro ($8/mo): semantic search and team memory.
      33
      197 PyPI
      12
      Business Source 1.1
    • F
      license
      Not graded
      quality
      D
      maintenance
      Persistent memory server for AI assistants with semantic search and three-layer context (global, project, personality). Works with MCP-compatible AI tools like Claude Code, Cursor, Continue, Cline, and more.
      1
      -