← Back to directory
COMPARE UP TO 4 SERVERS

Compare MCP servers

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

DimensionAccess MCP ServerManage internal access through MCP.CompartmentEncrypted, fully offline long-term memory for AI agents
FMRS63 / 100 · C75 / 100 · B
Reliability9 / 2012 / 20
Security and permissions15 / 2016 / 20
Maintenance11 / 2014 / 20
Documentation16 / 2018 / 20
Setup experience12 / 2015 / 20
Best for
  • Organizations that need centralized visibility into Okta-related internal access.
  • Teams that want MCP clients to assist with permission discovery and pending request submission.
  • Operators able to configure Cloudflare Access or OIDC for an Access deployment.
  • Individuals or teams who prioritise privacy and offline operation and do not want data leaving the machine
  • Users who share memory across multiple MCP clients such as Claude Code, Claude Desktop, Hermes Agent, OpenClaw, Cursor, Codex and Gemini CLI
  • Scenarios that need encrypted storage, a hash-chained audit log and verifiable vault migration
  • Users who want low-latency recall, a bundled embedding model and no extra LLM calls inside the memory layer
Not for
  • Workflows requiring MCP to approve or reject requests.
  • Workflows requiring direct MCP mutation of groups, roles, or apps.
  • Users without an Access deployment, Okta data, or a supported authentication setup.
  • Users who need cloud multi-device sync or a hosted team memory service; moving between machines means locking the vault and copying the file
  • Users who expect the server itself to run an LLM that extracts facts and decides what to remember; Compartment explicitly keeps no LLM inside and leaves that to the host model
  • Users who cannot keep a passphrase safe or who need a recovery path if it is lost, since Compartment never generates a password, seed or recovery phrase
  • Deployments that require network transports such as SSE or streamable-http; this server is stdio only and opens no ports
Required permissions
  • Access to the Okta API is required; development setup calls for Group Admin and Application Admin roles plus group-management permissions.
  • Production deployments require Cloudflare Access or OIDC authentication.
  • MCP tools require read_all or create_requests scopes, while Access authorization rules still apply to each operation.
  • Read and write the vault file under the user's home directory, by default ~/.compartment/memory.vault, and its sibling settings file
  • Access the session directory holding the unlock credential (configurable with COMPARTMENT_SESSION_DIR), which also carries the shared embedding process's Unix socket
  • Optionally use the macOS keychain (compartment unlock --keychain is an explicit opt-in, and it survives reboots)
  • Write or merge an mcpServers entry into each MCP client's own configuration file, taking a byte-exact backup first
  • Install a PostToolUse hook for Claude Code that captures memory files the agent writes
  • Serve a read-only dashboard on 127.0.0.1 behind a one-time random URL token
Risks and side effects
  • A misconfigured Okta API token may grant excessive group or application administration privileges.
  • Tokens without an explicit scope receive read_all and create_requests by default; operators can configure read-only or fail-closed behavior.
  • Enabling MCP allows authenticated clients to read access data and submit pending requests.
  • Incorrect proxy Host or OIDC callback configuration can create redirect-URI risks; the source recommends ALLOWED_HOSTS and OIDC_OVERWRITE_REDIRECT_URI.
  • A leaked passphrase means the encrypted content can be decrypted; Compartment generates no recovery phrase and cannot recover a lost passphrase
  • Enabling the memory_unlock tool places the passphrase in the model's context, which is why it is off by default
  • If a 2FA keyfile is lost, for example a USB stick, the vault cannot be opened even with the passphrase
  • `export --plaintext` writes the vault as unencrypted JSONL, so that file must be handled carefully
  • Memory content can come from untrusted sources; recall wraps memories with a notice that they are stored data and content can be marked quarantined, but the host agent must still treat memory as data to limit prompt-injection risk
  • The capture hook and client integration write into the user's own settings files, although the implementation backs up and merges rather than replacing
Supported clientsClaude Code, Claude.ai, Cursor, Zed, Self-hosted modelsClaude Desktop, Claude Code, Hermes Agent, OpenClaw, Cursor, VS Code, Codex, Gemini CLI, Cline, Roo Code, Zed, OpenCode, LM Studio, AnythingLLM, BoltAI, Goose, Kiro
Tools314