← Back to directory
COMPARE UP TO 4 SERVERS

Compare MCP servers

Compare scores, permissions, risks, and fit in one decision-focused table.

DimensionMARM Memory MCP ServerLocal-first persistent memory and semantic recall for AI agentsGitHub MCP ServerGitHub's official MCP server for managing repos, issues, PRs, and workflows via natural language
FMRS63 / 100 · C76 / 100 · B
Reliability10 / 2013 / 20
Security and permissions11 / 2014 / 20
Maintenance13 / 2018 / 20
Documentation15 / 2017 / 20
Setup experience14 / 2014 / 20
Best for
  • Developers who want memory to stay entirely local instead of depending on a cloud vector database
  • Users who switch between multiple MCP clients and need context to carry over
  • Agent users who need code-structure awareness and change-impact analysis
  • Self-hosters comfortable running a Python package or Docker container
  • Teams that want an AI assistant to directly operate on GitHub repos and collaboration workflows
  • Users already in the GitHub Copilot ecosystem who want a zero-deployment remote option
Not for
  • Teams that require an officially hosted cloud service or SLA
  • Pure API integrations that do not use an MCP client
  • Restricted environments that cannot run local processes or containers
  • Users expecting a fully managed zero-configuration cloud product
  • Scenarios where you don't want the assistant to have write access to repos (enable only read-only toolsets)
  • Environments with strict network isolation for private repos that can't reach the official remote endpoint
Required permissions
  • Read/write access to the local data directory (default ~/.marm/, or %USERPROFILE%\.marm\ on Windows) holding the SQLite memory database, index database, and logs
  • HTTP mode binds to localhost:8001 by default and can be exposed to the network with SERVER_HOST=0.0.0.0
  • Docker deployments need a mounted data volume, and code indexing needs read-only repo mounts
  • Network access on first code-graph use to download the graph engine binary (~269MB, one time)
  • Docker HTTP mode requires a MARM_API_KEY environment variable for Bearer authentication
  • A personal access token (PAT) or OAuth App token; effective scope depends on the token's own permissions
  • Enabling toolsets like actions/issues/pull_requests grants write access — request tokens on a least-privilege basis
Risks and side effects
  • Exposing the HTTP port with SERVER_HOST=0.0.0.0 without a firewall and TLS proxy can leave memory data reachable by unauthorized parties
  • Memories and code index data are stored as plaintext SQLite files that any process able to read the directory can access
  • In Docker, code-graph tools can only see mounted container paths; using host paths causes index failures
  • Enabling write-time consolidation (CONSOLIDATION_ENABLED=1) raises median write cost from about 6.5ms to 58.1ms
  • Recall latency temporarily increases while the concept-graph backlog drains (measured about 8ms to 16ms median on a real corpus)
  • Graph tools degrade with an error if the graph engine fails to start, for example with no network on first download, a full disk, or schema drift
  • Write toolsets (creating/merging PRs, triggering workflows) can cause accidental changes if the token is overscoped — try a read-only toolset first
  • In hosted mode, credentials travel via the Authorization header — make sure the client-to-api.githubcopilot.com connection is trusted
Supported clientsClaude Code, VS Code / GitHub Copilot Agent, Cursor, Codex, Gemini CLI, Qwen Code, xAI / Grok Remote MCPClaude Desktop, Claude Code, VS Code, Cursor, Windsurf, JetBrains IDEs, Zed, Amp
Tools1415