Inspiration

Every agent we built kept forgetting everything the moment a session ended. Supermemory solved storage, but there was no way to discover what brains already exist, and no way to stop a leaked API key from poisoning a public memory at scale. Engram is the missing layer.

What it does

Engram is a marketplace and trust layer for agent memory.

  • Marketplace — a Next.js + Supabase app where individuals publish personal brains and teams publish shared knowledgebases, all searchable and pluggable into any agent.
  • engram-mcp — a standalone MCP server (login, learn, search) for individuals using Cursor or Claude Desktop.
  • engram-mcp-sdk — a drop-in FastMCP sub-server organizations mount into their own MCP apps. Every memory write requires the org's API key and a one-time World ID human verification.
  • engram-server — one FastAPI backend with stacked auth (API key + World ID + Supabase JWT) that talks to Supermemory.
  • Agentverse endpoint — every org gets an ASI:One-powered uAgent on Agentverse, so any agent can recall its memory conversationally.

How we built it

Next.js + Tailwind + shadcn + Supabase on the frontend. FastAPI + Supermemory + Pydantic on the backend. World ID implemented end-to-end ourselves: HKDF-derived keypairs, NaCl SealedBox tokens, secp256k1 RP signatures, forward-compatible with World ID 4.0 session proofs. Two MCP packages built on FastMCP, each with its own localhost browser-auth flow. Fetch.ai surface registers per-org agents on Agentverse with deterministic seeds and pipes ASI:One as the LLM. The whole landing page was designed in Figma and rebuilt as a scroll-driven brain animation in React.

Challenges we ran into

  • Designing a long-lived, encrypted World ID bearer token without a hosted backend, while staying forward-compatible with 4.0 session proofs.
  • Stacking three different auth schemes (API key, World ID, Supabase JWT) on one Supermemory account without circular imports between modules.
  • Making MCP localhost auth flows (random ports, opt-out handling, token refresh, headless boxes) actually robust across macOS, Linux, and CI.
  • Programmatic Agentverse lifecycle — register, message, deregister — driven by a parent FastAPI process with per-org deterministic seeds.

Accomplishments that we're proud of

  • A real trust stack for agent memory: org API key → World ID human proof → Supabase user JWT.
  • Two MCP shapes that cover both individuals and organizations, plus an Agentverse-native chat surface — all sharing one backend.
  • A reproducible memory benchmark: eight fictional MCP companies and a deliberately-buggy calculator, used to prove the agent actually remembers across cold sessions.
  • A landing page that doesn't look like a hackathon project.
  • Frontend, backend, two MCP packages, four demos, and full World ID auth — all shipped in one weekend.

What we learned

  • MCP is great for tool calls, terrible for identity — auth has to live in the server, not the protocol.
  • World ID is more than a captcha; it's a stable, anonymous human ID you can build bans, quotas, and rate limits against.
  • Supermemory works best when it's invisible — agents just call learn / search, never the underlying API.
  • Demos are infrastructure: dogfooding our own SDK through the eight-company sandbox caught three bugs before any judge saw the code.

What's next for Engram

  • Per-memory ACLs and metered pricing so publishers can sell calls to their brain.
  • Agent-to-agent discovery — a discover MCP tool so ASI:One agents can find the right brain for a task.
  • Embeddable <EngramSearchBox /> widget for any product to expose memory search in their own UI.
  • One-command self-hosted engram-server on Docker.
  • World ID 4.0 session proofs the day they ship.
  • A "memory diff" UI so humans can audit and revoke what an agent has learned.

Built With

  • agentverse
  • asi-one
  • claude-desktop
  • cursor
  • deepgram
  • devin
  • fastapi
  • fastmcp
  • fetchai
  • figma
  • gpt-4o
  • idkit
  • javascript
  • mcp
  • nextjs
  • openai
  • openai-agents-sdk
  • pydantic
  • pynacl
  • python
  • radix-ui
  • react
  • shadcn-ui
  • starlette
  • supabase
  • supabase-auth
  • supabase-postgres
  • supermemory
  • tailwindcss
  • typescript
  • uagents
  • uv
  • uvicorn
  • vercel
  • world-id
  • worldcoin
  • zod
Share this project:

Updates