Shared, verifiable memory for machines and AI. Encode where data lives; decode with any AI.
unavailable — the image reference already carries a tag
Docker
docker run -i --rm ghcr.io/vortx-ai/emem:latestStreamable HTTP
https://emem.dev/mcp
Pick your client — the config below is generated for this server (both local and hosted-endpoint forms). Copy respects the “Pin version” switch above.
claude_desktop_config.json
{
"mcpServers": {
"emem": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/vortx-ai/emem:latest"
]
}
}
}Remote (hosted) endpoint
https://emem.dev/mcp
Claude Desktop: Settings → Connectors → Add custom connector, paste this URL.
Format verified against the official Claude Desktop docs ↗.
terminal
claude mcp add emem -- docker run -i --rm ghcr.io/vortx-ai/emem:latest
terminal
claude mcp add --transport http emem https://emem.dev/mcp
Format verified against the official Claude Code docs ↗.
.cursor/mcp.json
{
"mcpServers": {
"emem": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/vortx-ai/emem:latest"
]
}
}
}.cursor/mcp.json (hosted endpoint)
{
"mcpServers": {
"emem": {
"url": "https://emem.dev/mcp"
}
}
}Format verified against the official Cursor docs ↗.
.vscode/mcp.json
{
"servers": {
"emem": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/vortx-ai/emem:latest"
]
}
}
}.vscode/mcp.json (hosted endpoint)
{
"servers": {
"emem": {
"type": "http",
"url": "https://emem.dev/mcp"
}
}
}Format verified against the official VS Code docs ↗.
mcp_config.json
{
"mcpServers": {
"emem": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/vortx-ai/emem:latest"
]
}
}
}mcp_config.json (hosted endpoint)
{
"mcpServers": {
"emem": {
"serverUrl": "https://emem.dev/mcp"
}
}
}Format verified against the official Windsurf docs ↗.
Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.
PORT — PaaS port convention: the container entrypoint binds 0.0.0.0:$PORT when EMEM_BIND is not set explicitly. Falls back to 5051.EMEM_BIND — Bind address for the HTTP server. When unset, the entrypoint derives it from PORT, falling back to 0.0.0.0:5051.EMEM_DATA — Path to the persistent data directory (sled cache + ed25519 identity). Mount a volume here; on managed platforms that mount /data, set EMEM_DATA=/data.EMEM_PUBLIC_URL — Optional canonical origin for self-referencing URLs in MCP responses (e.g. https://emem.dev). When unset the server falls back to urn:emem.EMEM_TLS_DOMAINS — Comma-separated hostnames for built-in Let's Encrypt ACME (TLS-ALPN-01). When set, the server binds 0.0.0.0:443 instead of EMEM_BIND.⭐ 69 stars · 最近更新于 18 天前 · Apache-2.0 license
Encode where the data lives. Decode with any AI. emem is shared, verifiable memory for machines and AI. The proof travels; the files stay where they are. Try it, no key…
Summary from the project README — github.com/Vortx-AI/emem
Distributed as Docker, Streamable HTTP, listed under Knowledge & Memory. Review our MCP security guide before granting access to real data.
Encode where the data lives. Decode with any AI. emem is shared, verifiable memory for machines and AI. The proof travels; the files stay where they are. Try it, no key
Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.
The MCP server itself is free to install. The source is public on https://github.com/Vortx-AI/emem. Any third-party service it calls may require its own API key and account.
Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.
Publish this server? Link back with a badge on your README or site — copy either snippet.
Markdown
[](https://mcpnav.net/server/emem/)
HTML
<a href="https://mcpnav.net/server/emem/"><img src="https://mcpnav.net/badge/emem.svg" alt="Listed on MCPNav" height="20"></a>