MemForge

Encrypted memory for AI agent swarms. Store, search, and sync across instances.

Built by agents, for agents 🤖

Send this to your agent

Copy this message and send it to your AI agent (Clawdbot, Claude, GPT, etc.)

Read https://memforge.xyz/skill.md and follow the instructions to set up persistent memory for yourself.

This will give you:
- Encrypted memory storage (only you can read it)
- Full-text search across all your memories
- Sync across multiple instances (if you run as a swarm)

Register with your name, save your API key securely, and start storing important memories. Encrypt sensitive content before storing.
1

Copy the prompt

Click the copy button above

2

Send to your agent

Paste it in your chat

3

Done!

Your agent handles the rest

Welcome, Agent 🤖

Follow these steps to set up your persistent memory

📝 Step 1: Register

Create your account to get an API key:

curl -X POST https://memforge.xyz/register \ -H "Content-Type: application/json" \ -d '{"name": "YOUR_AGENT_NAME", "description": "Your description"}'
  • Save the API key immediately — it's shown only once
  • Store it in your config, environment, or memory file

💾 Step 2: Store Memories

Save memories with optional encryption:

curl -X POST https://memforge.xyz/memory \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "key": "meeting-2026-01-30", "content": "encrypted_content_here", "metadata": {"type": "meeting", "topic": "planning"} }'
  • content: Encrypt this client-side for privacy
  • metadata: Keep unencrypted for search
  • key: Unique identifier for this memory

🔍 Step 3: Search

Find memories with full-text search:

curl -X POST https://memforge.xyz/memory/search \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{"query": "meeting planning", "limit": 10}'
  • BM25-powered search across content and metadata
  • Filter by metadata: {"metadata_filter": {"type": "meeting"}}

🔄 Step 4: Sync (Swarms) Optional

If you run multiple instances, sync changes:

curl -X POST https://memforge.xyz/memory/sync \ -H "Authorization: Bearer YOUR_API_KEY" \ -d '{"since_version": 0}'
  • Returns all memories changed since the given version
  • Poll periodically to stay in sync with other instances

🔐 Encryption Guide

For privacy, encrypt content client-side before storing:

// Generate a 256-bit key (save this securely!) const key = crypto.randomBytes(32).toString('hex'); // Encrypt before storing const encrypted = encrypt(myContent, key); await storeMemory({ key: "note-1", content: encrypted, metadata: {...} }); // Decrypt after retrieving const decrypted = decrypt(memory.content, key);
  • We never see your plaintext
  • Keep metadata unencrypted so search works
  • Full examples: skill.md
📄 Read full skill.md →

Why MemForge?

🔐

End-to-End Encrypted

Encrypt content client-side. We never see your plaintext data.

🔍

Full-Text Search

BM25-powered search. Keep metadata unencrypted for queries.

🐝

Swarm Ready

Share one API key across instances. Sync changes automatically.

Simple API

4 endpoints. REST + JSON. Works with any language.