MCP, MCP server
Claude Patent Creator
Complete self-contained patent creation system - NO MCP server required.
Compatibility: Not stated.
Grade D
Two or more Medium findings, or a High finding. Only try it in a sandbox.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit a08973169419, unchanged since the check below.
INSTALL_REMOTE_SCRIPT SECRETS_PATH_CREDENTIAL
Why this grade
- INSTALL_REMOTE_SCRIPT High
Fetches a script from the network and runs it (a pipe to a shell, or an install hook with a URL).
install.py, line 477
print_info(" curl https://sdk.cloud.google.com | bash") - SECRETS_PATH_CREDENTIAL Medium
Mentions a credential store path (~/.ssh, id_rsa, .npmrc, .aws/credentials, credentials.json, .netrc).
mcp_server/bigquery_search.py, line 65
# Windows: %APPDATA%\gcloud\application_default_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.
If you think this grade is wrong, email [email protected] with the entry link and your evidence. We aim to acknowledge within two working days and decide within seven. If we confirm an error, we aim to correct it within 24 hours of confirming it. These are aims, not guarantees.
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
install.py, line 166
result = subprocess.run(cmd, shell=True, check=check)
install.py, line 176
result = subprocess.run(cmd, shell=True, check=check, capture_output=True, text=True)
install.py, line 207
result = subprocess.run(
Show more
install.py, line 228
result = subprocess.run(
install.py, line 250
result = subprocess.run(["lspci"], capture_output=True, text=True, timeout=5)
install.py, line 402
result = subprocess.run(verify_cmd, shell=True, capture_output=True, text=True)
install.py, line 596
subprocess.run(
mcp_server/bigquery_search.py, line 180
result = subprocess.run(
Install and update
Serious
install fetches a script from the network.
INSTALL_REMOTE_SCRIPT
install.py, line 477
print_info(" curl https://sdk.cloud.google.com | bash")
install.py, line 480
print_info(" curl https://sdk.cloud.google.com | bash")
mcp_server/cli.py, line 457
print(" curl https://sdk.cloud.google.com | bash", file=sys.stderr)
Network
Concern
can reach a host that is not written as a fixed address. can reach ops.epo.org. The description does not name that host. can reach api.data.uspto.gov. The description does not name that host. can reach www.uspto.gov. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
mcp_server/downloaders.py, line 101
with urllib.request.urlopen(
mcp_server/epo_api.py, line 459
"3. Test connection: curl -I https://ops.epo.org"
mcp_server/epo_downloaders.py, line 107
response = requests.get(url, timeout=timeout, stream=True)
Show more
mcp_server/google_patents_search.py, line 76
with urllib.request.urlopen(url, timeout=self.timeout) as resp:
mcp_server/uspto_api.py, line 317
f"3. Test connection: curl -I https://api.data.uspto.gov"
scripts/test_google_patents.py, line 73
page = urllib.request.urlopen(req, timeout=30).read().decode("utf-8", "ignore")
scripts/test_uspto_odp_api.py, line 56
response = requests.post(url, json=payload, headers=test_headers, timeout=10)
skills/index-manager/SKILL.md, line 137
wget https://www.uspto.gov/web/offices/pac/mpep/mpep-2900.pdf -O pdfs/mpep-2900.pdf
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_CREDENTIAL SECRETS_PATH_DOTENV
CLAUDE.md, line 315
# Or add to .env:
mcp_server/bigquery_search.py, line 65
# Windows: %APPDATA%\gcloud\application_default_credentials.json
mcp_server/bigquery_search.py, line 68
return Path(appdata) / "gcloud" / "application_default_credentials.json"
Show more
mcp_server/bigquery_search.py, line 75
/ "application_default_credentials.json"
mcp_server/bigquery_search.py, line 78
# Linux/macOS: $HOME/.config/gcloud/application_default_credentials.json
mcp_server/bigquery_search.py, line 79
return Path.home() / ".config" / "gcloud" / "application_default_credentials.json"
mcp_server/bigquery_search.py, line 278
and not os.environ.get("GOOGLE_APPLICATION_CREDENTIALS")
mcp_server/cli.py, line 391
# Windows: %APPDATA%\gcloud\application_default_credentials.json
mcp_server/cli.py, line 394
return Path(appdata) / "gcloud" / "application_default_credentials.json"
mcp_server/epo_api.py, line 115
self.key = key or os.getenv("EPO_OPS_KEY")
mcp_server/epo_api.py, line 116
self.secret = secret or os.getenv("EPO_OPS_SECRET")
mcp_server/google_patents_search.py, line 59
self.api_key = (api_key or os.getenv("SERPAPI_API_KEY") or "").strip()
mcp_server/health_check.py, line 245
api_key = os.getenv("USPTO_API_KEY")
mcp_server/hyde.py, line 52
os.getenv("OPENAI_API_KEY") or os.getenv("ANTHROPIC_API_KEY")
mcp_server/hyde.py, line 79
if os.getenv("ANTHROPIC_API_KEY"):
mcp_server/hyde.py, line 80
self.api_client = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))
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 a08973169419. requests shell access. The manifest names this permission. install fetches a script from the network. can reach a host that is not written as a fixed address. can reach ops.epo.org. The description does not name that host. can reach api.data.uspto.gov. The description does not name that host. can reach www.uspto.gov. The description does not name that host. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: a08973169419f71b787e12769eb656f1f2e5df48
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.