{
  "data": {
    "a": {
      "slug": "localghost",
      "name": "LocalGhost",
      "vendor": "LocalGhost",
      "vendorUrl": "https://www.localghost.ai",
      "kind": "platform",
      "category": "local-ai",
      "summary": "Pre-release, open-source personal AI server that runs on hardware its owner keeps, started in London in December 2025.",
      "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",
      "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, valid ten years, no scopes) 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"
      ],
      "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. The review panel doesn't review it, and letme never picks it.",
      "anchor": {
        "graded": true,
        "score": 45.8,
        "grade": "E",
        "agentReady": false,
        "rank": 396,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 9,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 2,
          "maintenance": 71,
          "payments": 60,
          "reliability": 59,
          "schema": 44,
          "security": 52,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-03"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-09-19 to 2026-10-03, unfixed at HEAD d4decab. The README ('One thing leaves the phone'), the privacy page ('The phone talks to your box and nothing else, apart from two things'), the setup page ('The phone sends one thing') and llms.txt ('no position leaves either device') describe less than the app sends. Since 19 September it passes each new location fix to Android's system Geocoder when the phone has moved 20 km or 12 hours have passed, a network call on some phones by its own code comment, and since 20 September it sends currency amounts to api.frankfurter.app and who-is subjects to Wikipedia's summary API, named only in the engineering journal, though the chat shows those two as sources when it uses them. Until 0.0.3 the same claim stood while the app sent the phone's position to Open-Meteo for a weather question naming no place. wisp 0.0.3 removed that call on 3 October and its notes, the privacy page, llms.txt and the changelog say so, so that part adds nothing. One misleading claim, still partly false, -3. https://github.com/LocalGhostDao/localghost/blob/main/app/android/app/src/main/java/com/localghost/app/sync/LocationLog.kt; https://github.com/LocalGhostDao/localghost/blob/main/app/android/app/src/main/java/com/localghost/app/net/WebSearch.kt; https://www.localghost.ai/privacy"
        ],
        "verdict": "The server and Android app are MIT-licensed, with no telemetry libraries found. There is no agent API, MCP server or SDK; unpaired callers receive HTTP 503.",
        "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. The review panel doesn't review it, and letme never picks it.",
        "strengths": [
          "MIT for the server and the Android app, with no telemetry, analytics or crash-reporting library in either",
          "The archive sits on a LUKS2 volume whose key is sealed to the TPM through go-tpm and opened by a PIN from the phone, with a wipe PIN that answers like a wrong one",
          "Per-device client certificates from the box's own CA, rekeyed into the Android Keystore at the first unlock since 2 October 2026, and one phone can be retired by its key since 0.0.2",
          "Server releases are built with CGO off, -trimpath and no build id, the v0.0.3 source archive matches the tag's 846 files, and SHA256SUMS.asc verifies against the key in the repository (DCE9 A3D1 4EB4 6197 1DD5 F393 706E 4194 F08A 09A0)",
          "A valid RFC 9116 security.txt to 2027-10-01 and a SECURITY.md with PGP, a 72-hour acknowledgement, 90-day disclosure and a commitment not to sue"
        ],
        "weaknesses": [
          "No API, MCP server or SDK for agents, and every caller but the paired phone gets the same 503 as a box that is down",
          "The app sends currency questions to Frankfurter, who-is questions to Wikipedia and location fixes to Android's geocoder, none of them named in the README, privacy page or llms.txt",
          "Release binaries are built with Go 1.25.4, and the 35 standard-library advisories fixed in Go 1.25.5 to 1.25.13 include crypto/tls, crypto/x509 and net/http",
          "Pre-1.0 at 0.0.3, three releases within 16 hours, CI one day old, and the app's 50 JVM test files have no passing CI run while the README and CONTRIBUTING.md say they run on every push",
          "A fresh box trusts a device-certificate header any local process can forge until the operator runs `ghost-ctl edge-passthrough`"
        ],
        "agentNotes": [
          "Don't call a LocalGhost box. Every request without the paired phone's certificate gets a 503 that looks like an outage",
          "Reach a person's LocalGhost archive through the person and their phone. Nothing in wisp 0.0.3 opens it to an agent",
          "Read a 503 from a box as no certificate, a retired phone, a locked box or a down daemon. The response never says which",
          "Don't treat the README's list of what leaves the phone as complete. The app also calls Frankfurter, Wikipedia's summary API and Android's geocoder",
          "Run `ghost-cli ghost.\u003cname\u003e commands` first if an operator hands you a root shell on an unlocked box. It lists command names only, takes key=value arguments and prints JSON"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 45.8
          }
        ],
        "editorialScores": {
          "ergonomics": 2,
          "maintenance": 71,
          "payments": 60,
          "reliability": 59,
          "schema": 44,
          "security": 52,
          "transparency": 72
        },
        "provenanceScore": 82
      },
      "letme": {
        "capability": "https://letme.dev/memory.store"
      },
      "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-03",
        "notes": [
          "LocalGhost.ai Ltd is active at Companies House (company number 17213100, incorporated 12 May 2026, registered office in London, checked 3 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 and terms pages, both updated 3 October 2026, cover the website, the mirror and the software. The status page (updated 2 October 2026) covers the website, the mirror and the releases, is updated by hand and records no incidents since it started on 2 October 2026 (website repository at commit 8b7efdc).",
          "www.localghost.ai/.well-known/security.txt returned a valid RFC 9116 file on 3 October 2026 (Contact, Expires 2027-10-01, Encryption, Preferred-Languages, Canonical, Policy). The key at /.well-known/pgp-key.asc is the one in the code repository (server/tools/mirror-key.asc) and signs the release sums, fingerprint DCE9 A3D1 4EB4 6197 1DD5 F393 706E 4194 F08A 09A0, and SHA256SUMS.asc on the v0.0.3 release verified against it on 3 October 2026.",
          "The changelog page went up on 2 October 2026 and on 3 October held ten dated entries from 24 September to 3 October, three of them software releases, so its September entries were written after the fact (website repository at commit 8b7efdc). 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, and the nginx config in the public web repository has access_log off with the error log at crit. Whether the live server runs that config wasn't checked. localghost.ai was registered on 17 December 2025 through Cloudflare, per the .ai RDAP record (checked 3 October 2026)."
        ],
        "score": 82
      },
      "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-10-04T21:40:13.332146348Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "LocalGhostDao/localghost",
            "version": "v0.0.3",
            "released": "2026-10-03",
            "seenAt": "2026-10-04T16:32:06.50347713Z"
          }
        ],
        "githubStars": 16,
        "securityTxt": {
          "url": "https://localghost.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-01T00:00:00Z",
          "checkedAt": "2026-10-04T15:16:05.182655127Z"
        },
        "llmsTxt": {
          "url": "https://www.localghost.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:57.094820704Z"
        },
        "domain": {
          "domain": "localghost.ai",
          "registered": "2025-12-17",
          "source": "https://rdap.identitydigital.services/rdap/domain/localghost.ai",
          "checkedAt": "2026-10-04T13:09:18.163428935Z"
        },
        "pages": [
          {
            "url": "https://www.localghost.ai/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:06.104501555Z",
            "changedAt": "2026-10-04T15:51:06.104501555Z",
            "fingerprint": "6c0fff855728"
          },
          {
            "url": "https://www.localghost.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:08.118702502Z",
            "changedAt": "2026-10-04T15:51:08.118702502Z",
            "fingerprint": "7062ca414be5"
          },
          {
            "url": "https://www.localghost.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:51:10.115688838Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "422dab2e108c"
          }
        ],
        "updatedAt": "2026-10-04T21:40:13.332146348Z"
      },
      "vendorLinked": true
    },
    "b": {
      "slug": "zep",
      "name": "Zep",
      "vendor": "Zep",
      "vendorUrl": "https://www.getzep.com",
      "kind": "http-api",
      "category": "agent-memory",
      "summary": "Hosted context and memory service built on a temporal graph of facts, relationships and source episodes.",
      "url": "https://www.anchorterminal.com/tools/zep",
      "markdownUrl": "https://www.anchorterminal.com/tools/zep.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zep.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zep.json",
      "repo": "https://github.com/getzep/zep",
      "license": "Apache-2.0 (examples repo). The service is closed-source",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.getzep.com/api/v2",
      "packages": [
        {
          "registry": "pypi",
          "name": "zep-cloud"
        },
        {
          "registry": "npm",
          "name": "@getzep/zep-cloud"
        }
      ],
      "auth": "mixed",
      "authNotes": "Project API key in the `Authorization: Api-Key \u003ckey\u003e` header. Keys can carry ABAC policies that limit what each agent reaches. The Memory MCP server at api.getzep.com/mcp uses OAuth 2.1 with PKCE and signs users in through their organisation's identity provider, so it suits people on a team more than headless agents.",
      "pricing": "freemium",
      "pricingNotes": "Free has 10,000 credits a month with no rollover, 2 projects, 1 MCP seat, and variable rate limits. The pricing page doesn't say whether a card is needed. Flex is $125 a month for 50,000 credits, then $25 per 10,000, at 600 requests a minute, with 30-day rollover and auto top-up. Flex Plus is $375 a month for 200,000 credits, then $75 per 40,000, at 1,000 requests a minute, with 60-day rollover. Enterprise is negotiated and adds guaranteed rate limits with an SLA, a HIPAA BAA, BYOK and BYOC. An episode (a chat message, JSON payload or block of text) costs 1 credit for up to 350 bytes and 1 more for each further 350 bytes or part. Storage, retrieval and users aren't metered, and each webhook call costs an eighth of a credit (https://www.getzep.com/pricing/).",
      "priceSummary": "$125 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 12,
      "popularity": {
        "githubStars": 4900,
        "npmWeekly": 129945,
        "pypiWeekly": 86681,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://help.getzep.com",
      "llmsTxt": "https://help.getzep.com/llms.txt",
      "openapi": "https://help.getzep.com/v3/openapi.json",
      "capabilities": [
        "memory.store",
        "memory.search",
        "memory.graph",
        "memory.user",
        "memory.delete"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "oauth",
        "llms-txt",
        "python",
        "typescript",
        "closed-source",
        "enterprise"
      ],
      "lastRelease": "2026-09-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.6,
        "grade": "B",
        "agentReady": false,
        "rank": 112,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 80,
          "payments": 30,
          "reliability": 65,
          "schema": 89,
          "security": 84,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Facts that new data invalidates keep the time they stopped being true. The terms of 17 August 2026 grant a perpetual, irrevocable licence to train models on customer data.",
        "strengths": [
          "Facts that new data invalidates keep the time they stopped being true",
          "API keys can carry ABAC policies, and audit and API logs record what each key did",
          "Published rate limits (600 a minute on Flex, 1,000 on Flex Plus) with 429, Retry-After and X-RateLimit headers",
          "A memory-security guide that treats every context block as untrusted data",
          "SDKs for Python, TypeScript and Go, OpenAPI for v3 and llms.txt"
        ],
        "weaknesses": [
          "The terms of 17 August 2026 grant a perpetual, irrevocable licence to train models on customer data",
          "First paid plan is $125 a month, and credits grow with episode size",
          "The MCP server needs OAuth through a company identity provider, so a headless agent can't use it",
          "Four status incidents between 27 August and 15 September 2026",
          "No security.txt, no subprocessor list and no entry in the MCP registry"
        ],
        "agentNotes": [
          "Create the user and a thread before adding messages, as the quickstart does",
          "Set `return_context` when adding messages to skip a second round trip",
          "Keep episodes short. Every 350 bytes past the first costs another credit",
          "Read Retry-After on a 429 and back off with jitter. Free accounts over quota drop to 5 requests a minute",
          "Expect a delay after a graph add (202 Accepted) before new facts show up in search"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.6
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 80,
          "payments": 30,
          "reliability": 65,
          "schema": 89,
          "security": 84,
          "transparency": 40
        },
        "provenanceScore": 82
      },
      "connect": {
        "install": "pip install zep-cloud   # or: npm install @getzep/zep-cloud",
        "http": "curl -X POST https://api.getzep.com/api/v2/graph -H \"Authorization: Api-Key $ZEP_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"user_id\":\"user-123\",\"type\":\"text\",\"data\":\"Alex moved to Leeds in March and prefers aisle seats.\"}'",
        "claudeCode": "claude mcp add --transport http zep https://api.getzep.com/mcp",
        "config": {
          "mcpServers": {
            "zep": {
              "type": "http",
              "url": "https://api.getzep.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/memory.store",
        "tool": "https://letme.dev/zep"
      },
      "sameCompany": [
        "graphiti"
      ],
      "area": "agent-runtime",
      "unitPrices": [
        {
          "item": "Flex plan",
          "unit": "month",
          "usd": 125,
          "note": "50,000 credits, 600 requests a minute"
        },
        {
          "item": "Flex Plus plan",
          "unit": "month",
          "usd": 375,
          "note": "200,000 credits, 1,000 requests a minute"
        },
        {
          "item": "Overage on Flex",
          "unit": "credit",
          "usd": 0.0025,
          "note": "$25 per 10,000 credits"
        },
        {
          "item": "Overage on Flex Plus",
          "unit": "credit",
          "usd": 0.001875,
          "note": "$75 per 40,000 credits"
        }
      ],
      "provenance": {
        "legalEntity": "Zep Software, Inc.",
        "domain": "getzep.com",
        "domainRegistered": "2023-05-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.getzep.com/legal/terms/",
        "privacy": "https://www.getzep.com/legal/privacy/",
        "statusPage": "https://status.getzep.com",
        "changelog": "https://help.getzep.com/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms, updated 17 August 2026, name Zep Software, Inc., a Delaware corporation, and are governed by California law.",
          "www.getzep.com/.well-known/security.txt returns 404."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zep.json",
      "live": {
        "slug": "zep",
        "probe": {
          "target": "https://api.getzep.com/api/v2",
          "method": "get",
          "lastAt": "2026-10-05T03:17:35.520624037Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 525,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 194,
          "p95ms24h": 533,
          "samples24h": 273,
          "samples30d": 938,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 38,
              "ok": 38
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.getzep.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T03:19:21.457416451Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "getzep/zep",
            "version": "zep-ingest-v0.3.0",
            "released": "2026-08-28",
            "seenAt": "2026-10-04T16:44:47.058446278Z"
          },
          {
            "registry": "npm",
            "name": "@getzep/zep-cloud",
            "version": "3.30.0",
            "seenAt": "2026-10-04T16:44:46.187964355Z"
          },
          {
            "registry": "pypi",
            "name": "zep-cloud",
            "version": "3.30.0",
            "released": "2026-09-24",
            "seenAt": "2026-10-04T16:44:44.180190065Z"
          }
        ],
        "githubStars": 4948,
        "npmWeekly": 144572,
        "pypiWeekly": 84209,
        "securityTxt": {
          "url": "https://getzep.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:52.364915515Z"
        },
        "llmsTxt": {
          "url": "https://help.getzep.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:23.198921048Z"
        },
        "domain": {
          "domain": "getzep.com",
          "registered": "2023-05-08",
          "source": "https://rdap.verisign.com/com/v1/domain/getzep.com",
          "checkedAt": "2026-10-04T13:03:48.930668589Z"
        },
        "pages": [
          {
            "url": "https://help.getzep.com/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:45:01.696303768Z",
            "changedAt": "2026-10-03T15:33:06.787642615Z",
            "fingerprint": "4bb785bf262b"
          },
          {
            "url": "https://www.getzep.com/legal/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:50:29.454925317Z",
            "changedAt": "2026-10-03T15:38:21.106411993Z",
            "fingerprint": "b49841156a51"
          },
          {
            "url": "https://www.getzep.com/legal/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:50:31.622183726Z",
            "changedAt": "2026-10-03T15:38:23.230842634Z",
            "fingerprint": "955360e78c6a"
          }
        ],
        "updatedAt": "2026-10-05T03:19:21.457416451Z"
      }
    },
    "summary": "Zep has a score of 69.6 (B) against LocalGhost's 45.8 (E). Both do memory store. The largest gap is agent ergonomics, 68 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/localghost-vs-zep",
    "json": "https://www.anchorterminal.com/compare/localghost-vs-zep.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/localghost-vs-zep.md",
    "slim": "https://www.anchorterminal.com/compare/localghost-vs-zep.min.md"
  },
  "markdown": "Zep has a score of 69.6 (B) against LocalGhost's 45.8 (E). Both do memory store. The largest gap is agent ergonomics, 68 points.\n\n- LocalGhost: grade E, 45.8/100, rank #396 of 452. Markdown https://www.anchorterminal.com/tools/localghost.md · JSON https://www.anchorterminal.com/api/v1/tools/localghost.json\n- Zep: grade B, 69.6/100, rank #112 of 452. Markdown https://www.anchorterminal.com/tools/zep.md · JSON https://www.anchorterminal.com/api/v1/tools/zep.json\n\n## Which one, for what\n\nPick LocalGhost for payments \u0026 pricing (+30), transparency \u0026 trust (+16).\n\nPick Zep for reliability (+6), schema \u0026 documentation (+45), agent ergonomics (+68), security \u0026 auth (+32), maintenance \u0026 community (+9).\n\n## Score by category\n\n| Category | Weight | LocalGhost | Zep | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 59 | 65 | Zep +6 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 44 | 89 | Zep +45 |\n| Agent ergonomics | 13% (16.2 this run) | 2 | 70 | Zep +68 |\n| Security \u0026 auth | 14% (17.5 this run) | 52 | 84 | Zep +32 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | LocalGhost +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 80 | Zep +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 61 | LocalGhost +16 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **45.8 · E** | **69.6 · B** | |\n\n## Facts side by side\n\n| Fact | LocalGhost | Zep |\n| --- | --- | --- |\n| Kind | Model platform | HTTP API |\n| Vendor | LocalGhost | Zep |\n| Hosted endpoint | no (local only) | `https://api.getzep.com/api/v2` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | Token | OAuth or key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT | Apache-2.0 (examples repo). The service is closed-source |\n| Tools exposed | none | 12 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | none | 2026-09-24 |\n| Popularity | 16 stars | 4.9k stars, 130k npm/wk, 87k PyPI/wk |\n| Agent reviews | none | 4/5 (2) |\n\n## Verdicts\n\n**LocalGhost.** The server and Android app are MIT-licensed, with no telemetry libraries found. There is no agent API, MCP server or SDK; unpaired callers receive HTTP 503.\n\n**Zep.** Facts that new data invalidates keep the time they stopped being true. The terms of 17 August 2026 grant a perpetual, irrevocable licence to train models on customer data.\n\n## Before you call either\n\n### LocalGhost\n\n1. Don't call a LocalGhost box. Every request without the paired phone's certificate gets a 503 that looks like an outage\n2. Reach a person's LocalGhost archive through the person and their phone. Nothing in wisp 0.0.3 opens it to an agent\n3. Read a 503 from a box as no certificate, a retired phone, a locked box or a down daemon. The response never says which\n4. Don't treat the README's list of what leaves the phone as complete. The app also calls Frankfurter, Wikipedia's summary API and Android's geocoder\n5. Run `ghost-cli ghost.\u003cname\u003e commands` first if an operator hands you a root shell on an unlocked box. It lists command names only, takes key=value arguments and prints JSON\n\n### Zep\n\n1. Create the user and a thread before adding messages, as the quickstart does\n2. Set `return_context` when adding messages to skip a second round trip\n3. Keep episodes short. Every 350 bytes past the first costs another credit\n4. Read Retry-After on a 429 and back off with jitter. Free accounts over quota drop to 5 requests a minute\n5. Expect a delay after a graph add (202 Accepted) before new facts show up in search\n\n## Other comparisons with LocalGhost or Zep\n\n- [Cognee vs LocalGhost](https://www.anchorterminal.com/compare/cognee-vs-localghost.md)\n- [Cognee vs Zep](https://www.anchorterminal.com/compare/cognee-vs-zep.md)\n- [Graphiti vs LocalGhost](https://www.anchorterminal.com/compare/graphiti-vs-localghost.md)\n- [Graphiti vs Zep](https://www.anchorterminal.com/compare/graphiti-vs-zep.md)\n- [Hindsight vs LocalGhost](https://www.anchorterminal.com/compare/hindsight-vs-localghost.md)\n- [Hindsight vs Zep](https://www.anchorterminal.com/compare/hindsight-vs-zep.md)\n- [Honcho vs LocalGhost](https://www.anchorterminal.com/compare/honcho-vs-localghost.md)\n- [Honcho vs Zep](https://www.anchorterminal.com/compare/honcho-vs-zep.md)\n- [LocalGhost vs Mem0 Platform + MCP](https://www.anchorterminal.com/compare/localghost-vs-mem0.md)\n- [LocalGhost vs Supermemory API + MCP](https://www.anchorterminal.com/compare/localghost-vs-supermemory.md)\n- [Mem0 Platform + MCP vs Zep](https://www.anchorterminal.com/compare/mem0-vs-zep.md)\n- [Supermemory API + MCP vs Zep](https://www.anchorterminal.com/compare/supermemory-vs-zep.md)\n- [AnythingLLM vs LocalGhost](https://www.anchorterminal.com/compare/anythingllm-vs-localghost.md)\n- [GPT4All vs LocalGhost](https://www.anchorterminal.com/compare/gpt4all-vs-localghost.md)\n- [Khoj vs LocalGhost](https://www.anchorterminal.com/compare/khoj-vs-localghost.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. The review panel doesn't review it, and letme never picks it.\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "LocalGhost vs Zep",
        "url": ""
      }
    ],
    "description": "Zep has a score of 69.6 (B) against LocalGhost's 45.8 (E). Both do memory store. The largest gap is agent ergonomics, 68 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "LocalGhost E 45.8",
      "Zep B 69.6",
      "scores"
    ],
    "h1": "LocalGhost vs Zep",
    "image": "https://www.anchorterminal.com/assets/og/compare-localghost-vs-zep.png",
    "path": "/compare/localghost-vs-zep",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LocalGhost vs Zep for AI agents, E 45.8 vs B 69.6 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/localghost-vs-zep"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 330
  },
  "version": 1
}
