{"servers":[{"server":{"name":"io.github.ayushcodes10/echo-mem","title":"Echo Memory","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://api.echo-mem.com/mcp","type":"streamable-http","headers":[{"name":"Authorization","isSecret":true,"isRequired":true,"description":"Bearer <key>, from https://api.echo-mem.com — the hosted option, which needs no local database."}]}],"version":"0.3.0","packages":[{"version":"0.3.0","transport":{"type":"stdio"},"identifier":"echo-mem","registryType":"pypi","environmentVariables":[{"name":"ECHO_MEMORY_DATABASE_URL","isSecret":true,"isRequired":true,"description":"Postgres connection string. `echo-memory quickstart` starts a suitable database and prints this."},{"name":"ECHO_MEMORY_USER_ID","isRequired":true,"description":"Whose memory this is. Scopes every read and write."},{"name":"ECHO_MEMORY_AGENT_ID","isRequired":true,"description":"Which tool is writing: claude-code, cursor, codex, claude-desktop. Recorded on every fact, and what makes a cross-tool recall visible afterwards."}]}],"repository":{"url":"https://github.com/ayushcodes10/echo-mem","source":"github"},"websiteUrl":"https://echo-mem.com","description":"Shared memory for AI agents, as a graph in your own Postgres. Writes never call an LLM."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-09-12T19:57:28.83446Z","publishedAt":"2026-09-12T19:57:28.83446Z","statusChangedAt":"2026-09-12T19:57:28.83446Z"},"dev.protogrid/connectability":{"class":"R1","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://api.echo-mem.com/mcp","transport":"streamable-http","templated":false,"headers":[{"name":"Authorization","required":true,"secret":true,"value":null,"secret_names":["ECHO_MEM_TOKEN"]}],"auth":{"type":"api_key","location":{"header":"Authorization","scheme":"Bearer"},"secret_name":"ECHO_MEM_TOKEN","oauth":null},"protocol":{"supported_versions":[],"stateless":null},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":805,"consecutive_failures":0,"last_probe_at":"2026-10-19T16:52:52.308Z","last_ok_at":"2026-10-19T16:52:52.308Z"}}],"packages":[{"idx":0,"registry_type":"pypi","identifier":"echo-mem","version":"0.5.3","runtime_hint":null,"transport":"stdio","secrets":["ECHO_MEMORY_DATABASE_URL"],"requires_execution":true}]},"dev.protogrid/trust":{"score":93,"components":{"hygiene":100,"liveness":100,"freshness":100,"provenance":75},"drivers":["+repository","+website","+reachable","+uptime-100%","+updated-23d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-19T21:05:17.094Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."}}},{"server":{"name":"io.github.ayushcodes10/echo-mem","title":"Echo Memory","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://api.echo-mem.com/mcp","type":"streamable-http","headers":[{"name":"Authorization","isSecret":true,"isRequired":true,"description":"Bearer <key>, from https://app.echo-mem.com — the hosted option, which needs no local database."}]}],"version":"0.4.1","packages":[{"version":"0.4.1","transport":{"type":"stdio"},"identifier":"echo-mem","registryType":"pypi","environmentVariables":[{"name":"ECHO_MEMORY_DATABASE_URL","isSecret":true,"isRequired":true,"description":"Postgres connection string. `echo-memory quickstart` starts a suitable database and prints this."},{"name":"ECHO_MEMORY_USER_ID","isRequired":true,"description":"Whose memory this is. Scopes every read and write."},{"name":"ECHO_MEMORY_AGENT_ID","isRequired":true,"description":"Which tool is writing: claude-code, cursor, codex, claude-desktop. Recorded on every fact, and what makes a cross-tool recall visible afterwards."}]}],"repository":{"url":"https://github.com/echo-mem/echo-mem","source":"github"},"websiteUrl":"https://echo-mem.com","description":"Shared memory for AI agents, as a graph in your own Postgres. Writes never call an LLM."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-09-23T06:30:25.261035Z","publishedAt":"2026-09-23T06:30:25.261035Z","statusChangedAt":"2026-09-23T06:30:25.261035Z"},"dev.protogrid/connectability":{"class":"R1","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://api.echo-mem.com/mcp","transport":"streamable-http","templated":false,"headers":[{"name":"Authorization","required":true,"secret":true,"value":null,"secret_names":["ECHO_MEM_TOKEN"]}],"auth":{"type":"api_key","location":{"header":"Authorization","scheme":"Bearer"},"secret_name":"ECHO_MEM_TOKEN","oauth":null},"protocol":{"supported_versions":[],"stateless":null},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":805,"consecutive_failures":0,"last_probe_at":"2026-10-19T16:52:52.308Z","last_ok_at":"2026-10-19T16:52:52.308Z"}}],"packages":[{"idx":0,"registry_type":"pypi","identifier":"echo-mem","version":"0.5.3","runtime_hint":null,"transport":"stdio","secrets":["ECHO_MEMORY_DATABASE_URL"],"requires_execution":true}]},"dev.protogrid/trust":{"score":93,"components":{"hygiene":100,"liveness":100,"freshness":100,"provenance":75},"drivers":["+repository","+website","+reachable","+uptime-100%","+updated-23d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-19T21:05:17.094Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."}}},{"server":{"name":"io.github.ayushcodes10/echo-mem","title":"Echo Memory","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://api.echo-mem.com/mcp","type":"streamable-http","headers":[{"name":"Authorization","isSecret":true,"isRequired":true,"description":"Bearer <key>, from https://app.echo-mem.com — the hosted option, which needs no local database."}]}],"version":"0.5.0","packages":[{"version":"0.5.0","transport":{"type":"stdio"},"identifier":"echo-mem","registryType":"pypi","environmentVariables":[{"name":"ECHO_MEMORY_DATABASE_URL","isSecret":true,"isRequired":true,"description":"Postgres connection string. `echo-memory quickstart` starts a suitable database and prints this."},{"name":"ECHO_MEMORY_USER_ID","isRequired":true,"description":"Whose memory this is. Scopes every read and write."},{"name":"ECHO_MEMORY_AGENT_ID","isRequired":true,"description":"Which tool is writing: claude-code, cursor, codex, claude-desktop. Recorded on every fact, and what makes a cross-tool recall visible afterwards."}]}],"repository":{"url":"https://github.com/echo-mem/echo-mem","source":"github"},"websiteUrl":"https://echo-mem.com","description":"Shared memory for AI agents, as a graph in your own Postgres. Writes never call an LLM."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-09-25T21:04:12.59152Z","publishedAt":"2026-09-25T21:04:12.59152Z","statusChangedAt":"2026-09-25T21:04:12.59152Z"},"dev.protogrid/connectability":{"class":"R1","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://api.echo-mem.com/mcp","transport":"streamable-http","templated":false,"headers":[{"name":"Authorization","required":true,"secret":true,"value":null,"secret_names":["ECHO_MEM_TOKEN"]}],"auth":{"type":"api_key","location":{"header":"Authorization","scheme":"Bearer"},"secret_name":"ECHO_MEM_TOKEN","oauth":null},"protocol":{"supported_versions":[],"stateless":null},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":805,"consecutive_failures":0,"last_probe_at":"2026-10-19T16:52:52.308Z","last_ok_at":"2026-10-19T16:52:52.308Z"}}],"packages":[{"idx":0,"registry_type":"pypi","identifier":"echo-mem","version":"0.5.3","runtime_hint":null,"transport":"stdio","secrets":["ECHO_MEMORY_DATABASE_URL"],"requires_execution":true}]},"dev.protogrid/trust":{"score":93,"components":{"hygiene":100,"liveness":100,"freshness":100,"provenance":75},"drivers":["+repository","+website","+reachable","+uptime-100%","+updated-23d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-19T21:05:17.094Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."}}},{"server":{"name":"io.github.ayushcodes10/echo-mem","title":"Echo Memory","$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","remotes":[{"url":"https://api.echo-mem.com/mcp","type":"streamable-http","headers":[{"name":"Authorization","isSecret":true,"isRequired":true,"description":"Bearer <key>, from https://app.echo-mem.com — the hosted option, which needs no local database."}]}],"version":"0.5.3","packages":[{"version":"0.5.3","transport":{"type":"stdio"},"identifier":"echo-mem","registryType":"pypi","environmentVariables":[{"name":"ECHO_MEMORY_DATABASE_URL","isSecret":true,"isRequired":true,"description":"Postgres connection string. `echo-memory quickstart` starts a suitable database and prints this."},{"name":"ECHO_MEMORY_USER_ID","isRequired":true,"description":"Whose memory this is. Scopes every read and write."},{"name":"ECHO_MEMORY_AGENT_ID","isRequired":true,"description":"Which tool is writing: claude-code, cursor, codex, claude-desktop. Recorded on every fact, and what makes a cross-tool recall visible afterwards."}]}],"repository":{"url":"https://github.com/echo-mem/echo-mem","source":"github"},"websiteUrl":"https://echo-mem.com","description":"Shared memory for AI agents, as a graph in your own Postgres. Writes never call an LLM."},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","isLatest":true,"updatedAt":"2026-09-26T21:15:04.992094Z","publishedAt":"2026-09-26T21:15:04.992094Z","statusChangedAt":"2026-09-26T21:15:04.992094Z"},"dev.protogrid/connectability":{"class":"R1","autonomous":true,"human_steps":[],"preferred":{"kind":"remote","idx":0},"remotes":[{"idx":0,"url":"https://api.echo-mem.com/mcp","transport":"streamable-http","templated":false,"headers":[{"name":"Authorization","required":true,"secret":true,"value":null,"secret_names":["ECHO_MEM_TOKEN"]}],"auth":{"type":"api_key","location":{"header":"Authorization","scheme":"Bearer"},"secret_name":"ECHO_MEM_TOKEN","oauth":null},"protocol":{"supported_versions":[],"stateless":null},"health":{"reachable":true,"uptime_30d":1,"latency_ms_p50":805,"consecutive_failures":0,"last_probe_at":"2026-10-19T16:52:52.308Z","last_ok_at":"2026-10-19T16:52:52.308Z"}}],"packages":[{"idx":0,"registry_type":"pypi","identifier":"echo-mem","version":"0.5.3","runtime_hint":null,"transport":"stdio","secrets":["ECHO_MEMORY_DATABASE_URL"],"requires_execution":true}]},"dev.protogrid/trust":{"score":93,"components":{"hygiene":100,"liveness":100,"freshness":100,"provenance":75},"drivers":["+repository","+website","+reachable","+uptime-100%","+updated-23d-ago"],"flags":[],"blocked":false,"computed_at":"2026-10-19T21:05:17.094Z","disclaimer":"Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed."}}}],"metadata":{"count":4}}