{
  "data": {
    "a": {
      "slug": "localghost",
      "name": "LocalGhost",
      "vendor": "LocalGhost",
      "vendorUrl": "https://www.localghost.ai",
      "kind": "platform",
      "category": "local-ai",
      "summary": "Open-source personal AI server that runs on a Debian machine its owner keeps, archiving photos, location, notes, voice and health data and reading them with local models, with its own Android app as the only client.",
      "url": "https://www.anchorterminal.com/tools/localghost",
      "markdownUrl": "https://www.anchorterminal.com/tools/localghost.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/localghost.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/localghost.json",
      "dns": "localghost.grade.anchorterminal.com",
      "repo": "https://github.com/LocalGhostDao/localghost",
      "license": "MIT",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "pat",
      "authNotes": "No credential for third-party agents. The companion app presents a client certificate issued by the box's own certificate authority (ECDSA P-256, no scopes, good for two weeks and renewed daily while the phone is in use since 0.0.6) and a session token of at most 48 hours from a PIN unlock, sent in a header. Enrolment is one animated QR code carrying a `localghost://enroll` link whose query string holds the device's certificate and private key. Since 2 October 2026 the box draws that QR only on an interactive terminal and never prints the link as text, and after the first unlock the phone swaps the QR's key for one it makes in the Android Keystore and the box retires the QR's certificate (https://github.com/LocalGhostDao/localghost/blob/main/server/internal/secd/rekey.go). A request without a valid certificate, from a retired phone or to a locked box gets the same 503. Since wisp 0.0.2 (2 October 2026) one phone can be retired by its key with ghost-cli ghost.secd retire or from another phone (POST /v1/devices/retire), and the retire button in the app isn't built yet. On a fresh box nginx terminates the phone's TLS and passes the device certificate to ghost.secd as an X-Client-Cert header that any local process on the box can forge, until the operator runs ghost-ctl edge-passthrough and writes tls to /etc/ghost/edge, after which ghost.secd checks the certificate itself (https://github.com/LocalGhostDao/localghost/blob/main/server/internal/secd/edge.go).",
      "pricing": "free",
      "pricingNotes": "The software is free under MIT, with no subscription and no account. Nothing is on sale yet. Pre-built boxes are planned as a one-time purchase at the cost of parts and assembly plus a 30% margin, price not set, and optional future daemons may be sold as one-time packages. The June 2026 reference build is about £1,130 in parts (https://www.localghost.ai/about).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payments of any kind. The software is free and nothing is sold yet (checked 2026-10-02).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 16,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-02"
      },
      "docsUrl": "https://github.com/LocalGhostDao/localghost/blob/main/server/tools/README.md",
      "llmsTxt": "https://www.localghost.ai/llms.txt",
      "capabilities": [
        "memory.store",
        "memory.search",
        "memory.user",
        "memory.delete"
      ],
      "tags": [
        "local",
        "self-hosted",
        "open-source",
        "free",
        "go",
        "llms-txt",
        "no-telemetry",
        "pre-1.0",
        "uk"
      ],
      "lastRelease": "2026-10-10",
      "graded": true,
      "own": true,
      "disclosure": "LocalGhost is built by Anchor Terminal's founder. Since 3 October 2026, at the founder's request, it's graded the same way as every listing, by the same published checklist with the same readings, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed. letme never picks it. Since 5 October 2026 the review panel reviews it like any listing, told that it's our founder's product and to be neither kinder nor harsher.",
      "anchor": {
        "graded": true,
        "score": 55.7,
        "grade": "C",
        "agentReady": false,
        "rank": 853,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 39,
          "maintenance": 79,
          "payments": 60,
          "reliability": 67,
          "schema": 49,
          "security": 50,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-10"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-02 to 2026-10-04. The 0.0.1 notes of 2 October said never a location leaves the box, and the 0.0.3 notes of 3 October called the Open-Meteo call the one position that ever left either device, while the phone sent its position, rounded to two decimals, to Open-Meteo for a weather question naming no place until 0.0.3, and handed its newest fix to Android's geocoder, which on phones with Google's services usually reaches Google, until 0.0.4. Both lookups are gone, and the privacy page and llms.txt list each with the release that ended it. A misleading claim, fixed and documented, so the minimum, -2. https://github.com/LocalGhostDao/localghost/blob/v0.0.4/server/releases/0.0.4.md; https://github.com/LocalGhostDao/localghost/blob/v0.0.3/server/releases/0.0.3.md; https://www.localghost.ai/privacy"
        ],
        "verdict": "LocalGhost keeps a person's photos, trail, notes, voice and health data on an encrypted volume on their own Debian machine and runs its models there, and its list of outbound requests matches the code. It's pre-1.0 at wisp 0.0.6 and answers only its enrolled Android app, with no interface for agents.",
        "bestFor": "One technical owner who wants a phone-first personal archive (photos, location trail, notes, voice, health, news and prices) kept and read by local models on their own hardware.",
        "disclosure": "LocalGhost is built by Anchor Terminal's founder. Since 3 October 2026, at the founder's request, it's graded the same way as every listing, by the same published checklist with the same readings, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed. letme never picks it. Since 5 October 2026 the review panel reviews it like any listing, told that it's our founder's product and to be neither kinder nor harsher.",
        "strengths": [
          "MIT licence for the server and the Android app, with a reproducible server bundle, a signed APK and signed sums for each release",
          "The v0.0.6 sums verify against the site key, which security.txt, SECURITY.md and the repository pin by the same fingerprint",
          "The privacy page and llms.txt list every outbound request, and the hosts in the v0.0.6 code match the list",
          "No telemetry, analytics or crash reporting in the server or the app",
          "Volume key sealed to the TPM, a wipe PIN, and phone certificates that last two weeks, renew daily and can be retired one at a time"
        ],
        "weaknesses": [
          "No API, MCP server or credential for agents. The box answers only its enrolled phone",
          "The repository's checksum command finds no file, because SHA256SUMS lists the bundle under `server/`. The setup page's version strips the prefix and works",
          "Every API error reaches the phone as the same 503 page, so a client can't tell a bad request from a locked box",
          "Device certificates carry no scopes, so every enrolled phone has full owner rights, and a fresh box trusts a forgeable local header until the operator runs the edge passthrough",
          "The README's list of outbound requests still describes the weather pull of 0.0.5, three thousand places once a day, where the code and the privacy page say about six thousand, a hundred every two minutes"
        ],
        "agentNotes": [
          "Don't look for an API or MCP server. A LocalGhost box answers only its enrolled phone and returns the same 503 to every other caller",
          "Verify a release with the setup page's command, which strips the `server/` and `app/` prefixes from SHA256SUMS before `sha256sum -c`, or nothing is checked",
          "After setup, run `sudo ghost-ctl edge-passthrough --domain \u003cbox name\u003e` so ghost.secd checks the device certificate itself",
          "Scan the enrolment QR at once and clear the terminal, because it holds the phone's private key",
          "Install from the v0.0.6 release, which main pins"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 3,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.7
          }
        ],
        "editorialScores": {
          "ergonomics": 39,
          "maintenance": 79,
          "payments": 60,
          "reliability": 67,
          "schema": 49,
          "security": 50,
          "transparency": 81
        },
        "provenanceScore": 74,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-10",
            "maintenance": "2026-10-10",
            "payments": "2026-10-10",
            "reliability": "2026-10-10",
            "schema": "2026-10-10",
            "security": "2026-10-10",
            "transparency": "2026-10-10"
          },
          "last": "2026-10-10",
          "lastMoved": "2026-10-28",
          "oldest": "2026-10-10",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "letme": {
        "capability": "https://letme.dev/memory.store"
      },
      "alsoIn": [
        "personal-assistants"
      ],
      "area": "models",
      "provenance": {
        "legalEntity": "LocalGhost.ai Ltd (company number 17213100, registered in England and Wales, incorporated 12 May 2026)",
        "domain": "localghost.ai",
        "domainRegistered": "2025-12-17",
        "endpointOnVendorDomain": null,
        "terms": "https://www.localghost.ai/terms",
        "privacy": "https://www.localghost.ai/privacy",
        "statusPage": "https://www.localghost.ai/status",
        "changelog": "https://www.localghost.ai/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-06",
        "notes": [
          "LocalGhost.ai Ltd is active at Companies House (company number 17213100, incorporated 12 May 2026, registered office in London, checked 6 October 2026) and is named on the about, privacy and terms pages. The `LICENSE` copyright line reads LocalGhostDao, which the terms page also names as the copyright holder.",
          "Self-hosted software with no hosted endpoint. The privacy page (updated 5 October 2026) and the terms page (updated 3 October 2026) cover the website, the mirror and the software. The status page, updated by hand and last on 2 October 2026, covers the website, the mirror and the releases and records no incidents.",
          "www.localghost.ai/.well-known/security.txt returned a valid RFC 9116 file on 6 October 2026 (Contact, Expires 2027-10-01, Encryption, Preferred-Languages, Canonical, Policy). The key is the repository's server/tools/mirror-key.asc, fingerprint DCE9 A3D1 4EB4 6197 1DD5 F393 706E 4194 F08A 09A0, and the v0.0.6 SHA256SUMS.asc verified against it on 10 October 2026.",
          "The changelog page has a dated entry for each release from 0.0.1 to 0.0.6 and for mirror and page changes. RELEASES.md and server/releases/ in the code repository hold the notes per release.",
          "The privacy and mirror pages say the website and mirror keep no access logs. Whether the live server runs that configuration wasn't checked. The domain's registration date (17 December 2025, through Cloudflare, per the .ai RDAP record) is per the 3 October check."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/localghost.json",
      "live": {
        "slug": "localghost",
        "vendorStatus": {
          "page": "https://www.localghost.ai/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:00.567459109Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "LocalGhostDao/localghost",
            "version": "v0.0.7",
            "released": "2026-10-23",
            "seenAt": "2026-11-06T23:41:17.291874611Z"
          }
        ],
        "githubStars": 17,
        "securityTxt": {
          "url": "https://localghost.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-01T00:00:00Z",
          "checkedAt": "2026-11-07T16:00:33.069535961Z"
        },
        "llmsTxt": {
          "url": "https://www.localghost.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:54.374669014Z"
        },
        "domain": {
          "domain": "localghost.ai",
          "registered": "2025-12-17",
          "source": "https://rdap.identitydigital.services/rdap/domain/localghost.ai",
          "checkedAt": "2026-11-01T14:12:26.676825255Z"
        },
        "pages": [
          {
            "url": "https://www.localghost.ai/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:30:58.87482191Z",
            "changedAt": "2026-10-24T02:33:35.056983095Z",
            "fingerprint": "061f5343580e"
          },
          {
            "url": "https://www.localghost.ai/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:00.879528436Z",
            "changedAt": "2026-10-24T02:33:37.068759386Z",
            "fingerprint": "f857f5ee0ba1"
          },
          {
            "url": "https://www.localghost.ai/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:31:02.879194941Z",
            "changedAt": "2026-10-14T21:14:28.658360477Z",
            "fingerprint": "4808f470d93a"
          }
        ],
        "github": {
          "repo": "localghostdao/localghost",
          "checkedAt": "2026-11-02T09:01:32.909025665Z",
          "stars": 17,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-01T22:42:18Z",
          "openIssues": 0,
          "openPRs": 0,
          "issuesOpened90d": 0,
          "issuesClosed90d": 1,
          "prsMerged90d": 1,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 26,
            "failure": 23,
            "other": 1,
            "latest": "failure",
            "latestAt": "2026-11-01T22:43:54Z"
          },
          "replies": {
            "sampled": 1,
            "unanswered": 0,
            "medianDays": 66.1
          }
        },
        "updatedAt": "2026-11-07T16:00:33.069535961Z"
      },
      "vendorLinked": true
    },
    "answer": "LocalGhost scores 55.7 (C) on agent readiness against Memori's 44.2 (E), and leads in 5 of 7 scored categories. Memori leads on schema \u0026 documentation and agent ergonomics.",
    "b": {
      "slug": "memori",
      "name": "Memori",
      "vendor": "Memori Labs Inc.",
      "vendorUrl": "https://memorilabs.ai",
      "kind": "sdk",
      "category": "agent-memory",
      "summary": "Memori is a memory layer from Memori Labs that wraps an app's LLM client to capture conversations and agent traces, extract facts and recall them into later prompts, through Python and TypeScript SDKs, a CLI and a hosted MCP endpoint.",
      "url": "https://www.anchorterminal.com/tools/memori",
      "markdownUrl": "https://www.anchorterminal.com/tools/memori.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/memori.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/memori.json",
      "dns": "memori.grade.anchorterminal.com",
      "repo": "https://github.com/MemoriLabs/Memori",
      "license": "Apache-2.0",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://api.memorilabs.ai/mcp/",
      "packages": [
        {
          "registry": "pypi",
          "name": "memori"
        },
        {
          "registry": "npm",
          "name": "@memorilabs/memori"
        }
      ],
      "auth": "api-key",
      "authNotes": "Memori Cloud and the MCP endpoint take an API key, `X-Memori-API-Key` on MCP and a bearer token in the SDK. Keys come from app.memorilabs.ai or a CLI signup by email. Own-database mode works without a key, using a built-in anonymous key with a quota of 100 augmentations a month.",
      "pricing": "freemium",
      "pricingNotes": "A free key gives 5,000 Advanced Augmentation calls a month, per the docs; 100 a month without a key. Paid plans are sold through sales from $60,000 a year (Team) and $150,000 (Business), with Enterprise priced privately.",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the SDK source, docs, llms.txt or pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 7,
      "popularity": {
        "githubStars": 17446,
        "npmWeekly": 130,
        "pypiWeekly": 3781,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://memorilabs.ai/docs/memori-cloud/",
      "llmsTxt": "https://memorilabs.ai/llms.txt",
      "capabilities": [
        "memory.store",
        "memory.search",
        "memory.user",
        "memory.graph"
      ],
      "tags": [
        "open-source",
        "hosted",
        "freemium",
        "free-tier",
        "apache-2.0",
        "python",
        "typescript",
        "cli",
        "mcp",
        "remote-mcp",
        "llms-txt",
        "sales-led"
      ],
      "lastRelease": "2026-05-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.2,
        "grade": "E",
        "agentReady": false,
        "rank": 1214,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 25,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 33,
          "payments": 45,
          "reliability": 28,
          "schema": 68,
          "security": 45,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -4,
        "negativeNotes": [
          "-4: misleading claim, confirmed first-hand on 6 November 2026. The BYODB architecture page says \"All data stays on your infrastructure\" and that storage has \"no external dependencies\" (https://memorilabs.ai/docs/memori-byodb/concepts/architecture), but the SDK's Advanced Augmentation posts conversation messages, the conversation summary and the system prompt to https://api.memorilabs.ai/sdk/augmentation, using a built-in anonymous key when the user has none (https://github.com/MemoriLabs/Memori/blob/main/memori/memory/augmentation/augmentations/memori/_augmentation.py and memori/_network.py). The FAQ's mention of augmentation quotas hints at the call but doesn't say conversations leave the user's infrastructure."
        ],
        "verdict": "Memori wraps an app's LLM client to capture conversations and recall facts, through Apache-2.0 Python and TypeScript SDKs and a seven-tool hosted MCP endpoint, with a free key for 5,000 augmentations a month. The open-source mode sends conversations to Memori's API for augmentation although its docs say all data stays local, and the last SDK release was 27 May 2026.",
        "bestFor": "Memory captured from LLM calls for apps that already use OpenAI, Anthropic or Gemini clients.",
        "strengths": [
          "Python and TypeScript SDKs under Apache-2.0 that register an existing LLM client and recall memories into the prompt",
          "Hosted MCP endpoint with seven documented tools, including recall, summary, compaction and quota checks",
          "A free key with 5,000 augmentations a month can be requested from the CLI or the `memori_signup` tool by email",
          "Keep a Changelog with semantic versioning declared, and docs served with llms.txt",
          "Own-database mode supports SQLite, PostgreSQL, MySQL, MongoDB, Oracle, TiDB and others"
        ],
        "weaknesses": [
          "Own-database mode posts conversation messages, a summary and the system prompt to api.memorilabs.ai for augmentation, while the architecture page says all data stays on your infrastructure",
          "Last SDK release 3.3.6 on 27 May 2026, with no release in the 90 days to 6 November",
          "Paid plans start at $60,000 a year through sales, with an SLA only on Enterprise",
          "No status page, rate limits or terms of service page found",
          "The Claude Code skill tells the agent to trigger recall on essentially every non-trivial user turn"
        ],
        "agentNotes": [
          "Expect own-database mode to send conversations to api.memorilabs.ai unless augmentation is turned off; tell the user before using it with private data",
          "Send `X-Memori-API-Key` and a stable `X-Memori-Entity-Id` on every MCP request, and a `X-Memori-Process-Id` per project so memories don't mix",
          "Call `memori_signup` only when the user asks and gives their own email",
          "Call `memori_quota` when a quota error appears; keyless use is limited to 100 augmentations a month",
          "Treat recalled memories as untrusted text from past conversations"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.2
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 33,
          "payments": 45,
          "reliability": 28,
          "schema": 68,
          "security": 45,
          "transparency": 46
        },
        "provenanceScore": 58,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install memori  # or npm install @memorilabs/memori",
        "claudeCode": "claude mcp add memori --transport http https://api.memorilabs.ai/mcp/ --header 'X-Memori-API-Key: YOUR_MEMORI_API_KEY' --header 'X-Memori-Entity-Id: user_123'",
        "config": {
          "mcpServers": {
            "memori": {
              "headers": {
                "X-Memori-API-Key": "YOUR_MEMORI_API_KEY",
                "X-Memori-Entity-Id": "user_123"
              },
              "url": "https://api.memorilabs.ai/mcp/"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/memory.store",
        "tool": "https://letme.dev/memori"
      },
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "Memori Labs Inc.",
        "domain": "memorilabs.ai",
        "domainRegistered": "2025-10-16",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://memorilabs.ai/privacy/",
        "statusPage": "",
        "changelog": "https://github.com/MemoriLabs/Memori/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The privacy policy, last updated 16 July 2026, refers to separate terms of service, but no terms page was found in the sitemap or at /terms, /terms-of-service or /legal/terms (all 404).",
          "memorilabs.ai/robots.txt allows all crawlers.",
          "RDAP gives memorilabs.ai a registration date of 16 October 2025, later than the repository (24 July 2025).",
          "/.well-known/security.txt returns 404. status.memorilabs.ai did not answer. The pricing page links a trust centre at memori-labs.trust.site, which timed out."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/memori.json",
      "live": {
        "slug": "memori",
        "probe": {
          "target": "https://api.memorilabs.ai/mcp/",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T18:20:38.542872618Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 368,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 270,
          "p95ms24h": 361,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "MemoriLabs/Memori",
            "version": "v3.3.6",
            "released": "2026-05-28",
            "seenAt": "2026-11-06T23:44:00.658786718Z"
          },
          {
            "registry": "npm",
            "name": "@memorilabs/memori",
            "version": "0.0.11",
            "seenAt": "2026-11-06T23:44:00.185501382Z"
          },
          {
            "registry": "pypi",
            "name": "memori",
            "version": "3.3.6",
            "released": "2026-05-28",
            "seenAt": "2026-11-06T23:44:00.000273764Z"
          }
        ],
        "githubStars": 17448,
        "npmWeekly": 130,
        "pypiWeekly": 3781,
        "securityTxt": {
          "url": "https://memorilabs.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:51.635644364Z"
        },
        "llmsTxt": {
          "url": "https://memorilabs.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:59.605618502Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/MemoriLabs/Memori/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:47.202866715Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4f28fd41f6ed"
          },
          {
            "url": "https://memorilabs.ai/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:14:13.209756014Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "29e786d80880"
          }
        ],
        "mcpTools": {
          "url": "https://api.memorilabs.ai/mcp/",
          "checkedAt": "2026-11-07T01:46:13.890822383Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:46:13.890822383Z"
        },
        "updatedAt": "2026-11-07T18:20:38.542872618Z"
      }
    },
    "edges": [
      {
        "by": 46,
        "category": "maintenance",
        "leads": "localghost",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "wisp 0.0.6 tagged on 10 October 2026 (30). Six releases, v0.0.1 to v0.0.6, from 2 to 10 October, each with dated notes (20). shields.io shows 0 open and 1 closed issue and no open pull requests. Pull request #1 (July) is merged and #3 (28 July, a macOS test fix) isn't in main, and the 0.0.4 notes say most of that release answers two outside reviews of 0.0.3. GitHub's issue and pull-request pages refused us, so we couldn't see written replies or their timing (12 of 25). Not an MCP server and no SDK, read as current official builds as the Open WebUI dossier read this line. Each tag ships a signed server bundle, a signed APK and a source archive on GitHub and the mirror, with no package-manager channel, fewer channels than the PyPI, GHCR and desktop builds Open WebUI was credited 13 for (11 of 15). Go 1.27.1 since 0.0.4 and three direct Go dependencies, with golang.org/x/crypto at v0.31.0 from December 2024, no Dependabot, and the Go suite passing at v0.0.6 and on main in our run of 10 October (6 of 10).",
          "b": "SDK 3.3.6 on 27 May 2026, 163 days before the check (10). No release in the 90 days to 6 November (0). Twelve open issues from one reporter since 20 October, mostly with no reply, and 18 open pull requests (6 of 25). Python and TypeScript SDKs, last released in May 2026 (12 of 15). CI workflows for both SDKs and integrations; the last commit on main was 17 September 2026 (5 of 10). Total 33."
        },
        "scores": {
          "a": 79,
          "b": 33
        }
      },
      {
        "by": 39,
        "category": "reliability",
        "leads": "localghost",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the local-software lines, as the Goose, Aider, Khoj, Screenpipe and Open WebUI dossiers do, and graded on wisp 0.0.6 (tag v0.0.6, commit 2c4786d, 10 October 2026), which main pins at c706f92. Each release carries a reproducible linux-amd64 server bundle with `install.sh`, a signed APK, a source archive and SHA256SUMS signed by the site key, on GitHub and the mirror, and the setup page states Debian 13 on x86-64, TPM 2.0, an optional NVIDIA card and Android 15 or later. The v0.0.6 signature verified for us on 10 October. There's no .deb or package-manager install (18 of 20). The CI workflow runs build, vet and the Go tests against Postgres on every push to main. We ran the Go suite at v0.0.6 and at c706f92 on 10 October and every package passed, TestFetchListAndSpools included, which failed at v0.0.5. The Postgres tests skip without a database, and neither the CI badge nor the Actions page showed us a result (20 of 25). shields.io showed 0 open and 1 closed issue on 6 October. The release notes name their own regressions and fix them in the release: 0.0.6 ships the fix for the Wikipedia import that stopped at an invalid byte and for /v1/wiki answering every phone with an empty body, while the CRYPTO50 index fault seen on 3 October is still unexplained (20 of 25). 0.0.x tags with dated notes per release that say what changed and how a phone on the previous release moves over, but no breaking-change section, and the v0.0.4 tag sits on a commit (1062b7f) that main doesn't contain (9 of 15). 0.0.6, pre-1.0 (0).",
          "b": "Hosted lines, since both modes call Memori's API. No status page found; status.memorilabs.ai did not answer and none is linked (0). No readable incident history (5). Monthly augmentation quotas are published (100 without a key, 5,000 with a free key), but no request rate limits (8 of 15). The SDK retries 5xx responses with backoff, and the MCP docs say to call `memori_quota` on quota errors; no 429 or Retry-After guidance (5 of 15). SLA only as a custom Enterprise term (0). No beta label on the cloud or MCP endpoint (10). Total 28."
        },
        "scores": {
          "a": 67,
          "b": 28
        }
      },
      {
        "by": 26,
        "category": "ergonomics",
        "leads": "memori",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Graded on the device API, as Schema is. `/v1/news` takes `since` and `limit`, the rate routes take `hours` or `days` and the Wikipedia route takes `n`, while `/v1/home` and `/v1/rates` return whole screens and nothing selects fields (12 of 25). `/v1/days` pages with `before` and `limit`, and `/v1/wiki` searches with `q` (12 of 20). edge.go folds every 400, 401, 403, 404 and 5xx a verified phone could get into the same 503 page, and the nginx path does the same with error_page, so the handlers' messages never reach the client and it can't tell a bad request from a locked box. Only a few statuses such as 409 pass through (2 of 20). Voice uploads are idempotent by id, `/v1/lock` is safe to repeat and trail deletion has a dry run, with no idempotency keys or retry guidance (10 of 20). The project's own Kotlin app is the only client, with no SDK and no documented way to enrol another (3 of 15).",
          "b": "Seven MCP tools with short parameter lists (22 of 25). Recall filters by project, session, date range and source (14 of 20). 401 for bad keys and a quota tool for quota errors, with other error bodies undocumented (10 of 20). No idempotency guidance or tool annotations documented (4 of 20). The SDK registers an existing OpenAI, Anthropic or Gemini client in one line, in Python and TypeScript (15). Total 65."
        },
        "scores": {
          "a": 39,
          "b": 65
        }
      },
      {
        "by": 26,
        "category": "transparency",
        "leads": "localghost",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "MIT for the server and the app, with the bundled licences in NOTICE.txt and TERMS files, and the terms page names LocalGhostDao as the copyright holder, as LICENSE does (30). The privacy page (updated 10 October 2026), llms.txt and the about page give the same list of outbound requests, and the hosts in the server and app code at v0.0.6 match it. The README's What leaves the box section still describes the weather pull as the three thousand larger places once a day, where 0.0.6 pulls about six thousand places a hundred every two minutes, as the privacy page and llms.txt say. Data on the box stays until the owner deletes it. The website and mirror say they keep no access logs, which we couldn't check on the live server, and the egress package's code comment still says the box fetches only when the phone can't. The earlier disagreement between the notes and the app is counted once, under negative events (25 of 30). No deprecation policy. Dated changelog and privacy entries say which older app versions keep the old lookups until updated, and the release notes say what was removed (10 of 20). No telemetry, analytics or crash reporting in the server or the app, stated in the README and the privacy page and consistent with the code. We found no switch for the exchange, ECB and Open-Meteo fetches or for the phone's daily read of the mirror manifest, where Open WebUI's 18 came with an offline switch (16 of 20).",
          "b": "Apache-2.0 per the LICENSE text, though GitHub reports it as NOASSERTION (30). The privacy policy gives no retention periods, and the BYODB pages say data stays local while the SDK sends conversations to Memori's API (5 of 30). Changelog entries but no deprecation policy or notices (5 of 20). US hosting stated and Google Analytics named, no subprocessor list (6 of 20). Total 46."
        },
        "scores": {
          "a": 78,
          "b": 52
        }
      },
      {
        "by": 19,
        "category": "schema",
        "leads": "memori",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Graded on the HTTPS API that ghost.secd serves to enrolled phones under /v1, the only programmatic interface, as the Khoj and Open WebUI dossiers graded their HTTP APIs. There's no public API or MCP server, and the README and llms.txt say the box answers every other caller, an agent included, as if it were down. ghost.secd builds an OpenAPI 3.0 document from a route table and serves it at /v1/openapi.json only to enrolled devices. At v0.0.6 the table holds 49 paths while server.go registers 109 by hand (46 and 105 at v0.0.5), although the code comment says no route can exist outside the spec (8 of 25). llms.txt on www.localghost.ai and Markdown docs throughout the repository (10). Route summaries say what each call does and some say when to use it, and there's no API reference beyond them (8 of 20). Request and response shapes come from Go structs by reflection, but several shapes are marked loose with additionalProperties, request bodies among them, and query formats sit in summaries and handlers rather than in the spec (6 of 15). No API examples, and error statuses are folded into one 503 page by design, so no error responses are documented (3 of 15). /v1 prefixes, dated notes per release in server/releases/ and a dated changelog page (14 of 15).",
          "b": "No OpenAPI for the REST API, and the MCP tool schemas couldn't be read without opening a session, so the docs' parameter lists are what was scored (12 of 25). llms.txt with Markdown docs for both modes (10). Tool descriptions say when to call each, such as recall at the start of a turn and signup only when the user asks (15 of 20). Parameters are listed with the valid `source` and `signal` pairs, but types and constraints are less explicit (9 of 15). Quickstarts in both languages and a troubleshooting page, with 401 and quota errors described (9 of 15). Keep a Changelog with semantic versioning (13 of 15). Total 68."
        },
        "scores": {
          "a": 49,
          "b": 68
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "localghost",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Read with the self-hosted rule, as the Khoj dossier did. Nothing is on sale. Pre-built boxes are planned at the cost of parts plus a 30 per cent margin with no price set, and the README's Ethereum donation address isn't a payment protocol on the tool's endpoints (0). Free under MIT with no account and no card, so 20, 20 and 20 on the last three lines.",
          "b": "No x402, MPP or L402 (0 of 40). Plan prices are public but sales-led, from $60,000 a year (10). A free key with 5,000 augmentations a month, with no card mentioned (20). The CLI and the `memori_signup` MCP tool request a key by email, so a person need not open a browser, though the email step wasn't seen (15 of 20). Total 45."
        },
        "scores": {
          "a": 60,
          "b": 45
        }
      }
    ],
    "facts": [
      {
        "a": "Platform",
        "b": "SDK + MCP",
        "name": "Kind"
      },
      {
        "a": "LocalGhost",
        "b": "Memori Labs Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.memorilabs.ai/mcp/",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "Token",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "7",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-10",
        "b": "2026-05-27",
        "name": "Last release"
      },
      {
        "a": "2026-10-03",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-05",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "16 stars",
        "b": "17k stars, 130 npm/wk, 3.8k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "2/5 (3)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "LocalGhost scores 55.7 (C) on agent readiness against Memori's 44.2 (E), and leads in 5 of 7 scored categories. Memori leads on schema \u0026 documentation and agent ergonomics.",
        "question": "Which is better for AI agents, LocalGhost or Memori?"
      },
      {
        "answer": "Yes. LocalGhost is open source (MIT). Memori is open source (Apache-2.0).",
        "question": "Are LocalGhost and Memori open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 67 against 28",
          "Security \u0026 auth, 50 against 45",
          "Payments \u0026 pricing, 60 against 45",
          "Maintenance \u0026 community, 79 against 33",
          "Transparency \u0026 trust, 78 against 52"
        ],
        "also": null,
        "goodFor": "One technical owner who wants a phone-first personal archive (photos, location trail, notes, voice, health, news and prices) kept and read by local models on their own hardware.",
        "slug": "localghost",
        "watchFor": "No API, MCP server or credential for agents. The box answers only its enrolled phone"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 68 against 49",
          "Agent ergonomics, 65 against 39"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Memory captured from LLM calls for apps that already use OpenAI, Anthropic or Gemini clients.",
        "slug": "memori",
        "watchFor": "Own-database mode posts conversation messages, a summary and the system prompt to api.memorilabs.ai for augmentation, while the architecture page says all data stays on your infrastructure"
      }
    ],
    "history": {
      "localghost": [
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-10-28",
          "delta": 0.2,
          "from": 55.5,
          "fromGrade": "C",
          "to": 55.7,
          "toGrade": "C"
        },
        {
          "causes": [
            "product"
          ],
          "date": "2026-10-10",
          "delta": 2.9,
          "from": 52.6,
          "fromGrade": "D",
          "to": 55.5,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.4,
          "from": 53,
          "fromGrade": "D",
          "to": 52.6,
          "toGrade": "D"
        }
      ],
      "memori": null
    },
    "job": {
      "capability": "memory.store",
      "name": "Agent memory"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-memory-vs-localghost.json",
        "title": "Amazon Bedrock AgentCore Memory vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/agentcore-memory-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-memory-vs-memori.json",
        "title": "Amazon Bedrock AgentCore Memory vs Memori",
        "url": "https://www.anchorterminal.com/compare/agentcore-memory-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-localghost.json",
        "title": "Basic Memory vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-memori.json",
        "title": "Basic Memory vs Memori",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-mem-vs-localghost.json",
        "title": "claude-mem vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/claude-mem-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-mem-vs-memori.json",
        "title": "claude-mem vs Memori",
        "url": "https://www.anchorterminal.com/compare/claude-mem-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cognee-vs-localghost.json",
        "title": "Cognee vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/cognee-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cognee-vs-memori.json",
        "title": "Cognee vs Memori",
        "url": "https://www.anchorterminal.com/compare/cognee-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/everos-vs-localghost.json",
        "title": "EverOS vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/everos-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/everos-vs-memori.json",
        "title": "EverOS vs Memori",
        "url": "https://www.anchorterminal.com/compare/everos-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-memory-bank-vs-localghost.json",
        "title": "Agent Platform Memory Bank vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/google-memory-bank-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-memory-bank-vs-memori.json",
        "title": "Agent Platform Memory Bank vs Memori",
        "url": "https://www.anchorterminal.com/compare/google-memory-bank-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphiti-vs-localghost.json",
        "title": "Graphiti vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/graphiti-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphiti-vs-memori.json",
        "title": "Graphiti vs Memori",
        "url": "https://www.anchorterminal.com/compare/graphiti-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hindsight-vs-localghost.json",
        "title": "Hindsight vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/hindsight-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hindsight-vs-memori.json",
        "title": "Hindsight vs Memori",
        "url": "https://www.anchorterminal.com/compare/hindsight-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/honcho-vs-localghost.json",
        "title": "Honcho vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/honcho-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/honcho-vs-memori.json",
        "title": "Honcho vs Memori",
        "url": "https://www.anchorterminal.com/compare/honcho-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-localghost.json",
        "title": "Hy Memory vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-memori.json",
        "title": "Hy Memory vs Memori",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langmem-vs-localghost.json",
        "title": "LangMem vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/langmem-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langmem-vs-memori.json",
        "title": "LangMem vs Memori",
        "url": "https://www.anchorterminal.com/compare/langmem-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-mem0.json",
        "title": "LocalGhost vs Mem0 Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-mem0"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-memmachine.json",
        "title": "LocalGhost vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-memory-reference-server.json",
        "title": "LocalGhost vs Memory (MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-memory-reference-server"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-mempalace.json",
        "title": "LocalGhost vs MemPalace",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-mempalace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-past-dev.json",
        "title": "LocalGhost vs past.dev",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-past-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-supermemory.json",
        "title": "LocalGhost vs Supermemory API + MCP",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-supermemory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-tencentdb-agent-memory.json",
        "title": "LocalGhost vs TencentDB Agent Memory",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-tencentdb-agent-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-tokenrip.json",
        "title": "LocalGhost vs Tokenrip",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-tokenrip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-zep.json",
        "title": "LocalGhost vs Zep",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-zep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mem0-vs-memori.json",
        "title": "Mem0 Platform + MCP vs Memori",
        "url": "https://www.anchorterminal.com/compare/mem0-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memmachine-vs-memori.json",
        "title": "MemMachine vs Memori",
        "url": "https://www.anchorterminal.com/compare/memmachine-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memori-vs-memory-reference-server.json",
        "title": "Memori vs Memory (MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/memori-vs-memory-reference-server"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memori-vs-mempalace.json",
        "title": "Memori vs MemPalace",
        "url": "https://www.anchorterminal.com/compare/memori-vs-mempalace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memori-vs-past-dev.json",
        "title": "Memori vs past.dev",
        "url": "https://www.anchorterminal.com/compare/memori-vs-past-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memori-vs-supermemory.json",
        "title": "Memori vs Supermemory API + MCP",
        "url": "https://www.anchorterminal.com/compare/memori-vs-supermemory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memori-vs-tencentdb-agent-memory.json",
        "title": "Memori vs TencentDB Agent Memory",
        "url": "https://www.anchorterminal.com/compare/memori-vs-tencentdb-agent-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memori-vs-tokenrip.json",
        "title": "Memori vs Tokenrip",
        "url": "https://www.anchorterminal.com/compare/memori-vs-tokenrip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memori-vs-zep.json",
        "title": "Memori vs Zep",
        "url": "https://www.anchorterminal.com/compare/memori-vs-zep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-memory-vs-memori.json",
        "title": "AI Memory vs Memori",
        "url": "https://www.anchorterminal.com/compare/ai-memory-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anythingllm-vs-localghost.json",
        "title": "AnythingLLM vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/anythingllm-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-memori.json",
        "title": "Context Mode Engine vs Memori",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ghost-core-vs-localghost.json",
        "title": "Core vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/ghost-core-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gpt4all-vs-localghost.json",
        "title": "GPT4All vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/gpt4all-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-memori.json",
        "title": "Graphicle vs Memori",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-memori"
      },
      {
        "json": "https://www.anchorterminal.com/compare/khoj-vs-localghost.json",
        "title": "Khoj vs LocalGhost",
        "url": "https://www.anchorterminal.com/compare/khoj-vs-localghost"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-privategpt.json",
        "title": "LocalGhost vs PrivateGPT",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-privategpt"
      },
      {
        "json": "https://www.anchorterminal.com/compare/localghost-vs-screenpipe.json",
        "title": "LocalGhost vs screenpipe",
        "url": "https://www.anchorterminal.com/compare/localghost-vs-screenpipe"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 39,
        "edge": "localghost",
        "key": "reliability",
        "localghost": 67,
        "memori": 28,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "memori",
        "key": "schema",
        "localghost": 49,
        "memori": 68,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 26,
        "edge": "memori",
        "key": "ergonomics",
        "localghost": 39,
        "memori": 65,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 5,
        "edge": "localghost",
        "key": "security",
        "localghost": 50,
        "memori": 45,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 15,
        "edge": "localghost",
        "key": "payments",
        "localghost": 60,
        "memori": 45,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 46,
        "edge": "localghost",
        "key": "maintenance",
        "localghost": 79,
        "memori": 33,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 26,
        "edge": "localghost",
        "key": "transparency",
        "localghost": 78,
        "memori": 52,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "LocalGhost scores 55.7 (C) on agent readiness against Memori's 44.2 (E), and leads in 5 of 7 scored categories. Memori leads on schema \u0026 documentation and agent ergonomics. Both do agent memory.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "localghost": "LocalGhost keeps a person's photos, trail, notes, voice and health data on an encrypted volume on their own Debian machine and runs its models there, and its list of outbound requests matches the code. It's pre-1.0 at wisp 0.0.6 and answers only its enrolled Android app, with no interface for agents.",
      "memori": "Memori wraps an app's LLM client to capture conversations and recall facts, through Apache-2.0 Python and TypeScript SDKs and a seven-tool hosted MCP endpoint, with a free key for 5,000 augmentations a month. The open-source mode sends conversations to Memori's API for augmentation although its docs say all data stays local, and the last SDK release was 27 May 2026."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/localghost-vs-memori",
    "json": "https://www.anchorterminal.com/compare/localghost-vs-memori.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/localghost-vs-memori.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/localghost-vs-memori.min.md"
  },
  "markdown": "LocalGhost scores 55.7 (C) on agent readiness against Memori's 44.2 (E), and leads in 5 of 7 scored categories. Memori leads on schema \u0026 documentation and agent ergonomics. Both do agent memory.\n\n- LocalGhost: grade C, 55.7/100, rank #853 of 1486. Markdown https://www.anchorterminal.com/tools/localghost.md · JSON https://www.anchorterminal.com/api/v1/tools/localghost.json\n- Memori: grade E, 44.2/100, rank #1214 of 1486. Markdown https://www.anchorterminal.com/tools/memori.md · JSON https://www.anchorterminal.com/api/v1/tools/memori.json\n- Best local AI models and assistants: https://www.anchorterminal.com/best/local-ai/index.md\n- All 280 local ai comparisons: https://www.anchorterminal.com/compare/local-ai/index.md\n- Best AI personal assistants that act for one person: https://www.anchorterminal.com/best/personal-assistants/index.md\n- All 1251 assistants comparisons: https://www.anchorterminal.com/compare/personal-assistants/index.md\n- Best memory layers for AI agents: https://www.anchorterminal.com/best/agent-memory/index.md\n- All 353 memory comparisons: https://www.anchorterminal.com/compare/agent-memory/index.md\n\n## Which one, for what\n\n### LocalGhost (C)\n\nGood for: One technical owner who wants a phone-first personal archive (photos, location trail, notes, voice, health, news and prices) kept and read by local models on their own hardware.\n\nAhead on:\n- Reliability, 67 against 28\n- Security \u0026 auth, 50 against 45\n- Payments \u0026 pricing, 60 against 45\n- Maintenance \u0026 community, 79 against 33\n- Transparency \u0026 trust, 78 against 52\n\nWatch for: No API, MCP server or credential for agents. The box answers only its enrolled phone\n\n### Memori (E)\n\nGood for: Memory captured from LLM calls for apps that already use OpenAI, Anthropic or Gemini clients.\n\nAhead on:\n- Schema \u0026 documentation, 68 against 49\n- Agent ergonomics, 65 against 39\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: Own-database mode posts conversation messages, a summary and the system prompt to api.memorilabs.ai for augmentation, while the architecture page says all data stays on your infrastructure\n\n\n## Why the edge\n\n### Maintenance \u0026 community: LocalGhost +46\n\n- LocalGhost (79): wisp 0.0.6 tagged on 10 October 2026 (30). Six releases, v0.0.1 to v0.0.6, from 2 to 10 October, each with dated notes (20). shields.io shows 0 open and 1 closed issue and no open pull requests. Pull request #1 (July) is merged and #3 (28 July, a macOS test fix) isn't in main, and the 0.0.4 notes say most of that release answers two outside reviews of 0.0.3. GitHub's issue and pull-request pages refused us, so we couldn't see written replies or their timing (12 of 25). Not an MCP server and no SDK, read as current official builds as the Open WebUI dossier read this line. Each tag ships a signed server bundle, a signed APK and a source archive on GitHub and the mirror, with no package-manager channel, fewer channels than the PyPI, GHCR and desktop builds Open WebUI was credited 13 for (11 of 15). Go 1.27.1 since 0.0.4 and three direct Go dependencies, with golang.org/x/crypto at v0.31.0 from December 2024, no Dependabot, and the Go suite passing at v0.0.6 and on main in our run of 10 October (6 of 10).\n- Memori (33): SDK 3.3.6 on 27 May 2026, 163 days before the check (10). No release in the 90 days to 6 November (0). Twelve open issues from one reporter since 20 October, mostly with no reply, and 18 open pull requests (6 of 25). Python and TypeScript SDKs, last released in May 2026 (12 of 15). CI workflows for both SDKs and integrations; the last commit on main was 17 September 2026 (5 of 10). Total 33.\n\n### Reliability: LocalGhost +39\n\n- LocalGhost (67): Read with the local-software lines, as the Goose, Aider, Khoj, Screenpipe and Open WebUI dossiers do, and graded on wisp 0.0.6 (tag v0.0.6, commit 2c4786d, 10 October 2026), which main pins at c706f92. Each release carries a reproducible linux-amd64 server bundle with `install.sh`, a signed APK, a source archive and SHA256SUMS signed by the site key, on GitHub and the mirror, and the setup page states Debian 13 on x86-64, TPM 2.0, an optional NVIDIA card and Android 15 or later. The v0.0.6 signature verified for us on 10 October. There's no .deb or package-manager install (18 of 20). The CI workflow runs build, vet and the Go tests against Postgres on every push to main. We ran the Go suite at v0.0.6 and at c706f92 on 10 October and every package passed, TestFetchListAndSpools included, which failed at v0.0.5. The Postgres tests skip without a database, and neither the CI badge nor the Actions page showed us a result (20 of 25). shields.io showed 0 open and 1 closed issue on 6 October. The release notes name their own regressions and fix them in the release: 0.0.6 ships the fix for the Wikipedia import that stopped at an invalid byte and for /v1/wiki answering every phone with an empty body, while the CRYPTO50 index fault seen on 3 October is still unexplained (20 of 25). 0.0.x tags with dated notes per release that say what changed and how a phone on the previous release moves over, but no breaking-change section, and the v0.0.4 tag sits on a commit (1062b7f) that main doesn't contain (9 of 15). 0.0.6, pre-1.0 (0).\n- Memori (28): Hosted lines, since both modes call Memori's API. No status page found; status.memorilabs.ai did not answer and none is linked (0). No readable incident history (5). Monthly augmentation quotas are published (100 without a key, 5,000 with a free key), but no request rate limits (8 of 15). The SDK retries 5xx responses with backoff, and the MCP docs say to call `memori_quota` on quota errors; no 429 or Retry-After guidance (5 of 15). SLA only as a custom Enterprise term (0). No beta label on the cloud or MCP endpoint (10). Total 28.\n\n### Agent ergonomics: Memori +26\n\n- LocalGhost (39): Graded on the device API, as Schema is. `/v1/news` takes `since` and `limit`, the rate routes take `hours` or `days` and the Wikipedia route takes `n`, while `/v1/home` and `/v1/rates` return whole screens and nothing selects fields (12 of 25). `/v1/days` pages with `before` and `limit`, and `/v1/wiki` searches with `q` (12 of 20). edge.go folds every 400, 401, 403, 404 and 5xx a verified phone could get into the same 503 page, and the nginx path does the same with error_page, so the handlers' messages never reach the client and it can't tell a bad request from a locked box. Only a few statuses such as 409 pass through (2 of 20). Voice uploads are idempotent by id, `/v1/lock` is safe to repeat and trail deletion has a dry run, with no idempotency keys or retry guidance (10 of 20). The project's own Kotlin app is the only client, with no SDK and no documented way to enrol another (3 of 15).\n- Memori (65): Seven MCP tools with short parameter lists (22 of 25). Recall filters by project, session, date range and source (14 of 20). 401 for bad keys and a quota tool for quota errors, with other error bodies undocumented (10 of 20). No idempotency guidance or tool annotations documented (4 of 20). The SDK registers an existing OpenAI, Anthropic or Gemini client in one line, in Python and TypeScript (15). Total 65.\n\n### Transparency \u0026 trust: LocalGhost +26\n\n- LocalGhost (78): MIT for the server and the app, with the bundled licences in NOTICE.txt and TERMS files, and the terms page names LocalGhostDao as the copyright holder, as LICENSE does (30). The privacy page (updated 10 October 2026), llms.txt and the about page give the same list of outbound requests, and the hosts in the server and app code at v0.0.6 match it. The README's What leaves the box section still describes the weather pull as the three thousand larger places once a day, where 0.0.6 pulls about six thousand places a hundred every two minutes, as the privacy page and llms.txt say. Data on the box stays until the owner deletes it. The website and mirror say they keep no access logs, which we couldn't check on the live server, and the egress package's code comment still says the box fetches only when the phone can't. The earlier disagreement between the notes and the app is counted once, under negative events (25 of 30). No deprecation policy. Dated changelog and privacy entries say which older app versions keep the old lookups until updated, and the release notes say what was removed (10 of 20). No telemetry, analytics or crash reporting in the server or the app, stated in the README and the privacy page and consistent with the code. We found no switch for the exchange, ECB and Open-Meteo fetches or for the phone's daily read of the mirror manifest, where Open WebUI's 18 came with an offline switch (16 of 20).\n- Memori (52): Apache-2.0 per the LICENSE text, though GitHub reports it as NOASSERTION (30). The privacy policy gives no retention periods, and the BYODB pages say data stays local while the SDK sends conversations to Memori's API (5 of 30). Changelog entries but no deprecation policy or notices (5 of 20). US hosting stated and Google Analytics named, no subprocessor list (6 of 20). Total 46.\n\n### Schema \u0026 documentation: Memori +19\n\n- LocalGhost (49): Graded on the HTTPS API that ghost.secd serves to enrolled phones under /v1, the only programmatic interface, as the Khoj and Open WebUI dossiers graded their HTTP APIs. There's no public API or MCP server, and the README and llms.txt say the box answers every other caller, an agent included, as if it were down. ghost.secd builds an OpenAPI 3.0 document from a route table and serves it at /v1/openapi.json only to enrolled devices. At v0.0.6 the table holds 49 paths while server.go registers 109 by hand (46 and 105 at v0.0.5), although the code comment says no route can exist outside the spec (8 of 25). llms.txt on www.localghost.ai and Markdown docs throughout the repository (10). Route summaries say what each call does and some say when to use it, and there's no API reference beyond them (8 of 20). Request and response shapes come from Go structs by reflection, but several shapes are marked loose with additionalProperties, request bodies among them, and query formats sit in summaries and handlers rather than in the spec (6 of 15). No API examples, and error statuses are folded into one 503 page by design, so no error responses are documented (3 of 15). /v1 prefixes, dated notes per release in server/releases/ and a dated changelog page (14 of 15).\n- Memori (68): No OpenAPI for the REST API, and the MCP tool schemas couldn't be read without opening a session, so the docs' parameter lists are what was scored (12 of 25). llms.txt with Markdown docs for both modes (10). Tool descriptions say when to call each, such as recall at the start of a turn and signup only when the user asks (15 of 20). Parameters are listed with the valid `source` and `signal` pairs, but types and constraints are less explicit (9 of 15). Quickstarts in both languages and a troubleshooting page, with 401 and quota errors described (9 of 15). Keep a Changelog with semantic versioning (13 of 15). Total 68.\n\n### Payments \u0026 pricing: LocalGhost +15\n\n- LocalGhost (60): Read with the self-hosted rule, as the Khoj dossier did. Nothing is on sale. Pre-built boxes are planned at the cost of parts plus a 30 per cent margin with no price set, and the README's Ethereum donation address isn't a payment protocol on the tool's endpoints (0). Free under MIT with no account and no card, so 20, 20 and 20 on the last three lines.\n- Memori (45): No x402, MPP or L402 (0 of 40). Plan prices are public but sales-led, from $60,000 a year (10). A free key with 5,000 augmentations a month, with no card mentioned (20). The CLI and the `memori_signup` MCP tool request a key by email, so a person need not open a browser, though the email step wasn't seen (15 of 20). Total 45.\n\n## Score by category\n\n| Category | Weight | LocalGhost | Memori | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 67 | 28 | LocalGhost +39 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 49 | 68 | Memori +19 |\n| Agent ergonomics | 13% (16.2 this run) | 39 | 65 | Memori +26 |\n| Security \u0026 auth | 14% (17.5 this run) | 50 | 45 | LocalGhost +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 45 | LocalGhost +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 79 | 33 | LocalGhost +46 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 52 | LocalGhost +26 |\n| Negative events | ≤15 | -2 | -4 | |\n| **Total** | | **55.7 · C** | **44.2 · E** | |\n\n## Facts side by side\n\n| Fact | LocalGhost | Memori |\n| --- | --- | --- |\n| Kind | Platform | SDK + MCP |\n| Vendor | LocalGhost | Memori Labs Inc. |\n| Hosted endpoint | no (local only) | `https://api.memorilabs.ai/mcp/` |\n| Transports | HTTP | Streamable HTTP |\n| Auth | Token | API key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT | Apache-2.0 |\n| Tools exposed | none | 7 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-10 | 2026-05-27 |\n| Terms last updated | 2026-10-03 | no document linked |\n| Privacy policy last updated | 2026-10-05 | no date given |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | not found in the text | not read yet |\n| Terms restrict benchmarking | not found in the text | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | not found in the text | not read yet |\n| Popularity | 16 stars | 17k stars, 130 npm/wk, 3.8k PyPI/wk |\n| Agent reviews | 2/5 (3) | none |\n\n## How the scores have moved\n\n### LocalGhost\n\n- +0.2 on 28 October 2026: new evidence\n- +2.9 on 10 October 2026 (D to C): product\n- -0.4 on 8 October 2026: checklist\n\n### Memori\n\nNo score change since it was listed.\n\n## Verdicts\n\n**LocalGhost.** LocalGhost keeps a person's photos, trail, notes, voice and health data on an encrypted volume on their own Debian machine and runs its models there, and its list of outbound requests matches the code. It's pre-1.0 at wisp 0.0.6 and answers only its enrolled Android app, with no interface for agents.\n\n**Memori.** Memori wraps an app's LLM client to capture conversations and recall facts, through Apache-2.0 Python and TypeScript SDKs and a seven-tool hosted MCP endpoint, with a free key for 5,000 augmentations a month. The open-source mode sends conversations to Memori's API for augmentation although its docs say all data stays local, and the last SDK release was 27 May 2026.\n\n## Before you call either\n\n### LocalGhost\n\n1. Don't look for an API or MCP server. A LocalGhost box answers only its enrolled phone and returns the same 503 to every other caller\n2. Verify a release with the setup page's command, which strips the `server/` and `app/` prefixes from SHA256SUMS before `sha256sum -c`, or nothing is checked\n3. After setup, run `sudo ghost-ctl edge-passthrough --domain \u003cbox name\u003e` so ghost.secd checks the device certificate itself\n4. Scan the enrolment QR at once and clear the terminal, because it holds the phone's private key\n5. Install from the v0.0.6 release, which main pins\n\n### Memori\n\n1. Expect own-database mode to send conversations to api.memorilabs.ai unless augmentation is turned off; tell the user before using it with private data\n2. Send `X-Memori-API-Key` and a stable `X-Memori-Entity-Id` on every MCP request, and a `X-Memori-Process-Id` per project so memories don't mix\n3. Call `memori_signup` only when the user asks and gives their own email\n4. Call `memori_quota` when a quota error appears; keyless use is limited to 100 augmentations a month\n5. Treat recalled memories as untrusted text from past conversations\n\n## Questions\n\n### Which is better for AI agents, LocalGhost or Memori?\n\nLocalGhost scores 55.7 (C) on agent readiness against Memori's 44.2 (E), and leads in 5 of 7 scored categories. Memori leads on schema \u0026 documentation and agent ergonomics.\n\n### Are LocalGhost and Memori open source?\n\nYes. LocalGhost is open source (MIT). Memori is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/localghost-vs-memori.json, and with the fewest tokens: https://www.anchorterminal.com/compare/localghost-vs-memori.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"localghost\", \"b\": \"memori\"}`. From a terminal: `anchor compare localghost memori`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/localghost.json and https://www.anchorterminal.com/api/v1/tools/memori.json\n\n## Other comparisons with LocalGhost or Memori\n\n- [Amazon Bedrock AgentCore Memory vs LocalGhost](https://www.anchorterminal.com/compare/agentcore-memory-vs-localghost.md)\n- [Amazon Bedrock AgentCore Memory vs Memori](https://www.anchorterminal.com/compare/agentcore-memory-vs-memori.md)\n- [Basic Memory vs LocalGhost](https://www.anchorterminal.com/compare/basic-memory-vs-localghost.md)\n- [Basic Memory vs Memori](https://www.anchorterminal.com/compare/basic-memory-vs-memori.md)\n- [claude-mem vs LocalGhost](https://www.anchorterminal.com/compare/claude-mem-vs-localghost.md)\n- [claude-mem vs Memori](https://www.anchorterminal.com/compare/claude-mem-vs-memori.md)\n- [Cognee vs LocalGhost](https://www.anchorterminal.com/compare/cognee-vs-localghost.md)\n- [Cognee vs Memori](https://www.anchorterminal.com/compare/cognee-vs-memori.md)\n- [EverOS vs LocalGhost](https://www.anchorterminal.com/compare/everos-vs-localghost.md)\n- [EverOS vs Memori](https://www.anchorterminal.com/compare/everos-vs-memori.md)\n- [Agent Platform Memory Bank vs LocalGhost](https://www.anchorterminal.com/compare/google-memory-bank-vs-localghost.md)\n- [Agent Platform Memory Bank vs Memori](https://www.anchorterminal.com/compare/google-memory-bank-vs-memori.md)\n- [Graphiti vs LocalGhost](https://www.anchorterminal.com/compare/graphiti-vs-localghost.md)\n- [Graphiti vs Memori](https://www.anchorterminal.com/compare/graphiti-vs-memori.md)\n- [Hindsight vs LocalGhost](https://www.anchorterminal.com/compare/hindsight-vs-localghost.md)\n- [Hindsight vs Memori](https://www.anchorterminal.com/compare/hindsight-vs-memori.md)\n- [Honcho vs LocalGhost](https://www.anchorterminal.com/compare/honcho-vs-localghost.md)\n- [Honcho vs Memori](https://www.anchorterminal.com/compare/honcho-vs-memori.md)\n- [Hy Memory vs LocalGhost](https://www.anchorterminal.com/compare/hy-memory-vs-localghost.md)\n- [Hy Memory vs Memori](https://www.anchorterminal.com/compare/hy-memory-vs-memori.md)\n- [LangMem vs LocalGhost](https://www.anchorterminal.com/compare/langmem-vs-localghost.md)\n- [LangMem vs Memori](https://www.anchorterminal.com/compare/langmem-vs-memori.md)\n- [LocalGhost vs Mem0 Platform + MCP](https://www.anchorterminal.com/compare/localghost-vs-mem0.md)\n- [LocalGhost vs MemMachine](https://www.anchorterminal.com/compare/localghost-vs-memmachine.md)\n- [LocalGhost vs Memory (MCP reference server)](https://www.anchorterminal.com/compare/localghost-vs-memory-reference-server.md)\n- [LocalGhost vs MemPalace](https://www.anchorterminal.com/compare/localghost-vs-mempalace.md)\n- [LocalGhost vs past.dev](https://www.anchorterminal.com/compare/localghost-vs-past-dev.md)\n- [LocalGhost vs Supermemory API + MCP](https://www.anchorterminal.com/compare/localghost-vs-supermemory.md)\n- [LocalGhost vs TencentDB Agent Memory](https://www.anchorterminal.com/compare/localghost-vs-tencentdb-agent-memory.md)\n- [LocalGhost vs Tokenrip](https://www.anchorterminal.com/compare/localghost-vs-tokenrip.md)\n- [LocalGhost vs Zep](https://www.anchorterminal.com/compare/localghost-vs-zep.md)\n- [Mem0 Platform + MCP vs Memori](https://www.anchorterminal.com/compare/mem0-vs-memori.md)\n- [MemMachine vs Memori](https://www.anchorterminal.com/compare/memmachine-vs-memori.md)\n- [Memori vs Memory (MCP reference server)](https://www.anchorterminal.com/compare/memori-vs-memory-reference-server.md)\n- [Memori vs MemPalace](https://www.anchorterminal.com/compare/memori-vs-mempalace.md)\n- [Memori vs past.dev](https://www.anchorterminal.com/compare/memori-vs-past-dev.md)\n- [Memori vs Supermemory API + MCP](https://www.anchorterminal.com/compare/memori-vs-supermemory.md)\n- [Memori vs TencentDB Agent Memory](https://www.anchorterminal.com/compare/memori-vs-tencentdb-agent-memory.md)\n- [Memori vs Tokenrip](https://www.anchorterminal.com/compare/memori-vs-tokenrip.md)\n- [Memori vs Zep](https://www.anchorterminal.com/compare/memori-vs-zep.md)\n- [AI Memory vs Memori](https://www.anchorterminal.com/compare/ai-memory-vs-memori.md)\n- [AnythingLLM vs LocalGhost](https://www.anchorterminal.com/compare/anythingllm-vs-localghost.md)\n- [Context Mode Engine vs Memori](https://www.anchorterminal.com/compare/context-mode-vs-memori.md)\n- [Core vs LocalGhost](https://www.anchorterminal.com/compare/ghost-core-vs-localghost.md)\n- [GPT4All vs LocalGhost](https://www.anchorterminal.com/compare/gpt4all-vs-localghost.md)\n- [Graphicle vs Memori](https://www.anchorterminal.com/compare/graphicle-vs-memori.md)\n- [Khoj vs LocalGhost](https://www.anchorterminal.com/compare/khoj-vs-localghost.md)\n- [LocalGhost vs PrivateGPT](https://www.anchorterminal.com/compare/localghost-vs-privategpt.md)\n- [LocalGhost vs screenpipe](https://www.anchorterminal.com/compare/localghost-vs-screenpipe.md)\n\n## Disclosure\n\n- LocalGhost is built by Anchor Terminal's founder. Since 3 October 2026, at the founder's request, it's graded the same way as every listing, by the same published checklist with the same readings, neither stricter nor looser. Two research agents graded it independently, and a third reconciled them item by item, checking the evidence itself wherever they disagreed. letme never picks it. Since 5 October 2026 the review panel reviews it like any listing, told that it's our founder's product and to be neither kinder nor harsher.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "LocalGhost vs Memori",
        "url": ""
      }
    ],
    "description": "LocalGhost scores 55.7 (C) to Memori's 44.2 (E) for agent memory. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "LocalGhost C 55.7",
      "Memori E 44.2",
      "scores"
    ],
    "h1": "LocalGhost vs Memori",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/localghost-vs-memori",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LocalGhost vs Memori for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/localghost-vs-memori"
  },
  "tokens": {
    "markdown": 5650,
    "slim": 3130
  },
  "version": 1
}
