MCP, MCP server
remindb
remindb, an MCP server listed in the PlugVet directory.
Compatibility: Not stated.
Grade C
One Medium finding. Read the findings before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit 977b31c66d3d, unchanged since the check below.
SECRETS_PATH_CREDENTIAL
Why this grade
- SECRETS_PATH_CREDENTIAL Medium
Mentions a credential store path (~/.ssh, id_rsa, .npmrc, .aws/credentials, credentials.json, .netrc).
.claude/rules/git-versioning.md, line 556
git config --local user.signingkey ~/.ssh/id_ed25519.pub
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Note
requests shell access. The manifest names this permission.
PERMISSION_SHELL_DECLARED
cmd/remindb/update.go, line 86
return exec.Command("powershell", "-Command", "iwr -useb "+installPSURL+" | iex"), nil
cmd/remindb/update.go, line 88
return exec.Command("bash", "-c", "curl -fsSL "+installShellURL+" | bash"), nil
internal/bench/client.go, line 21
cmd := exec.Command(self, "serve", "--db", dbPath)
Show more
internal/bench/scenarios.go, line 353
cmd := exec.Command("diff", "-u", a, b)
plugins/hermes-agent/memory/remindb/__init__.py, line 55
self._proc: Optional[subprocess.Popen] = None
plugins/hermes-agent/memory/remindb/__init__.py, line 60
self._proc = subprocess.Popen(
plugins/hermes-agent/memory/remindb/__init__.py, line 164
proc = subprocess.run(
plugins/hermes-agent/memory/remindb/test-smoke.py, line 53
proc = subprocess.run(
Install and update
Note
README documents an installer that pipes a download into a shell. The docs document an installer that pipes a download into a shell.
INSTALL_DOCUMENTED_INSTALLER
README.md, line 63
curl -fsSL https://raw.githubusercontent.com/radimsem/remindb/main/install.sh | bash
README.md, line 69
curl -fsSL https://raw.githubusercontent.com/radimsem/remindb/main/install.sh | bash -s -- --prefix /usr/local
plugins/claude-code/README.md, line 20
curl -fsSL https://raw.githubusercontent.com/radimsem/remindb/main/install.sh | bash
Show more
plugins/codex/README.md, line 20
curl -fsSL https://raw.githubusercontent.com/radimsem/remindb/main/install.sh | bash
plugins/gemini-cli/README.md, line 20
curl -fsSL https://raw.githubusercontent.com/radimsem/remindb/main/install.sh | bash
plugins/hermes-agent/memory/remindb/README.md, line 21
curl -fsSL https://raw.githubusercontent.com/radimsem/remindb/main/install.sh | bash
plugins/openclaw/README.md, line 20
curl -fsSL https://raw.githubusercontent.com/radimsem/remindb/main/install.sh | bash
plugins/opencode/README.md, line 21
curl -fsSL https://raw.githubusercontent.com/radimsem/remindb/main/install.sh | bash
skills/remindb-setup/references/config-model.md, line 11
curl -fsSL https://raw.githubusercontent.com/radimsem/remindb/main/install.sh | bash
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
install.sh, line 43
for cmd in curl tar awk sed; do
install.sh, line 72
tag="$(curl -fsSL "$api_url" | sed -n 's/.*"tag_name": *"\([^"]*\)".*/\1/p' | head -n1)"
install.sh, line 87
curl -fsSL -o "$tmpdir/$archive" "$download_url"
Show more
install.sh, line 90
curl -fsSL -o "$tmpdir/checksums.txt" "$checksums_url"
internal/redaction/redact_test.go, line 202
input: "curl -H 'Authorization: Bearer abcdef1234567890qwertyuiop' /api",
pkg/mcp/tools/fetch_batch.go, line 15
NodeIDs []string `json:"node_ids" jsonschema:"List of node IDs to fetch (max 256)"`
skills/README.md, line 10
| [`remind/`](./remind/) | **Read path.** Orient with the tree; search, fetch (single or batched), resync via delta, diff two snapshots, walk a node's history, traverse the relatio
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_CREDENTIAL SECRETS_PATH_DOTENV
cmd/remindb/serve.go, line 385
authToken = os.Getenv("REMINDB_AUTH_TOKEN")
.claude/rules/git-versioning.md, line 261
`git add .` sweeps in editor swap files, `.env`, debug logs, coredumps - anything `.gitignore` missed.
.claude/rules/git-versioning.md, line 556
git config --local user.signingkey ~/.ssh/id_ed25519.pub
Show more
.claude/rules/git-versioning.md, line 274
Flag and stop if anything resembles `.env*`, `*.key`, `id_*`, `*.pem`, credentials, database dumps, or a file over ~1 MB. Ask the user before including it.
.claude/rules/git-versioning.md, line 640
- Committing `.env`, `*.key`, `id_*`, `*.pem`, credentials, or files >1 MB without asking.
plugins/hermes-agent/memory/remindb/README.md, line 74
> ⚠️ **Source is `~/.hermes/memories/`, not `~/.hermes/` wholesale.** HERMES_HOME also holds installed plugins (`plugins/`), agent-created skills (`skills/`), gateway sessions (`se
testdata/claude-code/CLAUDE.md, line 97
Environment variables live in Vercel's dashboard. Secrets are never committed; `.env.local` is for local dev only and is gitignored.
testdata/claude-code/CLAUDE.md, line 126
Stripe webhook endpoint needs an HTTPS tunnel for local dev. Use `stripe listen --forward-to localhost:3000/api/webhooks/stripe` - it prints a `whsec_*` secret you paste into `.env
testdata/claude-code/memory/reference_external_services.md, line 26
- DSN lives in `SENTRY_DSN` env var, set in Vercel and in `.env.local` for dev repro
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Concern
contains an encoded blob in a file that should be readable.
OBFUSCATION_ENCODED_BLOB
assets/bench.svg, line 1
<?xml version="1.0" standalone="no"?>
assets/excalidraw/benchmarks.excalidraw, line 1
{
assets/arch.svg, line 4
@font-face { font-family: Virgil; src: url(data:font/woff2;base64,d09GMgABAAAAAB94AAsAAAAAMfQAAB8rAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQRCArZRMF8C2wAATYCJAOBVAQgBYMcByAbASWjonbSXn
Show more
assets/bench.svg, line 3
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1068.2413496250142 1103" width="1068.2413496250142" height="1103"><!-- svg-source:excalidraw --><metadata></metad
assets/bench.svg, line 4
@font-face { font-family: Excalifont; src: url(data:font/woff2;base64,d09GMgABAAAAAB+4AA4AAAAAN0gAAB9iAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiIbi3Acgg4GYACBHBEICtVEvxMLagABNgIkA4FQBCAFgx
assets/excalidraw/benchmarks.excalidraw, line 3332
"dataURL": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMjQwNiAyNDA2Ii
assets/excalidraw/benchmarks.excalidraw, line 3340
"dataURL": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjNDI4NWY0IiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMj
assets/excalidraw/benchmarks.excalidraw, line 3348
"dataURL": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjN2MzYWVkIiByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMj
assets/excalidraw/benchmarks.excalidraw, line 3356
"dataURL": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAEv9ElEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1S+46qqrrrrqqqv+vyG46q
assets/excalidraw/benchmarks.excalidraw, line 3363
"dataURL": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAKACAYAAAAMzckjAACxfklEQVR4Ae3AA6AkWZbG8f937o3IzKdyS2Oubdu2bdu2bdu2bWmMnpZKr54yMyLu+Xa3anqmhztr1a9y1VX/S/mz36F/8rK8Af
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 977b31c66d3d. requests shell access. The manifest names this permission. README documents an installer that pipes a download into a shell. The docs document an installer that pipes a download into a shell. can reach a host that is not written as a fixed address. reads a credential or environment file. contains an encoded blob in a file that should be readable.
Date and source
Date checked:
github.com
Commit graded: 977b31c66d3dcf3b9a3de9ea6387ab3047078ecc
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.