Memory that abstains instead of guessing: agent memory on your own Postgres with a verdict, confidence and provenance on every hit, and a calibrated refusal when nothing clears the threshold.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add re-call-memory --env RECALL_SERVING_DSN='<RECALL_SERVING_DSN>' -- uvx recall-rag~/.codex/config.toml
[mcp_servers.re-call-memory]
command = "uvx"
args = ["recall-rag"]
env = { RECALL_SERVING_DSN = "<RECALL_SERVING_DSN>" }
# codex mcp add re-call-memory --env RECALL_SERVING_DSN='<RECALL_SERVING_DSN>' -- uvx recall-rag~/.cursor/mcp.json
{
"mcpServers": {
"re-call-memory": {
"command": "uvx",
"args": [
"recall-rag"
],
"env": {
"RECALL_SERVING_DSN": "<RECALL_SERVING_DSN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"re-call-memory": {
"type": "stdio",
"command": "uvx",
"args": [
"recall-rag"
],
"env": {
"RECALL_SERVING_DSN": "<RECALL_SERVING_DSN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"re-call-memory": {
"command": "uvx",
"args": [
"recall-rag"
],
"env": {
"RECALL_SERVING_DSN": "<RECALL_SERVING_DSN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"re-call-memory": {
"command": "uvx",
"args": [
"recall-rag"
],
"env": {
"RECALL_SERVING_DSN": "<RECALL_SERVING_DSN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"re-call-memory": {
"command": "uvx",
"args": [
"recall-rag"
],
"env": {
"RECALL_SERVING_DSN": "<RECALL_SERVING_DSN>"
}
}
}
}Environment variables
RECALL_SERVING_DSN
Replace the placeholders with your own credentials and keep them out of version control.