← Back to directory
COMPARE UP TO 4 SERVERS

Compare MCP servers

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

DimensionMemoraPersistent, collective memory for your AI agentsBioMCPOne binary. One grammar. Evidence from the biomedical sources you already trust.
FMRS60 / 100 · C75 / 100 · B
Reliability12 / 2010 / 20
Security and permissions11 / 2016 / 20
Maintenance11 / 2018 / 20
Documentation14 / 2017 / 20
Setup experience12 / 2014 / 20
Best for
  • Development teams using Claude Code, Codex CLI, or other MCP clients that need cross-session memory
  • Users who want to self-host SQLite or sync to Cloudflare D1/R2
  • Long-term memory use cases that need supersession lineage and deduplication rather than append-only text
  • Advanced users willing to configure embedding and LLM providers themselves (OpenAI, OpenRouter, Cloudflare Workers AI, etc.)
  • Biomedical researchers
  • Clinicians
  • AI agents that need efficient access to biomedical literature and data analysis
Not for
  • Users who want a zero-configuration setup — embeddings and the LLM require your own keys and endpoints
  • One-off question-answering tasks that do not need persistent memory
  • Environments that cannot absorb the operational cost of a long-running container or a LaunchAgent-managed proxy
  • Users expecting vendor support or an SLA — the project is community-maintained
  • Users needing to write to upstream databases (read-only)
  • Users requiring direct access to closed datasets (e.g., COSMIC is not directly integrated)
  • Users expecting all advanced features without API keys
Required permissions
  • Local file access: creates and reads/writes a SQLite database file (default ~/.local/share/memora/memories.db) and a cache directory
  • Network access: calls the configured embedding endpoint and LLM endpoint (OpenAI, OpenRouter, Cloudflare Workers AI, etc.)
  • Cloud storage credentials: AWS_PROFILE and AWS_ENDPOINT_URL for S3/R2 sync, or CLOUDFLARE_API_TOKEN for D1
  • Local port binding: the graph server listens on 127.0.0.1:8765 by default; HTTP transport defaults to 127.0.0.1:8000
  • Container deployment requires running Apple's container CLI and installing a LaunchAgent-managed local proxy process
  • Requires internet access to query public biomedical APIs
  • Optional API keys (NCBI, Semantic Scholar, OpenFDA, etc.) to improve rate limits or unlock features
  • Local read/write access for skills, cache, and local study data (e.g., `~/.local/share/biomcp`)
Risks and side effects
  • If the embedding endpoint is misconfigured (for example pointed at OpenRouter), Memora silently falls back to TF-IDF keyword bags unless MEMORA_EMBEDDING_STRICT=1 is set, degrading vector quality while looking healthy
  • A wrong store name in MEMORA_DATABASES is undetectable by errors: reads succeed but writes land in another project's store; verify with the database field from memory_stats
  • Credentials are injected into the process via environment variables; an over-permissive credential file may be readable by other local accounts (the docs recommend chmod 600)
  • Memory content is sent to the configured embedding and LLM providers, which matters for sensitive data
  • The container runtime reassigns the container's IP on every start; connecting directly instead of through the proxy produces a permanent silent hang
  • LLM deduplication and absorb can merge or supersede memories; lineage is preserved, but wrong judgments still affect retrieval results
  • Document fragments are protected by integrity guards, but deleting the whole document deletes every fragment with it
  • Upstream API rate limits may affect performance
  • Some data sources (e.g., KEGG) have licensing terms that restrict non-academic use
  • Features requiring API keys (e.g., OncoKB) may be incomplete without them
  • Local binary installations need regular updates for compatibility
Supported clientsClaude Code, Codex, NeovimClaude Desktop, Claude Code, Codex, Other MCP stdio clients
Tools3111