MCP, MCP server
Provar MCP Server
The Provar DX CLI is a Salesforce CLI plugin for Provar customers who want to automate the execution of tests using Provar Automation, and the reporting of test results and other quality-related metrics to Provar Quality Hub.
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 2a64edf2ac3a, 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).
src/commands/provar/auth/status.ts, line 59
this.log(' Source: ~/.provar/credentials.json');
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
scripts/construction-contract-validate.cjs, line 365
if (fs.existsSync(outPath)) fs.unlinkSync(outPath);
scripts/fetch-nitrox-packages.cjs, line 361
if (fs.existsSync(tmpDir)) fs.rmSync(tmpDir, { recursive: true, force: true });
src/mcp/tools/sfSpawn.ts, line 316
fs.rmSync(dir, { recursive: true, force: true });
Show more
src/mcp/tools/testCaseStepTools.ts, line 269
fs.unlinkSync(bakPath);
src/mcp/tools/testCaseStepTools.ts, line 283
fs.unlinkSync(bakPath);
src/mcp/tools/testPlanTools.ts, line 731
fs.unlinkSync(absolutePath);
src/mcp/utils/validationDiff.ts, line 190
fs.unlinkSync(path.join(storageDir, evicted.filename));
src/services/auth/credentials.ts, line 74
fs.rmSync(p);
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. can reach registry.npmjs.org. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
scripts/fetch-nitrox-packages.cjs, line 66
const req = https.get(
scripts/fetch-nitrox-packages.cjs, line 97
const req = https.get({ hostname: parsed.hostname, path: parsed.pathname + parsed.search, headers }, (res) => {
src/mcp/licensing/algasClient.ts, line 70
const res = await fetch(TOKEN_URL, {
Show more
src/mcp/licensing/algasClient.ts, line 123
let res = await fetch(`${TAG_BASE_URL}/${encodeURIComponent(licenseKey)}`, {
src/mcp/licensing/algasClient.ts, line 139
res = await fetch(`${TAG_BASE_URL}/${encodeURIComponent(licenseKey)}`, {
src/mcp/update/updateChecker.ts, line 145
const resp = await fetch('https://registry.npmjs.org/@provartesting/provardx-cli', {
src/services/auth/loginFlow.ts, line 230
const req = https.request(
src/services/qualityHub/client.ts, line 347
const req = https.request(opts, (res) => {
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_CREDENTIAL SECRETS_PATH_DOTENV
scripts/fetch-nitrox-packages.cjs, line 301
const token = process.env['GITHUB_TOKEN'] || process.env['GH_TOKEN'];
scripts/mcp-smoke.cjs, line 62
PROVAR_DEV_WHITELIST_KEYS: process.env.PROVAR_DEV_WHITELIST_KEYS || '',
src/commands/provar/auth/status.ts, line 59
this.log(' Source: ~/.provar/credentials.json');
Show more
src/commands/provar/auth/status.ts, line 23
const envKey = process.env.PROVAR_API_KEY?.trim();
src/commands/provar/auth/status.ts, line 67
this.log(' Source: ~/.provar/credentials.json');
src/mcp/licensing/algasClient.ts, line 41
const clientSecret = process.env['PROVAR_OAUTH_CLIENT_SECRET'];
src/mcp/licensing/algasClient.ts, line 46
'Set PROVAR_OAUTH_CLIENT_ID and PROVAR_OAUTH_CLIENT_SECRET (see .env.example).'
src/mcp/licensing/licenseValidator.ts, line 68
const whitelistKeys = (process.env['PROVAR_DEV_WHITELIST_KEYS'] ?? '')
src/mcp/utils/tokenMeta.ts, line 92
if (process.env['PROVAR_MCP_EMIT_TOKEN_META'] === 'true') {
src/mcp/utils/tokenMeta.ts, line 136
if (process.env['PROVAR_MCP_EMIT_TOKEN_META'] !== 'true') return response;
src/services/auth/credentials.ts, line 27
return path.join(os.homedir(), '.provar', 'credentials.json');
src/services/auth/credentials.ts, line 83
const envKey = process.env.PROVAR_API_KEY?.trim();
.env.example, line 1
# Copy this file to .env and fill in real values.
.env.example, line 2
# .env is gitignored and must never be committed.
.gitignore, line 53
# Local environment - never commit real credentials
.gitignore, line 54
.env
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Note
a file was over the read cap and was not fully read.
OBFUSCATION_FILE_OVER_READ_CAP
oclif.lock, line 1
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
yarn.lock, line 1
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
docs/mcp.md, line 1
# Provar MCP Server
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 2a64edf2ac3a. can delete files. can reach a host that is not written as a fixed address. can reach registry.npmjs.org. The description does not name that host. reads a credential or environment file. a file was over the read cap and was not fully read.
Date and source
Date checked:
github.com
Commit graded: 2a64edf2ac3aa764fc320088d8e165899f08fe78
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.