MCP, MCP server
Deep Research
Deep Research Assistant + Graph RAG with Mastra 🚀ðŸ§
Compatibility: Not stated.
Grade B
Minor issues only, no Medium or High. Worth a quick look at the findings below before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit cb5e60c66ca3, unchanged since the check below.
PERMISSION_DELETE_FILES NETWORK_NO_FIXED_HOST SECRETS_PATH_DOTENV OBFUSCATION_ENCODED_BLOB SECRETS_ENV_READ
Why this grade
- PERMISSION_DELETE_FILES Low
Contains a call that can delete files.
src/mastra/tools/data-file-manager.ts, line 126
await fs.unlink(fullPath); - NETWORK_NO_FIXED_HOST Low
Makes a network call whose host is not written as a fixed address.
src/mastra/tools/weather-tool.ts, line 67
const geocodingResponse = await fetch(geocodingUrl); - SECRETS_PATH_DOTENV Low
Mentions a .env file.
.github/workflows/gemini-invoke.yml, line 143
- **Prevent Leaks**: Never repeat or "post back" the full contents of a file in a comment, especially configuration files (`.json`, `.yml`, `.toml`, `.env`). Instead, describe the - OBFUSCATION_ENCODED_BLOB Low
Contains a long base64 shaped string in a file that should be readable.
package-lock.json, line 1
{ - SECRETS_ENV_READ Note
Reads an environment variable whose name contains KEY, SECRET, TOKEN, PASSWORD or CREDENTIAL.
src/mastra/index.ts, line 71
publicKey: process.env.LANGFUSE_PUBLIC_KEY,
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
Concern
can delete files.
PERMISSION_DELETE_FILES
src/mastra/tools/data-file-manager.ts, line 126
await fs.unlink(fullPath);
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
src/mastra/tools/weather-tool.ts, line 67
const geocodingResponse = await fetch(geocodingUrl);
src/mastra/tools/weather-tool.ts, line 78
const response = await fetch(weatherUrl);
docs/ADVANCED_MASTRA_FEATURES.md, line 446
const response = await fetch(inputData.endpoint, {
Show more
docs/INTEGRATION_PATTERNS.md, line 662
this.ws = new WebSocket(this.url);
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
src/mastra/index.ts, line 71
publicKey: process.env.LANGFUSE_PUBLIC_KEY,
src/mastra/index.ts, line 72
secretKey: process.env.LANGFUSE_SECRET_KEY,
.github/workflows/gemini-invoke.yml, line 143
- **Prevent Leaks**: Never repeat or "post back" the full contents of a file in a comment, especially configuration files (`.json`, `.yml`, `.toml`, `.env`). Instead, describe the
Show more
src/mastra/agents/assistant.ts, line 34
apiKey: process.env.OPENROUTER_API_KEY,
src/mastra/agents/v.ts, line 20
apiKey: process.env.GOOGLE_GENERATIVE_AI_API_KEY,
src/mastra/config/googleProvider.ts, line 411
const key = apiKey ?? process.env.GOOGLE_GENERATIVE_AI_API_KEY;
src/mastra/config/libsql-storage.ts, line 97
hasAuthToken: !!process.env.DATABASE_AUTH_TOKEN
src/mastra/config/libsql-storage.ts, line 118
authToken: process.env.DATABASE_AUTH_TOKEN,
src/mastra/config/libsql-storage.ts, line 179
hasAuthToken: !!(process.env.VECTOR_DATABASE_AUTH_TOKEN ?? process.env.DATABASE_AUTH_TOKEN)
.codacy/logs/codacy-cli.log, line 1031
2025-09-09T07:12:19-04:00 [INFO] (codacy-cli-v2/cmd/root.go:34) Executing CLI command full_command=[/home/sam/.cache/codacy/codacy-cli-v2/1.0.0-main.349.sha.1b80ceb/codacy-cli-v2 a
.gitignore, line 11
# Environment
.gitignore, line 12
.env
.gitignore, line 13
.env.local
.gitignore, line 34
.mastra
.gitignore, line 35
.env.development
GEMINI.md, line 588
@.env.example
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
package-lock.json, line 1
{
README.md, line 31
<img src="https://img.shields.io/badge/Mastra-0.16+-FF6B35?style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0i
README.md, line 33
<img src="https://img.shields.io/badge/LibSQL-4479A1?style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZS
Licence
Note
no licence file found.
LICENCE_MISSING
No file path was stored.
no licence file found.
Maintainer activity
Note
the latest commit is more than 365 days old.
MAINTAINER_STALE
No file path was stored.
2025-09-18T10:12:41-04:00
Note
Hygiene check of commit cb5e60c66ca3. can delete files. 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. no licence file found. the latest commit is more than 365 days old.
Date and source
Date checked:
github.com
Commit graded: cb5e60c66ca387a6c7e3a0d5eee91bf33d0b5832
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.