MCP, MCP server
Yandex Ads Mcp
MCP-сервер для управления рекламой в Яндекс Директе, сегментами в Яндекс Аудиториях, аналитикой в Яндекс Метрике и подбором ключевых слов через Wordstat API.
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.
PERMISSION_DELETE_FILES INSTALL_UNPINNED SECRETS_PATH_DOTENV SECRETS_ENV_READ
Why this grade
- PERMISSION_DELETE_FILES Low
Contains a call that can delete files.
.agents/skills/starter-upgrade/scripts/starter-diff.py, line 83
r = subprocess.run(["git", "-C", project, "ls-files", "-s"], - INSTALL_UNPINNED Low
Dependencies use a range or git URL with no lockfile.
requirements.txt, line 1
mcp>=1.0.0,<2 - SECRETS_PATH_DOTENV Low
Mentions a .env file.
.cursorignore, line 2
.env - SECRETS_ENV_READ Note
Reads an environment variable whose name contains KEY, SECRET, TOKEN, PASSWORD or CREDENTIAL.
server.py, line 30
TOKEN = os.environ.get("YD_OAUTH_TOKEN", "")
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
.agents/skills/starter-upgrade/scripts/starter-diff.py, line 83
r = subprocess.run(["git", "-C", project, "ls-files", "-s"],
.agents/skills/starter-upgrade/scripts/starter-diff.py, line 149
r = subprocess.run(["git", "-C", project, "check-ignore", "-q", rel],
.agents/skills/starter-upgrade/scripts/starter-diff.py, line 263
r = subprocess.run(["git", "clone", "-q", "--depth", "1", a.starter, tmp],
Show more
.agents/skills/starter-upgrade/scripts/starter-diff.py, line 337
shutil.rmtree(tmp, ignore_errors=True)
.agents/skills/starter-upgrade/scripts/sync-skill-mirrors.py, line 90
shutil.rmtree(dst)
.codex/skills/starter-upgrade/scripts/starter-diff.py, line 83
r = subprocess.run(["git", "-C", project, "ls-files", "-s"],
.codex/skills/starter-upgrade/scripts/starter-diff.py, line 149
r = subprocess.run(["git", "-C", project, "check-ignore", "-q", rel],
.codex/skills/starter-upgrade/scripts/starter-diff.py, line 263
r = subprocess.run(["git", "clone", "-q", "--depth", "1", a.starter, tmp],
.codex/skills/starter-upgrade/scripts/starter-diff.py, line 337
shutil.rmtree(tmp, ignore_errors=True)
.codex/skills/starter-upgrade/scripts/sync-skill-mirrors.py, line 90
shutil.rmtree(dst)
.cursor/skills/starter-upgrade/scripts/starter-diff.py, line 83
r = subprocess.run(["git", "-C", project, "ls-files", "-s"],
.cursor/skills/starter-upgrade/scripts/starter-diff.py, line 149
r = subprocess.run(["git", "-C", project, "check-ignore", "-q", rel],
.cursor/skills/starter-upgrade/scripts/starter-diff.py, line 337
shutil.rmtree(tmp, ignore_errors=True)
.cursor/skills/starter-upgrade/scripts/sync-skill-mirrors.py, line 90
shutil.rmtree(dst)
Install and update
Concern
dependencies are not pinned.
INSTALL_UNPINNED
requirements.txt, line 1
mcp>=1.0.0,<2
Network
Pass
No network call found.
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
server.py, line 30
TOKEN = os.environ.get("YD_OAUTH_TOKEN", "")
server.py, line 33
METRIKA_TOKEN = os.environ.get("YD_METRIKA_TOKEN", "") or TOKEN
.cursorignore, line 2
.env
Show more
server.py, line 34
AUDIENCE_TOKEN = os.environ.get("YD_AUDIENCE_TOKEN", "") or TOKEN
server.py, line 38
YC_API_KEY = os.environ.get("YC_API_KEY", "")
server.py, line 57
DIRECT_TOKENS = _parse_token_map(os.environ.get("YD_DIRECT_TOKENS", ""))
.cursorignore, line 1
# Секреты и локальные переменные окружения
.cursorignore, line 6
!.env.example
.gitignore, line 5
*.log
AGENTS.md, line 34
и в `.env.example`.
README.md, line 30
Скопируйте `.env.example` в `.env` и заполните:
README.md, line 33
cp .env.example .env
STARTER_MANIFEST, line 54
once: .env.example
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Pass
No encoded or minified payload found.
Licence
Note
no licence file found.
LICENCE_MISSING
No file path was stored.
no licence file found.
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit b3296cf7d367. can delete files. dependencies are not pinned. reads a credential or environment file. no licence file found.
Date and source
Date checked:
github.com
Commit graded: b3296cf7d367cd9091b3658aa91466fa71b8fbea
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.