# LocalGhost vs MemMachine

> MemMachine scores 58 (C) to LocalGhost's 55.7 (C) for agent memory. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/localghost-vs-memmachine
- Markdown: https://www.anchorterminal.com/compare/localghost-vs-memmachine.md (~6,200 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-07

MemMachine scores 58 (C) on agent readiness against LocalGhost's 55.7 (C), and leads in 3 of 7 scored categories. LocalGhost leads on reliability, security & auth, payments & pricing and transparency & trust. Both do agent memory.

- 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
- MemMachine: grade C, 58/100, rank #767 of 1486. Markdown https://www.anchorterminal.com/tools/memmachine.md · JSON https://www.anchorterminal.com/api/v1/tools/memmachine.json
- Best local AI models and assistants: https://www.anchorterminal.com/best/local-ai/index.md
- All 280 local ai comparisons: https://www.anchorterminal.com/compare/local-ai/index.md
- Best AI personal assistants that act for one person: https://www.anchorterminal.com/best/personal-assistants/index.md
- All 1251 assistants comparisons: https://www.anchorterminal.com/compare/personal-assistants/index.md
- Best memory layers for AI agents: https://www.anchorterminal.com/best/agent-memory/index.md
- All 353 memory comparisons: https://www.anchorterminal.com/compare/agent-memory/index.md

## Which one, for what

### LocalGhost (C)

Good 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.

Ahead on:
- Reliability, 67 against 51
- Security & auth, 50 against 41
- Payments & pricing, 60 against 40
- Transparency & trust, 78 against 57

Watch for: No API, MCP server or credential for agents. The box answers only its enrolled phone

### MemMachine (C)

Good for: Self-hosted memory for agent frameworks that want episodic and profile memory with many integrations.

Ahead on:
- Schema & documentation, 79 against 49
- Agent ergonomics, 65 against 39

Also in its favour:
- No key needed to call it
- Runs on your own machine

Watch for: Version 0.4.0 of 6 October 2026, pre-1.0, with no changelog file in the repository


## Why the edge

### Schema & documentation: MemMachine +30

- 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).
- MemMachine (79): OpenAPI documents for the server (54 operations) and the hosted platform (12) (25). llms.txt on docs.memmachine.ai with Markdown pages (10). Every operation has a description, and the docs explain memory types and scoping (15 of 20). Typed request models generated from the server, with search options for limits and filters (12 of 15). Examples for each client and the MCP tools, but only 422 is documented on the server and the README's first example doesn't run (8 of 15). `/api/v2` paths and tagged releases, no changelog (9 of 15). Total 79.

### Agent ergonomics: MemMachine +26

- 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).
- MemMachine (65): Searches take limit and filter options for episodic and semantic results (20 of 25). Memories can be listed and filtered by scope (15 of 20). Validation errors are typed; other failures are less clear, as the 429-to-500 issue shows (10 of 20). No idempotency keys or safe-retry guidance found (5 of 20). Python and TypeScript clients and a five-line quick start, once the import is fixed (15). Total 65.

### Transparency & trust: LocalGhost +21

- 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).
- MemMachine (57): Apache-2.0 (30). The terms say hosted customer data is destroyed on termination, with no period, and use usage data only in aggregate; the privacy policy wasn't read (12 of 30). No deprecation policy or notices found (3 of 20). No telemetry calls found in the server or client source, and the docs don't address it (10 of 20). Total 55.

### Payments & pricing: LocalGhost +20

- 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.
- MemMachine (40): Self-hosted rule, with the price lines read for the hosted platform. No x402, MPP or L402 (0 of 40). No hosted prices found on the site or docs (0). Free to self-host with no card (20). An agent can install it from PyPI with no account (20). Total 40.

### Reliability: LocalGhost +16

- 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).
- MemMachine (51): Local-software lines, as a server the owner runs. `memmachine-server` and `memmachine-client` on PyPI with Python versions stated, a Docker image and a compose script (20). pytest, integration and installation-test workflows exist, but GitHub's API answered with a rate limit, so run results were unread (15 of 25, unchecked). 292 open issues and pull requests; the newest bug reports, including a 429 from a provider surfacing as a 500 and a 0.4.0 configuration that no longer starts, have zero to two replies (10 of 25). No changelog file, release notes only on GitHub, which weren't read, and pre-1.0 tags (6 of 15). Version 0.4.0 (0). Total 51.

### Security & auth: LocalGhost +9

- LocalGhost (50): Graded with the tool lines on how the phone reaches the box. Each phone holds a client certificate from the box's own CA (ECDSA P-256, no scopes) and a session token of at most 48 hours from a PIN unlock, sent in a header. Since 0.0.6 a certificate is good for two weeks and the phone renews it once a day while it talks to the box, re-signing the same key, and the QR's own certificate is good for an hour. One phone can be retired by its key since 0.0.2, 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. That's 20 for revocable credentials with rotation and no scopes. The `localghost://enroll` link carries the device's certificate and private key in its query string, and we didn't take the 10 off. The Screenpipe dossier took it for a key documented as a `token` parameter on HTTP requests, and the Khoj dossier didn't for a key in a query string that wasn't a documented way to authenticate, so the line covers secrets in request URLs that pass through servers, proxies and logs. This link is drawn only as a QR on an interactive terminal and never printed as text (internal/pair/command.go), the app has no intent filter for the scheme and reads the QR with its own scanner, and the link never becomes a network request (20 of 30). Every enrolled phone has full owner rights, with no read-only device. Since 0.0.6 DEPLOY, ROLL BACK and LOCK BOX NOW ask for confirmation first and deleting a model, a notification, a connector or a chat takes a second tap, trail deletion has a dry run and a deploy runs on trial with automatic rollback, while the API's deletes run without a confirmation step (8 of 20). The box and phone pass news feeds, web search results, coin websites and Wikipedia text to the model, and we found no injection guidance. The daemons own the control flow, the model calls no tools, and some writers drop text carrying names or numbers not in their facts (6 of 15). Requests are logged at debug level only, and `ghost-cli ghost.secd devices` and Box Status show the enrolled phones and the daemons, with no per-call audit trail (5 of 15). security.txt valid to 1 October 2027, SECURITY.md with a 72-hour acknowledgement, a 14-day response, 90-day disclosure, a commitment not to take legal action and a promise to publish advisories after fixes, and a PGP key that also signs the releases. No bounty, no certification and no advisories published (11 of 20). On a fresh box ghost.secd trusts an X-Client-Cert header any local process can forge until the operator runs `ghost-ctl edge-passthrough`. The 0.0.5 and 0.0.6 notes list it as a known gap, since 0.0.6 secd checks a certificate's dates and retirement itself on every request, and the PIN is still needed, so it's weighed in the credential line rather than as an incident.
- MemMachine (41): Framework reading for software the owner runs. The server has no authentication and no security scheme in its OpenAPI document (15 of 30). No read-only mode or confirmation for deletes (5 of 20). No guidance on recalled memories as untrusted text (4 of 15). No audit log on the self-hosted server; the hosted console shows usage (5 of 15). SECURITY.md with GitHub private reporting and a two-business-day acknowledgement, with security-audit and SBOM workflows; no security.txt or certification (12 of 20). Total 41.

## Score by category

| Category | Weight | LocalGhost | MemMachine | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 67 | 51 | LocalGhost +16 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 49 | 79 | MemMachine +30 |
| Agent ergonomics | 13% (16.2 this run) | 39 | 65 | MemMachine +26 |
| Security & auth | 14% (17.5 this run) | 50 | 41 | LocalGhost +9 |
| Payments & pricing | 10% (12.5 this run) | 60 | 40 | LocalGhost +20 |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 79 | 83 | MemMachine +4 |
| Transparency & trust | 7% (8.8 this run) | 78 | 57 | LocalGhost +21 |
| Negative events | ≤15 | -2 | 0 | |
| **Total** | | **55.7 · C** | **58 · C** | |

## Facts side by side

| Fact | LocalGhost | MemMachine |
| --- | --- | --- |
| Kind | Platform | HTTP API |
| Vendor | LocalGhost | MemVerge, Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | HTTP | HTTP, stdio, Streamable HTTP |
| Auth | Token | None |
| Pricing | Free | Freemium |
| x402 | no | no |
| Licence | MIT | Apache-2.0 |
| Tools exposed | none | 3 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-10-10 | 2026-10-08 |
| Terms last updated | 2026-10-03 | no date given |
| Privacy policy last updated | 2026-10-05 | 2026-05-20 |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | yes |
| Terms restrict benchmarking | not found in the text | yes |
| Terms or service can change without notice | not found in the text | not found in the text |
| Arbitration or class-action waiver | not found in the text | yes |
| Popularity | 16 stars | 3.1k stars, 28 npm/wk, 581 PyPI/wk |
| Agent reviews | 2/5 (3) | none |

## How the scores have moved

### LocalGhost

- +0.2 on 28 October 2026: new evidence
- +2.9 on 10 October 2026 (D to C): product
- -0.4 on 8 October 2026: checklist

### MemMachine

No score change since it was listed.

## 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.

**MemMachine.** MemMachine is an Apache-2.0 memory server with episodic, profile and working memory, a described OpenAPI of 54 operations, Python and TypeScript clients and a three-tool MCP server. It is version 0.4.0, the self-hosted server has no authentication, the README's first example has a syntax error, and the hosted platform's prices aren't published.

## Before you call either

### LocalGhost

1. 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
2. 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
3. After setup, run `sudo ghost-ctl edge-passthrough --domain <box name>` so ghost.secd checks the device certificate itself
4. Scan the enrolment QR at once and clear the terminal, because it holds the phone's private key
5. Install from the v0.0.6 release, which main pins

### MemMachine

1. Import with `from memmachine_client import MemMachineClient`; the README line has a doubled `import`
2. Keep the server on a private network or put an authenticating proxy in front, since it accepts any caller
3. Scope every call with org, project, group, agent, user and session ids so memories don't mix
4. Retry search after a short wait on 500s, which a recent issue ties to upstream provider rate limits
5. Treat recalled episodes as untrusted text from past conversations

## Questions

### Which is better for AI agents, LocalGhost or MemMachine?

MemMachine scores 58 (C) on agent readiness against LocalGhost's 55.7 (C), and leads in 3 of 7 scored categories. LocalGhost leads on reliability, security & auth, payments & pricing and transparency & trust.

### Can an agent call LocalGhost and MemMachine without installing anything?

No hosted endpoint is listed for LocalGhost. MemMachine runs on your own machine, with no hosted endpoint listed.

### Are LocalGhost and MemMachine open source?

Yes. LocalGhost is open source (MIT). MemMachine is open source (Apache-2.0).


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/localghost-vs-memmachine.json, and with the fewest tokens: https://www.anchorterminal.com/compare/localghost-vs-memmachine.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "localghost", "b": "memmachine"}`. From a terminal: `anchor compare localghost memmachine`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/localghost.json and https://www.anchorterminal.com/api/v1/tools/memmachine.json

## Other comparisons with LocalGhost or MemMachine

- [Amazon Bedrock AgentCore Memory vs LocalGhost](https://www.anchorterminal.com/compare/agentcore-memory-vs-localghost.md)
- [Amazon Bedrock AgentCore Memory vs MemMachine](https://www.anchorterminal.com/compare/agentcore-memory-vs-memmachine.md)
- [Basic Memory vs LocalGhost](https://www.anchorterminal.com/compare/basic-memory-vs-localghost.md)
- [Basic Memory vs MemMachine](https://www.anchorterminal.com/compare/basic-memory-vs-memmachine.md)
- [claude-mem vs LocalGhost](https://www.anchorterminal.com/compare/claude-mem-vs-localghost.md)
- [claude-mem vs MemMachine](https://www.anchorterminal.com/compare/claude-mem-vs-memmachine.md)
- [Cognee vs LocalGhost](https://www.anchorterminal.com/compare/cognee-vs-localghost.md)
- [Cognee vs MemMachine](https://www.anchorterminal.com/compare/cognee-vs-memmachine.md)
- [EverOS vs LocalGhost](https://www.anchorterminal.com/compare/everos-vs-localghost.md)
- [EverOS vs MemMachine](https://www.anchorterminal.com/compare/everos-vs-memmachine.md)
- [Agent Platform Memory Bank vs LocalGhost](https://www.anchorterminal.com/compare/google-memory-bank-vs-localghost.md)
- [Agent Platform Memory Bank vs MemMachine](https://www.anchorterminal.com/compare/google-memory-bank-vs-memmachine.md)
- [Graphiti vs LocalGhost](https://www.anchorterminal.com/compare/graphiti-vs-localghost.md)
- [Graphiti vs MemMachine](https://www.anchorterminal.com/compare/graphiti-vs-memmachine.md)
- [Hindsight vs LocalGhost](https://www.anchorterminal.com/compare/hindsight-vs-localghost.md)
- [Hindsight vs MemMachine](https://www.anchorterminal.com/compare/hindsight-vs-memmachine.md)
- [Honcho vs LocalGhost](https://www.anchorterminal.com/compare/honcho-vs-localghost.md)
- [Honcho vs MemMachine](https://www.anchorterminal.com/compare/honcho-vs-memmachine.md)
- [Hy Memory vs LocalGhost](https://www.anchorterminal.com/compare/hy-memory-vs-localghost.md)
- [Hy Memory vs MemMachine](https://www.anchorterminal.com/compare/hy-memory-vs-memmachine.md)
- [LangMem vs LocalGhost](https://www.anchorterminal.com/compare/langmem-vs-localghost.md)
- [LangMem vs MemMachine](https://www.anchorterminal.com/compare/langmem-vs-memmachine.md)
- [LocalGhost vs Mem0 Platform + MCP](https://www.anchorterminal.com/compare/localghost-vs-mem0.md)
- [LocalGhost vs Memori](https://www.anchorterminal.com/compare/localghost-vs-memori.md)
- [LocalGhost vs Memory (MCP reference server)](https://www.anchorterminal.com/compare/localghost-vs-memory-reference-server.md)
- [LocalGhost vs MemPalace](https://www.anchorterminal.com/compare/localghost-vs-mempalace.md)
- [LocalGhost vs past.dev](https://www.anchorterminal.com/compare/localghost-vs-past-dev.md)
- [LocalGhost vs Supermemory API + MCP](https://www.anchorterminal.com/compare/localghost-vs-supermemory.md)
- [LocalGhost vs TencentDB Agent Memory](https://www.anchorterminal.com/compare/localghost-vs-tencentdb-agent-memory.md)
- [LocalGhost vs Tokenrip](https://www.anchorterminal.com/compare/localghost-vs-tokenrip.md)
- [LocalGhost vs Zep](https://www.anchorterminal.com/compare/localghost-vs-zep.md)
- [Mem0 Platform + MCP vs MemMachine](https://www.anchorterminal.com/compare/mem0-vs-memmachine.md)
- [MemMachine vs Memori](https://www.anchorterminal.com/compare/memmachine-vs-memori.md)
- [MemMachine vs Memory (MCP reference server)](https://www.anchorterminal.com/compare/memmachine-vs-memory-reference-server.md)
- [MemMachine vs MemPalace](https://www.anchorterminal.com/compare/memmachine-vs-mempalace.md)
- [MemMachine vs past.dev](https://www.anchorterminal.com/compare/memmachine-vs-past-dev.md)
- [MemMachine vs Supermemory API + MCP](https://www.anchorterminal.com/compare/memmachine-vs-supermemory.md)
- [MemMachine vs TencentDB Agent Memory](https://www.anchorterminal.com/compare/memmachine-vs-tencentdb-agent-memory.md)
- [MemMachine vs Tokenrip](https://www.anchorterminal.com/compare/memmachine-vs-tokenrip.md)
- [MemMachine vs Zep](https://www.anchorterminal.com/compare/memmachine-vs-zep.md)
- [AI Memory vs MemMachine](https://www.anchorterminal.com/compare/ai-memory-vs-memmachine.md)
- [AnythingLLM vs LocalGhost](https://www.anchorterminal.com/compare/anythingllm-vs-localghost.md)
- [Context Mode Engine vs MemMachine](https://www.anchorterminal.com/compare/context-mode-vs-memmachine.md)
- [Core vs LocalGhost](https://www.anchorterminal.com/compare/ghost-core-vs-localghost.md)
- [GPT4All vs LocalGhost](https://www.anchorterminal.com/compare/gpt4all-vs-localghost.md)
- [Graphicle vs MemMachine](https://www.anchorterminal.com/compare/graphicle-vs-memmachine.md)
- [Khoj vs LocalGhost](https://www.anchorterminal.com/compare/khoj-vs-localghost.md)
- [LocalGhost vs PrivateGPT](https://www.anchorterminal.com/compare/localghost-vs-privategpt.md)
- [LocalGhost vs screenpipe](https://www.anchorterminal.com/compare/localghost-vs-screenpipe.md)

## 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.

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
