MCP, MCP server
Agent Library
A personal knowledge library for AI agents, built on Arcade for the Model Context Protocol (MCP).
Compatibility: Not stated.
Grade C
One Medium finding. Read the report before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
INSTALL_REMOTE_SCRIPT
Why this grade
- INSTALL_REMOTE_SCRIPT Medium
Fetches a script from the network and runs it (a pipe to a shell, or an install hook with a URL).
setup.sh, line 74
curl -LsSf https://astral.sh/uv/install.sh | sh
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
librarian/cli.py, line 300
subprocess.run([editor, path], check=False)
librarian/cli.py, line 307
subprocess.run(["pbcopy"], input=text.encode(), check=True)
librarian/cli.py, line 309
subprocess.run(
Show more
librarian/cli.py, line 315
subprocess.run(["clip"], input=text.encode(), check=True)
Install and update
Serious
install fetches a script from the network. The docs document an installer that pipes a download into a shell.
INSTALL_REMOTE_SCRIPT INSTALL_DOCUMENTED_INSTALLER
setup.sh, line 74
curl -LsSf https://astral.sh/uv/install.sh | sh
docs/install.md, line 12
curl -LsSf https://astral.sh/uv/install.sh | sh
docs/install.md, line 49
curl -LsSf https://astral.sh/uv/install.sh | sh
Show more
Makefile, line 14
curl -LsSf https://astral.sh/uv/install.sh | sh; \
Network
Pass
No network call found.
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
librarian/config.py, line 97
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "not-needed")
librarian/providers/anthropic.py, line 44
self._api_key = api_key or os.getenv("ANTHROPIC_API_KEY", "")
librarian/providers/oai.py, line 46
self._api_key = api_key or os.getenv("OPENAI_API_KEY", "")
Show more
.gitignore, line 136
# Environments
docs/cli.md, line 196
For permanent overrides, add them to your shell profile or a `.env` file in the directory you launch `librarian` from.
docs/configuration.md, line 66
=== "From a `.env` file"
docs/configuration.md, line 68
Drop a `.env` file in the directory you launch `librarian` from:
docs/configuration.md, line 89
2. `.env` file in CWD
librarian/.env.example, line 2
# Copy this file to .env and update the values
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Pass
No encoded or minified payload found.
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 76125c062905. requests shell access. The manifest names this permission. install fetches a script from the network. The docs document an installer that pipes a download into a shell. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 76125c062905ff2673ea36aefa362150cd9fbead
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.