{
  "data": {
    "a": {
      "slug": "graphicle",
      "name": "Graphicle",
      "vendor": "KarLex AI, Inc.",
      "vendorUrl": "https://www.karlex.ai/graphicle",
      "kind": "mcp",
      "category": "agent-memory",
      "summary": "Graphicle is an open-source Rust program that builds a code graph of a repository and keeps its documents, reviewed decisions and past coding-agent sessions, served to Claude Code, Codex, Cursor and other MCP clients as cited excerpts.",
      "url": "https://www.anchorterminal.com/tools/graphicle",
      "markdownUrl": "https://www.anchorterminal.com/tools/graphicle.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/graphicle.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/graphicle.json",
      "dns": "graphicle.grade.anchorterminal.com",
      "repo": "https://github.com/Graphicle-AI/graphicle",
      "license": "Apache-2.0",
      "transports": [
        "stdio",
        "streamable-http"
      ],
      "packages": [],
      "auth": "mixed",
      "authNotes": "No account. The stdio server (`graphicle mcp`) runs with the owner key saved in the local data folder, which reads every project in the store. Over HTTP (`graphicle serve`, 127.0.0.1:8854 by default) each agent or person gets its own access key with a role, optional expiry and optional project list, sent as `Authorization: Bearer` or `X-Workspace-Capability`, never in the URL. Keys are stored as hashes and can be revoked.",
      "pricing": "free",
      "pricingNotes": "Free under Apache-2.0 for individuals and teams, with nothing to buy. A commercial edition for teams is in private preview with no published prices. Optional model calls (answers, memory extraction, full document extraction) are paid to the provider the owner configures, or run locally through Ollama.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the source, README, docs or karlex.ai (checked 2026-10-15). The software has no paid tier.",
        "endpoints": []
      },
      "toolCount": 25,
      "popularity": {
        "githubStars": 144,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-15"
      },
      "docsUrl": "https://github.com/Graphicle-AI/graphicle/blob/main/docs/quickstart.md",
      "registryName": "io.github.Graphicle-AI/graphicle",
      "capabilities": [
        "memory.search",
        "memory.graph",
        "memory.store",
        "memory.delete"
      ],
      "tags": [
        "open-source",
        "local",
        "self-hosted",
        "free",
        "no-card",
        "apache-2.0",
        "rust",
        "mcp",
        "macos",
        "linux"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 192,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 83,
          "payments": 60,
          "reliability": 63,
          "schema": 83,
          "security": 67,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-25. 0.1.7's changelog, under `### Security`, describes two fixed flaws in released versions up to 0.1.6. `graphicle graph install` wrote through a symbolic link at a skill's `SKILL.md` or version stamp (\"before, that file was overwritten\"), and a symbolic link a repository commits at `.graphicle/.rebuild.lock`, the rebuild's temporary graph or `.gitattributes` let `graphicle graph update`, a hook rebuild or `graphicle graph hook install` \"truncate, overwrite or add a line to the file it names\". So a hostile repository could make the program write to a file outside it. Fixed in 0.1.7 and described in the changelog, which names no advisory, though SECURITY.md routes reports through GitHub advisories. GitHub's advisory page answered 403 on 1 November, so an advisory there is unchecked. Judgement call. -2, the changelog-only fix term claude-code and claude-agent-sdk take for their symlink and sandbox fixes and stackone took for a described flaw with no advisory, below terraform-mcp's -3 for a cross-tenant flaw, since this needs the user to sync a hostile repository and exposes no credential. https://github.com/Graphicle-AI/graphicle/blob/v0.1.7/CHANGELOG.md"
        ],
        "verdict": "One local program gives a coding agent a code graph and project memory through typed, annotated MCP tools that return cited excerpts within a token budget, with agent-written memories held for human approval. It reached 0.1.10 in sixteen days, its SDKs aren't on any registry, and 0.1.7 fixed symlink file overwrites disclosed only in its changelog.",
        "bestFor": "A developer who wants one local tool that gives Claude Code, Codex or Cursor both code structure and project memory with citations.",
        "strengths": [
          "25 MCP tools with closed JSON Schema inputs, enums and limits, readOnlyHint on every read tool, and a five-tool essentials set",
          "Recall returns excerpts with file, line range and hash, within a `max_tokens` budget, and `skip_shown` avoids resending excerpts",
          "Agent-proposed memories need verbatim quotes and a person's approval, and the MCP server has no tool that deletes or runs commands",
          "No telemetry or account. The source calls out only to models, connectors and GitHub that the owner configures",
          "Eleven releases from 14 to 30 October 2026, each in the official MCP registry under a verified namespace since 0.1.2"
        ],
        "weaknesses": [
          "Version 0.1.10, about two weeks old, with stored-data changes shipped in patch releases",
          "0.1.7 fixed symlink-following file overwrites from a hostile repository, disclosed only in the changelog",
          "The stdio server runs with the owner key, so its graph tools can read any project in the store unless an HTTP key is scoped",
          "SDKs are source-only, no llms.txt, and the Windows build is an unsigned preview",
          "The cargo-deny licence and advisory job failed on main on 15 October, and later runs couldn't be read"
        ],
        "agentNotes": [
          "Call `recall_project` with a `max_tokens` budget, then `read_project_source` with the cited id and byte offset to continue a cut excerpt",
          "Use `query_graph`, `get_neighbors` and `shortest_path` for structure questions, and pass `repo` to reach another synced project",
          "Treat proposed memories as drafts. They are not served until a person approves them in `graphicle open` under Memory",
          "Ask the user before running `graphicle setup`, which edits agent settings, AGENTS.md and Git hooks, and use `graphicle disconnect` to undo it",
          "Run `graphicle sync` once after each upgrade, as the changelog's After upgrading sections say, or answers read a stale graph"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.6
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 83,
          "payments": 60,
          "reliability": 63,
          "schema": 83,
          "security": 67,
          "transparency": 71
        },
        "provenanceScore": 70,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "brew install graphicle-ai/tap/graphicle \u0026\u0026 cd your-repo \u0026\u0026 graphicle setup",
        "claudeCode": "graphicle sync . \u0026\u0026 graphicle connect claude-code",
        "config": {
          "mcpServers": {
            "graphicle": {
              "args": [
                "mcp",
                "--project",
                "PROJECT_ID"
              ],
              "command": "/full/path/to/graphicle"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/memory.search",
        "tool": "https://letme.dev/graphicle"
      },
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "KarLex AI, Inc.",
        "domain": "karlex.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://www.karlex.ai/legal/terms",
        "privacy": "https://www.karlex.ai/legal/privacy",
        "statusPage": "",
        "changelog": "https://github.com/Graphicle-AI/graphicle/blob/main/CHANGELOG.md",
        "securityTxt": "valid",
        "checked": "2026-11-01",
        "notes": [
          "The README and LICENSE read Copyright 2026 KarLex AI, Inc. karlex.ai names KarLex AI as the company behind Graphicle and links the graphicle-ai GitHub organisation, created on 29 September 2026.",
          "The terms of use and privacy policy at karlex.ai are dated 14 March 2025 and cover the website and its accounts, not the Graphicle software, which runs on the user's machine.",
          "karlex.ai/.well-known/security.txt names security@karlexai.com and expires on 7 April 2027 (read 15 October and 1 November 2026). karlexai.com redirects to karlex.ai; RDAP at Verisign gives karlexai.com a registration date of 20 December 2023. The .ai registration date was not read.",
          "karlex.ai's robots.txt allows all crawlers.",
          "The software runs on the owner's machine, so there is no vendor endpoint or status page to check."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/graphicle.json",
      "live": {
        "slug": "graphicle",
        "versions": [
          {
            "registry": "github",
            "name": "Graphicle-AI/graphicle",
            "version": "v0.1.13",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:30:59.219907862Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.Graphicle-AI/graphicle",
            "version": "0.1.13",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          }
        ],
        "githubStars": 512,
        "securityTxt": {
          "url": "https://karlex.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-04-07T00:00:00.000Z",
          "checkedAt": "2026-11-07T15:59:37.856277688Z"
        },
        "domain": {
          "domain": "karlex.ai",
          "registered": "2024-12-13",
          "source": "https://rdap.identitydigital.services/rdap/domain/karlex.ai",
          "checkedAt": "2026-11-01T14:21:47.881801594Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/Graphicle-AI/graphicle/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:18:25.28570247Z",
            "changedAt": "2026-11-06T13:39:53.714700493Z",
            "fingerprint": "7a259e868f65"
          },
          {
            "url": "https://www.karlex.ai/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:24.94817621Z",
            "changedAt": "2026-11-03T08:07:25.33015972Z",
            "fingerprint": "5b2acb85b3e1"
          },
          {
            "url": "https://www.karlex.ai/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:30:27.273112741Z",
            "changedAt": "2026-11-03T08:07:27.759298262Z",
            "fingerprint": "ed3a9743533c"
          }
        ],
        "github": {
          "repo": "graphicle-ai/graphicle",
          "checkedAt": "2026-11-02T08:52:52.558134257Z",
          "stars": 492,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T08:20:42Z",
          "openIssues": 4,
          "openPRs": 0,
          "issuesOpened90d": 7,
          "issuesClosed90d": 3,
          "prsMerged90d": 10,
          "ci": {
            "branch": "main",
            "runs": 32,
            "success": 19,
            "failure": 11,
            "other": 2,
            "latest": "failure",
            "latestAt": "2026-11-02T08:49:37Z"
          },
          "replies": {
            "sampled": 5,
            "unanswered": 0,
            "medianDays": 0.2
          }
        },
        "updatedAt": "2026-11-07T18:16:28.95801333Z"
      }
    },
    "answer": "Graphicle scores 70.6 (BB) on agent readiness against MemMachine's 58 (C), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "memmachine",
      "name": "MemMachine",
      "vendor": "MemVerge, Inc.",
      "vendorUrl": "https://memmachine.ai",
      "kind": "http-api",
      "category": "agent-memory",
      "summary": "MemMachine is an open-source long-term memory layer for AI agents, incubated by MemVerge, with episodic, profile and working memory behind a self-hosted REST server, Python and TypeScript clients and an MCP server, plus a hosted platform.",
      "url": "https://www.anchorterminal.com/tools/memmachine",
      "markdownUrl": "https://www.anchorterminal.com/tools/memmachine.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/memmachine.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/memmachine.json",
      "dns": "memmachine.grade.anchorterminal.com",
      "repo": "https://github.com/MemMachine/MemMachine",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "stdio",
        "streamable-http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "memmachine-server"
        },
        {
          "registry": "pypi",
          "name": "memmachine-client"
        },
        {
          "registry": "npm",
          "name": "@memmachine/client"
        }
      ],
      "auth": "none",
      "authNotes": "The self-hosted server takes no credential; the owner supplies LLM and embedding keys (OpenAI, Bedrock or Ollama) in its config. The hosted MemMachine Platform at api.memmachine.ai uses a bearer API key created and revoked in the console after a browser signup.",
      "pricing": "freemium",
      "pricingNotes": "Free under Apache-2.0 to self-host, with model costs paid to the chosen provider. The hosted platform has a free account per the README, but no prices were found, and the terms bill hosted services by order, monthly or annually.",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the repository, the OpenAPI documents or the docs (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": 3085,
        "npmWeekly": 28,
        "pypiWeekly": 581,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.memmachine.ai",
      "llmsTxt": "https://docs.memmachine.ai/llms.txt",
      "openapi": "https://github.com/MemMachine/MemMachine/blob/main/docs/openapi.json",
      "capabilities": [
        "memory.store",
        "memory.search",
        "memory.user",
        "memory.graph",
        "memory.delete"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "hosted",
        "apache-2.0",
        "python",
        "typescript",
        "docker",
        "mcp",
        "openapi",
        "llms-txt",
        "no-auth",
        "pre-1.0"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58,
        "grade": "C",
        "agentReady": false,
        "rank": 767,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 83,
          "payments": 40,
          "reliability": 51,
          "schema": 79,
          "security": 41,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Self-hosted memory for agent frameworks that want episodic and profile memory with many integrations.",
        "strengths": [
          "Apache-2.0 server and clients on PyPI, npm and Docker, self-hostable with Ollama or AWS Bedrock",
          "OpenAPI documents for the server (54 operations) and the hosted platform (12), every operation described",
          "MCP server over stdio or HTTP with three tools, add_memory, search_memory and delete_memory",
          "SECURITY.md with private reporting and a two-business-day acknowledgement, plus security-audit and SBOM workflows",
          "Hosted platform terms commit to 99.5% availability"
        ],
        "weaknesses": [
          "Version 0.4.0 of 6 October 2026, pre-1.0, with no changelog file in the repository",
          "The self-hosted server has no authentication and no security scheme in its OpenAPI document",
          "The README's quick start imports with `from memmachine_client import import MemMachineClient`, which is invalid Python",
          "292 open issues and pull requests, including recent reports that a provider 429 becomes a 500 and that a 0.4.0 config no longer starts",
          "No prices for the hosted platform, and the Enterprise edition is marked coming soon"
        ],
        "agentNotes": [
          "Import with `from memmachine_client import MemMachineClient`; the README line has a doubled `import`",
          "Keep the server on a private network or put an authenticating proxy in front, since it accepts any caller",
          "Scope every call with org, project, group, agent, user and session ids so memories don't mix",
          "Retry search after a short wait on 500s, which a recent issue ties to upstream provider rate limits",
          "Treat recalled episodes as untrusted text from past conversations"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 83,
          "payments": 40,
          "reliability": 51,
          "schema": 79,
          "security": 41,
          "transparency": 55
        },
        "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 memmachine-server memmachine-client",
        "http": "curl http://localhost:8080/api/v2/health"
      },
      "letme": {
        "capability": "https://letme.dev/memory.store",
        "tool": "https://letme.dev/memmachine"
      },
      "area": "agent-runtime",
      "provenance": {
        "legalEntity": "MemVerge, Inc.",
        "domain": "memmachine.ai",
        "domainRegistered": "2025-08-15",
        "endpointOnVendorDomain": null,
        "terms": "https://memmachine.ai/terms-of-service/",
        "privacy": "https://memmachine.ai/privacy-policy/",
        "statusPage": "",
        "changelog": "https://github.com/MemMachine/MemMachine/releases",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms name MemVerge, Inc., under California law, with no last-updated date shown. They forbid web scraping or harvesting data from the services, recorded here as a fact. The open-source software is Apache-2.0 and outside the terms.",
          "memmachine.ai/robots.txt allows all crawlers. docs.memmachine.ai carries Content-Signal ai-input=yes.",
          "RDAP gives memmachine.ai a registration date of 15 August 2025.",
          "/.well-known/security.txt returns 404. No status page found."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/memmachine.json",
      "live": {
        "slug": "memmachine",
        "versions": [
          {
            "registry": "github",
            "name": "MemMachine/MemMachine",
            "version": "v0.4.0",
            "released": "2026-10-08",
            "seenAt": "2026-11-06T23:43:57.45502049Z"
          },
          {
            "registry": "npm",
            "name": "@memmachine/client",
            "version": "0.3.9",
            "seenAt": "2026-11-06T23:43:56.945798416Z"
          },
          {
            "registry": "pypi",
            "name": "memmachine-client",
            "version": "0.4.0",
            "released": "2026-10-08",
            "seenAt": "2026-11-06T23:43:55.050118334Z"
          },
          {
            "registry": "pypi",
            "name": "memmachine-server",
            "version": "0.4.0",
            "released": "2026-10-08",
            "seenAt": "2026-11-06T23:43:54.864236924Z"
          }
        ],
        "githubStars": 3085,
        "npmWeekly": 28,
        "pypiWeekly": 54,
        "securityTxt": {
          "url": "https://memmachine.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:09.818703565Z"
        },
        "llmsTxt": {
          "url": "https://docs.memmachine.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:59.84146138Z"
        },
        "pages": [
          {
            "url": "https://memmachine.ai/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:14:11.012100581Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "19edc6281451"
          },
          {
            "url": "https://memmachine.ai/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:14:13.19202427Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "079364130152"
          }
        ],
        "updatedAt": "2026-11-07T16:00:09.818703565Z"
      }
    },
    "edges": [
      {
        "by": 26,
        "category": "security",
        "leads": "graphicle",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Read with the API checklist for a server the owner runs, as for Cognee and Graphiti. Over HTTP each person or agent gets its own key with a role, optional expiry and optional project list, stored as a hash, revocable, and sent in a header with the docs saying never in the URL. The stdio server runs with the owner key, which can read every project, and its graph tools take `repo` to reach other projects (24 of 30). The MCP server has no delete or command tool, agent writes are drafts that a person approves, and `--tools` and per-key project revocation narrow access. No approval step is needed because nothing destructive is exposed (18 of 20). Recall returns documents, connector content and captured sessions, which can carry injected text. Server instructions say memory is evidence, not tool permission, drafts need verbatim quotes, and capture redacts credentials and drops `\u003cprivate\u003e` spans. No general prompt-injection guidance found (9 of 15). Workspace usage counters, `workflow_status` and hash-chained deletion receipts, while the team audit trail belongs to the commercial edition (6 of 15). SECURITY.md with private reporting through GitHub advisories, a security.txt at karlex.ai valid to 7 April 2027 (re-read on 1 November), a cargo-deny advisory check in CI that failed on 15 October, and `### Security` sections in the 0.1.6 and 0.1.7 changelog entries. No bug bounty or certification, and the changelog names no advisory for the 0.1.7 fixes (10 of 20). 24+18+9+6+10 = 67.",
          "b": "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."
        },
        "scores": {
          "a": 67,
          "b": 41
        }
      },
      {
        "by": 20,
        "category": "ergonomics",
        "leads": "graphicle",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "25 tools with memory proposals on, about 24,600 characters of definitions in the v0.1.10 fixture (15). `--tools essentials` serves five tools (`recall_project`, `read_project_source`, `query_graph`, `get_node`, `get_neighbors`, about 7,400 characters) and is what `graphicle setup` gives Claude Code; `--tools graph` or `--tools memory` serves one half, and leaving out `--allow-learning` leaves only read tools plus `graph_link` (10 added back, up from 7 on 15 October, for the essentials set). `recall_project` takes `max_tokens` or `max_chars`, `include` prefixes and `skip_shown`, `query_graph` takes `token_budget` and `depth`, and `list_projects` pages with `offset` and `limit` (20). Over-limit projects are refused with a message naming the limit and its setting, 409 marks a stale revision and 429 carries Retry-After, and since 0.1.7 the Python SDK keeps `retry_after` on its error. MCP error shapes are not documented (12 of 20). 21 tools carry readOnlyHint true and 4 false, all with idempotentHint true and destructiveHint false, there are no destructive tools, and `propose_memory` requires an `idempotency_key` that replays the same proposal (20). Only `question` is required on recall and graph queries. Python and TypeScript SDKs exist, at 0.1.10, but install only from source (8 of 15). 25+20+12+20+8 = 85.",
          "b": "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."
        },
        "scores": {
          "a": 85,
          "b": 65
        }
      },
      {
        "by": 20,
        "category": "payments",
        "leads": "graphicle",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No payment protocol (0). Read with the self-hosted rule. Free under Apache-2.0 with nothing to buy (20). No card or account (20). An agent can install it and run `graphicle setup --yes` with no signup, as the README suggests (20). The commercial team edition is still in private preview with no prices on karlex.ai on 1 November, so there is no paid option to score. 0+20+20+20 = 60.",
          "b": "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."
        },
        "scores": {
          "a": 60,
          "b": 40
        }
      },
      {
        "by": 14,
        "category": "transparency",
        "leads": "graphicle",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Apache-2.0 with NOTICE files that credit Graphify and every adapted project (30). The README privacy section and the FAQ list every case in which the program uses the network, say there is no telemetry or account, and keep data in one SQLite store with deletion receipts. A grep of the source for outbound hosts found only model providers, connectors and GitHub, which agrees. The karlex.ai privacy policy of 14 March 2025 covers the website, not the software (20 of 30). SECURITY.md lists supported versions. No deprecation policy (3 of 20). No telemetry to opt out of, and the network cases are disclosed, with `freshness off` and `--code-only` to limit them (18 of 20). 30+20+3+18 = 71.",
          "b": "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."
        },
        "scores": {
          "a": 71,
          "b": 57
        }
      },
      {
        "by": 12,
        "category": "reliability",
        "leads": "graphicle",
        "name": "Reliability",
        "reasons": {
          "a": "Read as local software. Installs from an official Homebrew tap, an install script that checks each archive's SHA-256, or release archives, with macOS and Linux (glibc) on arm64 and x86_64 stated, and since 0.1.5 a Windows preview build that isn't code-signed. No language package registry (20). A public CI workflow formats, lints and tests each of the three crates on macOS and Linux. On 15 October every test job passed on both pushes to main and the cargo-deny job for licences, advisories and sources failed; 0.1.7 (25 October) replaced a yanked crate that cargo-deny warned about, but GitHub's Actions pages weren't readable on 1 November, so the runs are per the 15 October check (18). Outside reports and fixes have been handled in releases (issue #8 on kubernetes speed, pull requests #9 and #10 in 0.1.6 and 0.1.7), but the open issue list couldn't be read on 1 November, so the record is still too thin to judge (15). A dated changelog with eleven releases, each with an \"After upgrading\" section that names the steps a release needs (re-sync, memories that go stale), but large additions and stored-data changes ship in 0.1.x patch bumps (10). Version 0.1.10, not declared stable (0). 20+18+15+10+0 = 63.",
          "b": "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."
        },
        "scores": {
          "a": 63,
          "b": 51
        }
      }
    ],
    "facts": [
      {
        "a": "MCP server",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "KarLex AI, Inc.",
        "b": "MemVerge, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "stdio, Streamable HTTP",
        "b": "HTTP, stdio, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "25",
        "b": "3",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.Graphicle-AI/graphicle",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-30",
        "b": "2026-10-08",
        "name": "Last release"
      },
      {
        "a": "2025-03-14",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2025-03-14",
        "b": "2026-05-20",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "144 stars",
        "b": "3.1k stars, 28 npm/wk, 581 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.8/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Graphicle scores 70.6 (BB) on agent readiness against MemMachine's 58 (C), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Graphicle or MemMachine?"
      },
      {
        "answer": "Graphicle takes an API key or an OAuth sign-in. MemMachine needs no key.",
        "question": "Do Graphicle and MemMachine need an API key?"
      },
      {
        "answer": "Graphicle runs on your own machine, with no hosted endpoint listed. MemMachine runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Graphicle and MemMachine without installing anything?"
      },
      {
        "answer": "Yes. Graphicle is open source (Apache-2.0). MemMachine is open source (Apache-2.0).",
        "question": "Are Graphicle and MemMachine open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 63 against 51",
          "Agent ergonomics, 85 against 65",
          "Security \u0026 auth, 67 against 41",
          "Payments \u0026 pricing, 60 against 40",
          "Transparency \u0026 trust, 71 against 57"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card"
        ],
        "goodFor": "A developer who wants one local tool that gives Claude Code, Codex or Cursor both code structure and project memory with citations.",
        "slug": "graphicle",
        "watchFor": "Version 0.1.10, about two weeks old, with stored-data changes shipped in patch releases"
      },
      {
        "aheadOn": null,
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "Self-hosted memory for agent frameworks that want episodic and profile memory with many integrations.",
        "slug": "memmachine",
        "watchFor": "Version 0.4.0 of 6 October 2026, pre-1.0, with no changelog file in the repository"
      }
    ],
    "history": {
      "graphicle": [
        {
          "causes": [
            "product",
            "correction",
            "event"
          ],
          "date": "2026-11-01",
          "delta": 0.5,
          "from": 70.1,
          "fromGrade": "BB",
          "to": 70.6,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.3,
          "from": 69.8,
          "fromGrade": "B",
          "to": 70.1,
          "toGrade": "BB"
        }
      ],
      "memmachine": null
    },
    "job": {
      "capability": "memory.search",
      "name": "Memory search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-memory-vs-graphicle.json",
        "title": "Amazon Bedrock AgentCore Memory vs Graphicle",
        "url": "https://www.anchorterminal.com/compare/agentcore-memory-vs-graphicle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentcore-memory-vs-memmachine.json",
        "title": "Amazon Bedrock AgentCore Memory vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/agentcore-memory-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-graphicle.json",
        "title": "Basic Memory vs Graphicle",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-graphicle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basic-memory-vs-memmachine.json",
        "title": "Basic Memory vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/basic-memory-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-mem-vs-graphicle.json",
        "title": "claude-mem vs Graphicle",
        "url": "https://www.anchorterminal.com/compare/claude-mem-vs-graphicle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-mem-vs-memmachine.json",
        "title": "claude-mem vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/claude-mem-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cognee-vs-graphicle.json",
        "title": "Cognee vs Graphicle",
        "url": "https://www.anchorterminal.com/compare/cognee-vs-graphicle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cognee-vs-memmachine.json",
        "title": "Cognee vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/cognee-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/everos-vs-graphicle.json",
        "title": "EverOS vs Graphicle",
        "url": "https://www.anchorterminal.com/compare/everos-vs-graphicle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/everos-vs-memmachine.json",
        "title": "EverOS vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/everos-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-memory-bank-vs-graphicle.json",
        "title": "Agent Platform Memory Bank vs Graphicle",
        "url": "https://www.anchorterminal.com/compare/google-memory-bank-vs-graphicle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-memory-bank-vs-memmachine.json",
        "title": "Agent Platform Memory Bank vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/google-memory-bank-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphiti-vs-memmachine.json",
        "title": "Graphiti vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/graphiti-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hindsight-vs-memmachine.json",
        "title": "Hindsight vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/hindsight-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/honcho-vs-memmachine.json",
        "title": "Honcho vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/honcho-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hy-memory-vs-memmachine.json",
        "title": "Hy Memory vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/hy-memory-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langmem-vs-memmachine.json",
        "title": "LangMem vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/langmem-vs-memmachine"
      },
      {
        "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/mem0-vs-memmachine.json",
        "title": "Mem0 Platform + MCP vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/mem0-vs-memmachine"
      },
      {
        "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/memmachine-vs-memory-reference-server.json",
        "title": "MemMachine vs Memory (MCP reference server)",
        "url": "https://www.anchorterminal.com/compare/memmachine-vs-memory-reference-server"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memmachine-vs-mempalace.json",
        "title": "MemMachine vs MemPalace",
        "url": "https://www.anchorterminal.com/compare/memmachine-vs-mempalace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memmachine-vs-past-dev.json",
        "title": "MemMachine vs past.dev",
        "url": "https://www.anchorterminal.com/compare/memmachine-vs-past-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memmachine-vs-supermemory.json",
        "title": "MemMachine vs Supermemory API + MCP",
        "url": "https://www.anchorterminal.com/compare/memmachine-vs-supermemory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memmachine-vs-tencentdb-agent-memory.json",
        "title": "MemMachine vs TencentDB Agent Memory",
        "url": "https://www.anchorterminal.com/compare/memmachine-vs-tencentdb-agent-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memmachine-vs-tokenrip.json",
        "title": "MemMachine vs Tokenrip",
        "url": "https://www.anchorterminal.com/compare/memmachine-vs-tokenrip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/memmachine-vs-zep.json",
        "title": "MemMachine vs Zep",
        "url": "https://www.anchorterminal.com/compare/memmachine-vs-zep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-memory-vs-graphicle.json",
        "title": "AI Memory vs Graphicle",
        "url": "https://www.anchorterminal.com/compare/ai-memory-vs-graphicle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ai-memory-vs-memmachine.json",
        "title": "AI Memory vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/ai-memory-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-graphicle.json",
        "title": "Context Mode Engine vs Graphicle",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-graphicle"
      },
      {
        "json": "https://www.anchorterminal.com/compare/context-mode-vs-memmachine.json",
        "title": "Context Mode Engine vs MemMachine",
        "url": "https://www.anchorterminal.com/compare/context-mode-vs-memmachine"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-graphiti.json",
        "title": "Graphicle vs Graphiti",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-graphiti"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-hindsight.json",
        "title": "Graphicle vs Hindsight",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-hindsight"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-honcho.json",
        "title": "Graphicle vs Honcho",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-honcho"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-hy-memory.json",
        "title": "Graphicle vs Hy Memory",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-hy-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-khoj.json",
        "title": "Graphicle vs Khoj",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-khoj"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-langmem.json",
        "title": "Graphicle vs LangMem",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-langmem"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-mem0.json",
        "title": "Graphicle vs Mem0 Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-mem0"
      },
      {
        "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/graphicle-vs-mempalace.json",
        "title": "Graphicle vs MemPalace",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-mempalace"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-past-dev.json",
        "title": "Graphicle vs past.dev",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-past-dev"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-supermemory.json",
        "title": "Graphicle vs Supermemory API + MCP",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-supermemory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-tencentdb-agent-memory.json",
        "title": "Graphicle vs TencentDB Agent Memory",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-tencentdb-agent-memory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-tokenrip.json",
        "title": "Graphicle vs Tokenrip",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-tokenrip"
      },
      {
        "json": "https://www.anchorterminal.com/compare/graphicle-vs-zep.json",
        "title": "Graphicle vs Zep",
        "url": "https://www.anchorterminal.com/compare/graphicle-vs-zep"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 12,
        "edge": "graphicle",
        "graphicle": 63,
        "key": "reliability",
        "memmachine": 51,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "graphicle",
        "graphicle": 83,
        "key": "schema",
        "memmachine": 79,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 20,
        "edge": "graphicle",
        "graphicle": 85,
        "key": "ergonomics",
        "memmachine": 65,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 26,
        "edge": "graphicle",
        "graphicle": 67,
        "key": "security",
        "memmachine": 41,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 20,
        "edge": "graphicle",
        "graphicle": 60,
        "key": "payments",
        "memmachine": 40,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "graphicle": 83,
        "key": "maintenance",
        "memmachine": 83,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 14,
        "edge": "graphicle",
        "graphicle": 71,
        "key": "transparency",
        "memmachine": 57,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Graphicle scores 70.6 (BB) on agent readiness against MemMachine's 58 (C), and leads in 6 of 7 scored categories. Both do memory search.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "graphicle": "One local program gives a coding agent a code graph and project memory through typed, annotated MCP tools that return cited excerpts within a token budget, with agent-written memories held for human approval. It reached 0.1.10 in sixteen days, its SDKs aren't on any registry, and 0.1.7 fixed symlink file overwrites disclosed only in its changelog.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/graphicle-vs-memmachine",
    "json": "https://www.anchorterminal.com/compare/graphicle-vs-memmachine.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/graphicle-vs-memmachine.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/graphicle-vs-memmachine.min.md"
  },
  "markdown": "Graphicle scores 70.6 (BB) on agent readiness against MemMachine's 58 (C), and leads in 6 of 7 scored categories. Both do memory search.\n\n- Graphicle: grade BB, 70.6/100, rank #192 of 1486. Markdown https://www.anchorterminal.com/tools/graphicle.md · JSON https://www.anchorterminal.com/api/v1/tools/graphicle.json\n- 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\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### Graphicle (BB)\n\nGood for: A developer who wants one local tool that gives Claude Code, Codex or Cursor both code structure and project memory with citations.\n\nAhead on:\n- Reliability, 63 against 51\n- Agent ergonomics, 85 against 65\n- Security \u0026 auth, 67 against 41\n- Payments \u0026 pricing, 60 against 40\n- Transparency \u0026 trust, 71 against 57\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n\nWatch for: Version 0.1.10, about two weeks old, with stored-data changes shipped in patch releases\n\n### MemMachine (C)\n\nGood for: Self-hosted memory for agent frameworks that want episodic and profile memory with many integrations.\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: Version 0.4.0 of 6 October 2026, pre-1.0, with no changelog file in the repository\n\n\n## Why the edge\n\n### Security \u0026 auth: Graphicle +26\n\n- Graphicle (67): Read with the API checklist for a server the owner runs, as for Cognee and Graphiti. Over HTTP each person or agent gets its own key with a role, optional expiry and optional project list, stored as a hash, revocable, and sent in a header with the docs saying never in the URL. The stdio server runs with the owner key, which can read every project, and its graph tools take `repo` to reach other projects (24 of 30). The MCP server has no delete or command tool, agent writes are drafts that a person approves, and `--tools` and per-key project revocation narrow access. No approval step is needed because nothing destructive is exposed (18 of 20). Recall returns documents, connector content and captured sessions, which can carry injected text. Server instructions say memory is evidence, not tool permission, drafts need verbatim quotes, and capture redacts credentials and drops `\u003cprivate\u003e` spans. No general prompt-injection guidance found (9 of 15). Workspace usage counters, `workflow_status` and hash-chained deletion receipts, while the team audit trail belongs to the commercial edition (6 of 15). SECURITY.md with private reporting through GitHub advisories, a security.txt at karlex.ai valid to 7 April 2027 (re-read on 1 November), a cargo-deny advisory check in CI that failed on 15 October, and `### Security` sections in the 0.1.6 and 0.1.7 changelog entries. No bug bounty or certification, and the changelog names no advisory for the 0.1.7 fixes (10 of 20). 24+18+9+6+10 = 67.\n- 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.\n\n### Agent ergonomics: Graphicle +20\n\n- Graphicle (85): 25 tools with memory proposals on, about 24,600 characters of definitions in the v0.1.10 fixture (15). `--tools essentials` serves five tools (`recall_project`, `read_project_source`, `query_graph`, `get_node`, `get_neighbors`, about 7,400 characters) and is what `graphicle setup` gives Claude Code; `--tools graph` or `--tools memory` serves one half, and leaving out `--allow-learning` leaves only read tools plus `graph_link` (10 added back, up from 7 on 15 October, for the essentials set). `recall_project` takes `max_tokens` or `max_chars`, `include` prefixes and `skip_shown`, `query_graph` takes `token_budget` and `depth`, and `list_projects` pages with `offset` and `limit` (20). Over-limit projects are refused with a message naming the limit and its setting, 409 marks a stale revision and 429 carries Retry-After, and since 0.1.7 the Python SDK keeps `retry_after` on its error. MCP error shapes are not documented (12 of 20). 21 tools carry readOnlyHint true and 4 false, all with idempotentHint true and destructiveHint false, there are no destructive tools, and `propose_memory` requires an `idempotency_key` that replays the same proposal (20). Only `question` is required on recall and graph queries. Python and TypeScript SDKs exist, at 0.1.10, but install only from source (8 of 15). 25+20+12+20+8 = 85.\n- 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.\n\n### Payments \u0026 pricing: Graphicle +20\n\n- Graphicle (60): No payment protocol (0). Read with the self-hosted rule. Free under Apache-2.0 with nothing to buy (20). No card or account (20). An agent can install it and run `graphicle setup --yes` with no signup, as the README suggests (20). The commercial team edition is still in private preview with no prices on karlex.ai on 1 November, so there is no paid option to score. 0+20+20+20 = 60.\n- 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.\n\n### Transparency \u0026 trust: Graphicle +14\n\n- Graphicle (71): Apache-2.0 with NOTICE files that credit Graphify and every adapted project (30). The README privacy section and the FAQ list every case in which the program uses the network, say there is no telemetry or account, and keep data in one SQLite store with deletion receipts. A grep of the source for outbound hosts found only model providers, connectors and GitHub, which agrees. The karlex.ai privacy policy of 14 March 2025 covers the website, not the software (20 of 30). SECURITY.md lists supported versions. No deprecation policy (3 of 20). No telemetry to opt out of, and the network cases are disclosed, with `freshness off` and `--code-only` to limit them (18 of 20). 30+20+3+18 = 71.\n- 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.\n\n### Reliability: Graphicle +12\n\n- Graphicle (63): Read as local software. Installs from an official Homebrew tap, an install script that checks each archive's SHA-256, or release archives, with macOS and Linux (glibc) on arm64 and x86_64 stated, and since 0.1.5 a Windows preview build that isn't code-signed. No language package registry (20). A public CI workflow formats, lints and tests each of the three crates on macOS and Linux. On 15 October every test job passed on both pushes to main and the cargo-deny job for licences, advisories and sources failed; 0.1.7 (25 October) replaced a yanked crate that cargo-deny warned about, but GitHub's Actions pages weren't readable on 1 November, so the runs are per the 15 October check (18). Outside reports and fixes have been handled in releases (issue #8 on kubernetes speed, pull requests #9 and #10 in 0.1.6 and 0.1.7), but the open issue list couldn't be read on 1 November, so the record is still too thin to judge (15). A dated changelog with eleven releases, each with an \"After upgrading\" section that names the steps a release needs (re-sync, memories that go stale), but large additions and stored-data changes ship in 0.1.x patch bumps (10). Version 0.1.10, not declared stable (0). 20+18+15+10+0 = 63.\n- 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.\n\n## Score by category\n\n| Category | Weight | Graphicle | MemMachine | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 51 | Graphicle +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 79 | Graphicle +4 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 65 | Graphicle +20 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 41 | Graphicle +26 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 40 | Graphicle +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 83 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 57 | Graphicle +14 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **70.6 · BB** | **58 · C** | |\n\n## Facts side by side\n\n| Fact | Graphicle | MemMachine |\n| --- | --- | --- |\n| Kind | MCP server | HTTP API |\n| Vendor | KarLex AI, Inc. | MemVerge, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | stdio, Streamable HTTP | HTTP, stdio, Streamable HTTP |\n| Auth | OAuth or key | None |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 |\n| Tools exposed | 25 | 3 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | `io.github.Graphicle-AI/graphicle` | not listed |\n| Last release | 2026-10-30 | 2026-10-08 |\n| Terms last updated | 2025-03-14 | no date given |\n| Privacy policy last updated | 2025-03-14 | 2026-05-20 |\n| Customer content may train models | yes, with an opt-out | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 144 stars | 3.1k stars, 28 npm/wk, 581 PyPI/wk |\n| Agent reviews | 3.8/5 (4) | none |\n\n## How the scores have moved\n\n### Graphicle\n\n- +0.5 on 1 November 2026: product, correction, negative event\n- +0.3 on 27 October 2026 (B to BB): checklist\n\n### MemMachine\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Graphicle.** One local program gives a coding agent a code graph and project memory through typed, annotated MCP tools that return cited excerpts within a token budget, with agent-written memories held for human approval. It reached 0.1.10 in sixteen days, its SDKs aren't on any registry, and 0.1.7 fixed symlink file overwrites disclosed only in its changelog.\n\n**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.\n\n## Before you call either\n\n### Graphicle\n\n1. Call `recall_project` with a `max_tokens` budget, then `read_project_source` with the cited id and byte offset to continue a cut excerpt\n2. Use `query_graph`, `get_neighbors` and `shortest_path` for structure questions, and pass `repo` to reach another synced project\n3. Treat proposed memories as drafts. They are not served until a person approves them in `graphicle open` under Memory\n4. Ask the user before running `graphicle setup`, which edits agent settings, AGENTS.md and Git hooks, and use `graphicle disconnect` to undo it\n5. Run `graphicle sync` once after each upgrade, as the changelog's After upgrading sections say, or answers read a stale graph\n\n### MemMachine\n\n1. Import with `from memmachine_client import MemMachineClient`; the README line has a doubled `import`\n2. Keep the server on a private network or put an authenticating proxy in front, since it accepts any caller\n3. Scope every call with org, project, group, agent, user and session ids so memories don't mix\n4. Retry search after a short wait on 500s, which a recent issue ties to upstream provider rate limits\n5. Treat recalled episodes as untrusted text from past conversations\n\n## Questions\n\n### Which is better for AI agents, Graphicle or MemMachine?\n\nGraphicle scores 70.6 (BB) on agent readiness against MemMachine's 58 (C), and leads in 6 of 7 scored categories.\n\n### Do Graphicle and MemMachine need an API key?\n\nGraphicle takes an API key or an OAuth sign-in. MemMachine needs no key.\n\n### Can an agent call Graphicle and MemMachine without installing anything?\n\nGraphicle runs on your own machine, with no hosted endpoint listed. MemMachine runs on your own machine, with no hosted endpoint listed.\n\n### Are Graphicle and MemMachine open source?\n\nYes. Graphicle is open source (Apache-2.0). MemMachine is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/graphicle-vs-memmachine.json, and with the fewest tokens: https://www.anchorterminal.com/compare/graphicle-vs-memmachine.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"graphicle\", \"b\": \"memmachine\"}`. From a terminal: `anchor compare graphicle memmachine`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/graphicle.json and https://www.anchorterminal.com/api/v1/tools/memmachine.json\n\n## Other comparisons with Graphicle or MemMachine\n\n- [Amazon Bedrock AgentCore Memory vs Graphicle](https://www.anchorterminal.com/compare/agentcore-memory-vs-graphicle.md)\n- [Amazon Bedrock AgentCore Memory vs MemMachine](https://www.anchorterminal.com/compare/agentcore-memory-vs-memmachine.md)\n- [Basic Memory vs Graphicle](https://www.anchorterminal.com/compare/basic-memory-vs-graphicle.md)\n- [Basic Memory vs MemMachine](https://www.anchorterminal.com/compare/basic-memory-vs-memmachine.md)\n- [claude-mem vs Graphicle](https://www.anchorterminal.com/compare/claude-mem-vs-graphicle.md)\n- [claude-mem vs MemMachine](https://www.anchorterminal.com/compare/claude-mem-vs-memmachine.md)\n- [Cognee vs Graphicle](https://www.anchorterminal.com/compare/cognee-vs-graphicle.md)\n- [Cognee vs MemMachine](https://www.anchorterminal.com/compare/cognee-vs-memmachine.md)\n- [EverOS vs Graphicle](https://www.anchorterminal.com/compare/everos-vs-graphicle.md)\n- [EverOS vs MemMachine](https://www.anchorterminal.com/compare/everos-vs-memmachine.md)\n- [Agent Platform Memory Bank vs Graphicle](https://www.anchorterminal.com/compare/google-memory-bank-vs-graphicle.md)\n- [Agent Platform Memory Bank vs MemMachine](https://www.anchorterminal.com/compare/google-memory-bank-vs-memmachine.md)\n- [Graphiti vs MemMachine](https://www.anchorterminal.com/compare/graphiti-vs-memmachine.md)\n- [Hindsight vs MemMachine](https://www.anchorterminal.com/compare/hindsight-vs-memmachine.md)\n- [Honcho vs MemMachine](https://www.anchorterminal.com/compare/honcho-vs-memmachine.md)\n- [Hy Memory vs MemMachine](https://www.anchorterminal.com/compare/hy-memory-vs-memmachine.md)\n- [LangMem vs MemMachine](https://www.anchorterminal.com/compare/langmem-vs-memmachine.md)\n- [LocalGhost vs MemMachine](https://www.anchorterminal.com/compare/localghost-vs-memmachine.md)\n- [Mem0 Platform + MCP vs MemMachine](https://www.anchorterminal.com/compare/mem0-vs-memmachine.md)\n- [MemMachine vs Memori](https://www.anchorterminal.com/compare/memmachine-vs-memori.md)\n- [MemMachine vs Memory (MCP reference server)](https://www.anchorterminal.com/compare/memmachine-vs-memory-reference-server.md)\n- [MemMachine vs MemPalace](https://www.anchorterminal.com/compare/memmachine-vs-mempalace.md)\n- [MemMachine vs past.dev](https://www.anchorterminal.com/compare/memmachine-vs-past-dev.md)\n- [MemMachine vs Supermemory API + MCP](https://www.anchorterminal.com/compare/memmachine-vs-supermemory.md)\n- [MemMachine vs TencentDB Agent Memory](https://www.anchorterminal.com/compare/memmachine-vs-tencentdb-agent-memory.md)\n- [MemMachine vs Tokenrip](https://www.anchorterminal.com/compare/memmachine-vs-tokenrip.md)\n- [MemMachine vs Zep](https://www.anchorterminal.com/compare/memmachine-vs-zep.md)\n- [AI Memory vs Graphicle](https://www.anchorterminal.com/compare/ai-memory-vs-graphicle.md)\n- [AI Memory vs MemMachine](https://www.anchorterminal.com/compare/ai-memory-vs-memmachine.md)\n- [Context Mode Engine vs Graphicle](https://www.anchorterminal.com/compare/context-mode-vs-graphicle.md)\n- [Context Mode Engine vs MemMachine](https://www.anchorterminal.com/compare/context-mode-vs-memmachine.md)\n- [Graphicle vs Graphiti](https://www.anchorterminal.com/compare/graphicle-vs-graphiti.md)\n- [Graphicle vs Hindsight](https://www.anchorterminal.com/compare/graphicle-vs-hindsight.md)\n- [Graphicle vs Honcho](https://www.anchorterminal.com/compare/graphicle-vs-honcho.md)\n- [Graphicle vs Hy Memory](https://www.anchorterminal.com/compare/graphicle-vs-hy-memory.md)\n- [Graphicle vs Khoj](https://www.anchorterminal.com/compare/graphicle-vs-khoj.md)\n- [Graphicle vs LangMem](https://www.anchorterminal.com/compare/graphicle-vs-langmem.md)\n- [Graphicle vs Mem0 Platform + MCP](https://www.anchorterminal.com/compare/graphicle-vs-mem0.md)\n- [Graphicle vs Memori](https://www.anchorterminal.com/compare/graphicle-vs-memori.md)\n- [Graphicle vs MemPalace](https://www.anchorterminal.com/compare/graphicle-vs-mempalace.md)\n- [Graphicle vs past.dev](https://www.anchorterminal.com/compare/graphicle-vs-past-dev.md)\n- [Graphicle vs Supermemory API + MCP](https://www.anchorterminal.com/compare/graphicle-vs-supermemory.md)\n- [Graphicle vs TencentDB Agent Memory](https://www.anchorterminal.com/compare/graphicle-vs-tencentdb-agent-memory.md)\n- [Graphicle vs Tokenrip](https://www.anchorterminal.com/compare/graphicle-vs-tokenrip.md)\n- [Graphicle vs Zep](https://www.anchorterminal.com/compare/graphicle-vs-zep.md)\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": "Graphicle vs MemMachine",
        "url": ""
      }
    ],
    "description": "Graphicle scores 70.6 (BB) to MemMachine's 58 (C) for memory search. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Graphicle BB 70.6",
      "MemMachine C 58",
      "scores"
    ],
    "h1": "Graphicle vs MemMachine",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/graphicle-vs-memmachine",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Graphicle vs MemMachine for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/graphicle-vs-memmachine"
  },
  "tokens": {
    "markdown": 4900,
    "slim": 2580
  },
  "version": 1
}
