Tubemind Secure Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Tubemind Secure Mcp (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<h1 align="center">tubemind-secure-mcp</h1>
<p align="center"> <b>YouTube intelligence, powered by Claude. Secure by design.</b><br/> Model Context Protocol server with 18 tools for YouTube research, analytics, benchmarking and content strategy. </p>
<p align="center"> <a href="https://www.npmjs.com/package/tubemind-secure-mcp"><img src="https://img.shields.io/npm/v/tubemind-secure-mcp?style=flat-square&color=CB3837&logo=npm" alt="npm version"/></a> <a href="https://www.npmjs.com/package/tubemind-secure-mcp"><img src="https://img.shields.io/npm/dm/tubemind-secure-mcp?style=flat-square" alt="downloads"/></a> <a href="https://github.com/dewtech-technologies/tubemind-secure-mcp/blob/main/SECURITY.md"><img src="https://img.shields.io/badge/security-OWASP_Top_10-5A67D8?style=flat-square" alt="OWASP"/></a> <a href="https://github.com/dewtech-technologies/tubemind-secure-mcp/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/tubemind-secure-mcp?style=flat-square&color=blue" alt="MIT License"/></a> <a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/MCP-1.26-5A67D8?style=flat-square" alt="MCP SDK"/></a> </p>
<p align="center"> <b>📦 18 tools · 🔐 OAuth2 + AES-256-GCM · 🛡️ OWASP Top 10 · 🤖 Claude Desktop ready</b> </p>
Turn Claude into a YouTube growth strategist — without ever handing it your raw OAuth tokens.
@modelcontextprotocol/sdk, googleapis, zod). Node ≥ 20.tubemind-secure-mcp is a Model Context Protocol (MCP) server that gives Claude Desktop (and any MCP client) 18 production-grade tools for working with YouTube:
Built secure by design: OAuth2 (Brand Account ready), AES-256-GCM token encryption at rest, SSRF guard, rate limiting, audit logging, Zod input validation — mapped to OWASP Top 10.
# Global install
npm install -g tubemind-secure-mcp
# Or run on demand
npx tubemind-secure-mcpRequires Node.js ≥ 20.
YouTube APIs need an OAuth2 token. The package ships with an auth server that walks you through it.
http://localhost:4000/oauth/callbackCopy .env.example to .env and fill in:
YOUTUBE_CLIENT_ID=your-client-id.apps.googleusercontent.com
YOUTUBE_CLIENT_SECRET=your-client-secret
YOUTUBE_REDIRECT_URI=http://localhost:4000/oauth/callback
# Generate with: openssl rand -hex 32
TOKEN_ENCRYPTION_KEY=your-64-char-hex-key
RATE_LIMIT_PER_MINUTE=60
REQUEST_TIMEOUT_MS=10000
AUDIT_LOG_PATH=./logs/audit.log
NODE_ENV=productionpnpm auth
# or: npx tsx --env-file=.env src/auth-server.tsOpen http://localhost:4000, sign in with the Google account that owns the channel (Brand Accounts supported), authorize, and the encrypted token is saved to ./tokens/youtube.token.json.
Add to claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"tubemind": {
"command": "npx",
"args": ["-y", "tubemind-secure-mcp"],
"env": {
"YOUTUBE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
"YOUTUBE_CLIENT_SECRET": "your-client-secret",
"YOUTUBE_REDIRECT_URI": "http://localhost:4000/oauth/callback",
"TOKEN_ENCRYPTION_KEY": "your-64-char-hex-key",
"RATE_LIMIT_PER_MINUTE": "60",
"REQUEST_TIMEOUT_MS": "10000",
"AUDIT_LOG_PATH": "./logs/audit.log",
"NODE_ENV": "production"
}
}
}
}Restart Claude Desktop. The 18 tools will appear automatically.
| Category | Tool | Description |
|---|---|---|
| Search | search_trending_topics | Discover trending topics by region/category |
get_keyword_stats | Search volume signals for keywords | |
suggest_tags | Tag recommendations from a seed | |
| Video | get_video_tags | Read tags from a video |
update_video_metadata | Update title/description/tags (write scope) | |
list_channel_videos | Paginate channel uploads | |
| Analytics | get_channel_analytics | Views, watch time, retention (Analytics API) |
score_best_publish_window | Best day/hour heatmap to publish | |
| Benchmark | benchmark_channel | Compare channel vs. peers |
| Heuristics | estimate_keyword_difficulty | Difficulty score 0–100 |
analyze_title_patterns | Common patterns in top videos | |
detect_content_gaps | Topics competitors cover that you don't | |
| Heuristics+ | estimate_ctr_potential | CTR estimate from title/thumbnail signals |
suggest_hook_angles | Hook angles for a topic | |
find_trending_keywords | Rising-momentum keywords | |
analyze_retention_signals | Retention-shaping factors | |
generate_content_calendar | N-day content plan | |
| Competitor | get_competitor_videos | Top videos from a competitor channel |
All inputs are validated with Zod. All errors return safe messages (stack traces only when NODE_ENV=development).
tubemind-secure-mcp is built secure-by-default. See SECURITY.md for the full posture mapped to OWASP Top 10.
| Control | Implementation |
|---|---|
| A01 — Broken Access Control | OAuth2 scopes least-privilege, audit log per call |
| A02 — Cryptographic Failures | AES-256-GCM at rest for tokens, secrets via env only |
| A03 — Injection | Zod schemas on every tool input |
| A04 — Insecure Design | Rate limit, request timeout, SSRF guard (host whitelist) |
| A05 — Misconfiguration | .env.example template, no defaults that leak |
| A07 — AuthN Failures | OAuth2 PKCE-style flow, encrypted token storage |
| A08 — Software/Data Integrity | Pinned deps, pnpm audit in CI, dependabot |
| A09 — Logging Failures | Audit log of every tool call (timestamp, tool, success) |
| A10 — SSRF | Outbound calls restricted to googleapis.com family |
Found a vulnerability? Email [email protected] — 72h response.
pnpm install
pnpm dev # tsx watch on src/index.ts
pnpm build # tsc → dist/
pnpm typecheck
pnpm test
pnpm audit:securityMIT © Wanderson Leandro de Oliveira / Dewtech
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.