2026-03-19 19:00:51 -04:00
2026-03-19 18:52:00 -04:00
2026-04-01 23:05:12 -04:00
2026-03-19 19:00:51 -04:00
2026-03-19 18:52:00 -04:00
2026-03-19 18:52:00 -04:00
2026-03-19 18:52:00 -04:00
2026-04-01 23:05:12 -04:00

Myria

Myria is a standalone memory service for long-running agents.

It stores an append-only event log in PostgreSQL, builds versioned semantic snapshots in the background, and exposes the whole system through a stdio MCP server. The design target is a shared memory runtime that can serve conversations, planning, task execution, and group-chat settings without forcing clients to replay huge transcripts.

This project was inspired by PageIndex.

What Myria Does

  • Appends canonical events with stable ingest-time IDs.
  • Serves raw event trees through myria.query_event_nodes.
  • Serves summary/reference trees through myria.query_references.
  • Builds participant-scoped TopicIndex snapshots in the background.
  • Keeps fresh post-snapshot events queryable while rebuilds are still pending.
  • Exposes admin and observability tools for snapshots, topics, and build state.

What Myria Does Not Do

  • It is not a general agent runtime.
  • It is not a chat frontend.
  • It does not expose an MCP network transport in v1.
  • It does not trust emitter-supplied semantic IDs as canonical memory structure.

V1 Shape

  • Language: Go
  • Database: PostgreSQL
  • Public interface: stdio MCP
  • Internal LLM platform: OpenRouter
  • Target model family for builder and tree-walker workflows: NVIDIA Nemotron 3 Super
  • Internal logging: append-only file logging through service.log_file

Quick Start

  1. Create a JSON config file for Myria.
  2. Create an OpenRouter request template JSON.
  3. Run migrations.
  4. Start the stdio MCP server.
go run ./cmd/myria -config ./myria.json -cmd migrate
go run ./cmd/myria -config ./myria.json -cmd serve

Run a one-off build:

go run ./cmd/myria -config ./myria.json -cmd build

Run tests:

go test -timeout 5m ./...

Documentation

Start here:

Suggested reading order:

  1. Architecture
  2. Quick Start
  3. Configuration
  4. Data Model
  5. Indexing and Querying
  6. MCP API
  7. Operations
  8. Full Design Specification

Project Layout

myria/
  cmd/myria/          entrypoint
  config/             sample LLM request template
  docs/               human-facing docs and full design spec
  internal/config/    config loading and validation
  internal/core/      shared types and ID logic
  internal/llm/       OpenRouter client and tool loop
  internal/mcp/       stdio MCP server
  internal/service/   orchestration, query paths, builder logic
  internal/store/     PostgreSQL schema and data access
  internal/testutil/  local test helpers

Current Status

Myria currently supports:

  • stdio MCP serving
  • PostgreSQL migrations and storage
  • append/query/build flows
  • inactivity and threshold-triggered builds
  • exact event/topic lookup
  • snapshot and builder observability
  • live OpenRouter-backed LLM integration tests

The root README is the canonical entry point for the project. The full design lives in docs/design.md, and the rest of the docs are shorter guides organized for human readers.

Description
A vector-less memory ingestion and retrieval system.
Readme MIT 180 KiB
Languages
Go 100%