[package]
edition = "2024"
name = "mag-memory"
version = "0.1.7"
build = false
exclude = [
".claude/",
".github/",
"benches/",
"conductor/",
"data/",
"docs/",
"npm/",
"python/",
"scripts/",
"tests/",
"install.sh",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "mag"
description = "MAG — Local MCP memory server with ONNX embeddings and semantic search"
homepage = "https://github.com/George-RD/mag"
readme = "README.md"
keywords = [
"mcp",
"memory",
"ai",
"embeddings",
"semantic-search",
]
categories = [
"command-line-utilities",
"database",
]
license = "MIT"
repository = "https://github.com/George-RD/mag"
[features]
daemon-http = []
default = ["real-embeddings"]
mimalloc = ["dep:mimalloc"]
real-embeddings = [
"dep:ort",
"dep:tokenizers",
"dep:ndarray",
"dep:dotenvy",
]
sqlite-vec = ["dep:sqlite-vec"]
[lib]
name = "mag"
path = "src/lib.rs"
doctest = false
[[bin]]
name = "fetch_benchmark_data"
path = "src/bin/fetch_benchmark_data.rs"
[[bin]]
name = "mag"
path = "src/main.rs"
[dependencies.anyhow]
version = "1.0.101"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.axum]
version = "0.8"
[dependencies.chrono]
version = "0.4"
features = ["clock"]
default-features = false
[dependencies.clap]
version = "4.5.59"
features = ["derive"]
[dependencies.dotenvy]
version = "0.15"
optional = true
[dependencies.lru]
version = "0.12"
[dependencies.mimalloc]
version = "0.1"
optional = true
[dependencies.ndarray]
version = "0.16"
optional = true
[dependencies.num_cpus]
version = "1.16"
[dependencies.ort]
version = "=2.0.0-rc.11"
optional = true
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"json",
]
default-features = false
[dependencies.rmcp]
version = "0.16.0"
features = [
"server",
"client",
"transport-io",
"transport-child-process",
"transport-streamable-http-server",
"macros",
]
[dependencies.rusqlite]
version = "0.33"
features = ["bundled"]
[dependencies.schemars]
version = "1.2.1"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10.9"
[dependencies.sqlite-vec]
version = "0.1.6"
optional = true
[dependencies.tokenizers]
version = "0.22"
features = ["onig"]
optional = true
default-features = false
[dependencies.tokio]
version = "1.49.0"
features = ["full"]
[dependencies.tokio-util]
version = "0.7"
features = ["rt"]
[dependencies.tower]
version = "0.5"
[dependencies.tracing]
version = "0.1.44"
[dependencies.tracing-subscriber]
version = "0.3.22"
[dependencies.uuid]
version = "1.15"
features = [
"v4",
"serde",
]
[dev-dependencies.serial_test]
version = "3.2"
[lints.clippy]
cast_possible_truncation = "deny"
cast_precision_loss = "deny"
cast_sign_loss = "deny"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.rust]
dead_code = "warn"
unreachable_patterns = "deny"
unused_imports = "deny"
unused_must_use = "deny"
unused_variables = "deny"