CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
studiomeyer-io avatar

MCP stdio ShellGuard

studiomeyer-io/mcp-stdio-shellguard
STDIOregistry active
Summary

Drop-in defense against shell injection attacks in MCP stdio servers. Wraps child_process.exec and spawn with an allowlist registry, sandbox profiles (strict/standard/permissive with cgroup-v2 support), and replay detection. Ships three pieces: guardExec/guardSpawn functions you call from your own server, an AST audit CLI (mcp-shellguard-audit) that scans TypeScript/JavaScript for 12 anti-patterns from template literal injection to missing timeouts, and a reference server with 8 tools. Built after the Ox-Security disclosure of 200k vulnerable MCP servers. Reach for this if you're building MCP tools that shell out to git, docker, or system commands and want defense in depth before user input hits exec.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →

Part of the StudioMeyer MCP Stack — Built in Mallorca 🌴 · ⭐ if you use it

mcp-stdio-shellguard

npm version npm downloads License Last commit GitHub stars

Defense-in-depth bundle for MCP stdio servers. Wraps `child_process.exec/spawn`

with allowlist + sandbox + replay-detection, plus an AST audit CLI (mcp-shellguard-audit) that scans MCP server sources for unsanitized shell calls. Closes the Ox-Security MCP stdio-RCE class (200k vulnerable servers, May 2026 disclosure).

  • MCP spec: 2025-06-18
  • SDK: @modelcontextprotocol/sdk ^1.29.0
  • Node: >= 20
  • License: MIT
  • Author: Matthias Meyer (StudioMeyer)

Install

npm install mcp-stdio-shellguard

Or run the audit CLI directly without installing:

npx -y -p mcp-stdio-shellguard mcp-shellguard-audit scan ./src

What it gives you

Three layers, opt-in piecewise:

  1. Library API — drop-in guardExec / guardSpawn you call from your own MCP server. Default-deny allowlist, sandbox profiles, replay window.
  2. Audit CLI — mcp-shellguard-audit scan <path> walks the AST, reports 12 anti-patterns from LOW (no timeout) to CRITICAL (exec(\...${userInput}...`)`).
  3. Reference MCP server — mcp-stdio-shellguard-demo exposes 8 tools so the MCP Inspector / Claude Desktop can drive the bundle directly.

Tools (reference server)

ToolTypePurpose
guard_execdestructiveDefended child_process.exec. Forces args[] vector, allowlist + sandbox + replay. Returns stdout, stderr, exitCode, canonicalHash, isReplay, trustTier.
guard_spawndestructiveDefended child_process.spawn. Returns SHA-256 hashes of stdout/stderr instead of full bodies. Hard-rejects shell:true.
register_allowlistmutatingRegister a tool name with executable + args regex. Without registration the default-deny applies.
audit_sourceread-onlyScan a TS/JS path for shell-injection anti-patterns. Returns AuditFinding[] + summary.
audit_reportread-onlyFormat an audit result as markdown / json / SARIF 2.1.0.
replay_checkread-onlyCompute canonical SHA-256 hash for an invocation and report whether it's already in the replay window.
sandbox_statusread-onlyReport active sandbox profile + concrete limits + cgroup-v2 active flag.
trust_tierread-onlyDerive LOW/MEDIUM/HIGH/CRITICAL tier for a registered tool plus improvement hints.

Sandbox profiles

ProfileTimeoutMax stdoutMax stderrFD budgetcgroup-v2
strict5 s1 MB256 KB32yes (cpu/memory)
standard (default)30 s10 MB1 MB256yes
permissive5 min100 MB10 MB1024no

Caller can tighten via timeoutMs / fdBudget per call. Caller cannot widen beyond the profile.

Trust tiers

TierCondition
LOWtool not registered (default-deny)
MEDIUMregistered but argsPatterns empty (any args allowed)
HIGHargsPatterns set but sandbox or replay tracker inactive
CRITICALargsPatterns + sandbox + replay all active

Lift LOW → CRITICAL by registering the tool + setting argsPatterns + running through guardExec/guardSpawn (which always activate sandbox + replay).

Library quickstart

import {
  AllowlistRegistry,
  ReplayWindow,
  guardExec,
} from "mcp-stdio-shellguard";

const registry = new AllowlistRegistry();
const replay = new ReplayWindow();

registry.register({
  toolName: "git-log",
  executable: "/usr/bin/git",
  argsPatterns: ["^log$", "^--oneline$", "^-n$", "^\\d+$"],
  sandboxProfile: "strict",
});

const result = await guardExec(
  {
    toolName: "git-log",
    command: "/usr/bin/git",
    args: ["log", "--oneline", "-n", "10"],
  },
  { registry, replay },
);

console.log(result.stdout); // → commit lines
console.log(result.trustTier); // → "CRITICAL"
console.log(result.canonicalHash); // → 64-char SHA-256

Audit CLI

mcp-shellguard-audit scan ./src
mcp-shellguard-audit scan ./src --format sarif --output audit.sarif
mcp-shellguard-audit scan ./src --severity-floor HIGH    # CI gate

Exit codes:

  • 0 clean (no findings at-or-above floor)
  • 1 findings present
  • 2 parse / IO errors

Anti-pattern library (12 rules)

IDSeverityTriggers on
exec_template_literal_with_inputCRITICALchild_process.exec(\ls ${x}`)`
exec_dynamic_stringCRITICALchild_process.exec(cmd)
exec_sync_dynamic_stringCRITICALchild_process.execSync(cmd)
eval_near_child_processCRITICALeval(...)
function_constructor_near_child_processCRITICALnew Function(...)
spawn_dynamic_file_argsHIGHspawn(bin, userArgs)
exec_file_dynamicHIGHexecFile(bin, ...)
shell_true_optionHIGH{ shell: true }
os_system_equivalentHIGHDeno.run / Bun.spawn
spawn_literal_dynamic_argsMEDIUMspawn('git', userArgs)
unbounded_bufferLOWexec without maxBuffer
missing_timeoutLOWexec/spawn without timeout

The scanner resolves renamed child_process bindings before matching, so the dangerous shapes below are caught even when the call goes through an alias rather than a literal child_process.exec:

  • const execAsync = promisify(exec); execAsync(...${x})
  • import cp from "node:child_process"; cp.exec(...${x})
  • const { exec: sh } = require("child_process"); sh(...${x})
  • import { exec as run } from "node:child_process"; run(...)

Synchronous variants (spawnSync, execFileSync) share their async rules, and shell_true_option also fires on a string shell ({ shell: "/bin/sh" }) or a dynamic shell value — not just the literal { shell: true }. A promisify of a non-child_process function, a destructure off another module, and { shell: false } stay clean (no false positives).

Pragmas

  • // shellguard:ignore-next-line — suppress one finding
  • // shellguard:ignore-file — suppress whole file (rare; prefer per-line)

Why this exists

Ox-Security disclosed (2026-05) that 200k+ MCP stdio servers wrap child_process.exec with template literals carrying user input straight from LLM tool args. LiteLLM v1.83.6 was the canonical example (CVE patched in 1.83.7). This bundle is the defensive-security counterpart: a drop-in guard + scanner that closes the class. Inspired by AWS Linux seccomp + Chromium sandbox tiers.

See also

  • HOOK_RECIPES.md — Claude Code hook recipes that auto-block dangerous tool calls
  • CHANGELOG.md — release history
  • Ox-Security MCP audit: https://venturebeat.com/security/200000-mcp-stdio-servers/
  • LiteLLM CVE-2026-XXXX: https://github.com/BerriAI/litellm/security/advisories

License

MIT — Copyright (c) 2026 Matthias Meyer (StudioMeyer)

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
inference shell
inference shell
create and run specialised agents in minutes
build now →
MCP-ready Email SendingMCP-ready Email Sending
MCP-ready Email Sending
Plug Mailtrap into your AI workflow and let it handle the email.
Connect Mailtrap MCP →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Capacitor - Shared memory for your team’s coding agents.
Capacitor - Shared memory for your team’s coding agents.
Make coding agent sessions - Searchable, Shareable, Vendor-neutral & Scored.
Try For Free →
CodeScene MCP ServerCodeScene MCP Server
CodeScene MCP Server
Your agent targets a perfect 10 Code Health score. Deterministic. Every commit.
Try For Free →
Give your AI the whole web as clean markdownGive your AI the whole web as clean markdown
Give your AI the whole web as clean markdown
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
Categories
Developer Tools
Registryactive
Packagemcp-stdio-shellguard
TransportSTDIO
UpdatedMay 29, 2026
View on GitHub

More from studiomeyer-io

  • MCP Tenant Pair
  • mcp-armor
  • StudioMeyer Personal Suite
  • MCP Server Attestation
  • StudioMeyer Academy1
  • StudioMeyer Video2
  • MCP Hook Conformance
  • MCP Protocol Conformance

Related Developer Tools MCP Servers

View all →
io.usewire avatar
Lenny's Podcast Transcripts

io.usewire/lennys-podcast

Search 286 episodes of product management wisdom from top leaders at Figma, Airbnb, Linear.
james-h-millett avatar
Drug Landscape

james-h-millett/drug-landscape

**Pharma intelligence as a Claude / Cursor / Continue / Zed / Cline / Windsurf tool.** Drug Landscape exposes 11 MCP tools over `https://druglandscape.com/api/mcp` covering: - **156,000+ drugs** — FDA + EMA + MHRA + PMDA approved, plus pipeline candidates - **480,000+ clinical trials** — from ClinicalTrials.gov - **915 pharmaceutical companies** — with SEC ticker + pipeline - **61 disease areas** — treatment landscape + guidelines ### Tools - `lookup_drug` — full profile by brand, generic, or slug - `lookup_disease` — treatment landscape for any disease - `lookup_company` — company + pipeline + ticker - `lookup_trial` — trial by NCT ID - `search` — global semantic search - `compare_drugs` — side-by-side drug comparison - `browse_drugs` — filter by phase, area, class, target - `get_pipeline` — full company pipeline - `get_drugs_in_class` — pharmacologic class lookup (PD-1, GLP-1, JAK…) - `get_drugs_for_target` — molecular target lookup (EGFR, HER2, PCSK9…) - `define` — pharma glossary (NDA, PDUFA, ORR, QALY, ADC…) ### Why use it Every response includes the canonical URL of the entity (e.g. `https://druglandscape.com/drug/keytruda`). Cite that URL and the LLM has already linked to underlying primary sources — FDA label, EPAR, NICE TA, ClinicalTrials.gov, SEC filing, USPTO patent, PubMed paper. Free with no API key. Reasonable rate limits via Vercel edge cache. ### Example prompts - "What's Keytruda's mechanism and approved indications?" - "Compare Ozempic and Mounjaro side-by-side." - "List every Phase 3 PD-1 inhibitor in oncology." - "What's in Eli Lilly's pipeline for obesity?" ### Resources - Website: [druglandscape.com](https://druglandscape.com) - API docs: [druglandscape.com/api-docs](https://druglandscape.com/api-docs) - Source: [github.com/JamesMildog/drugs-landscape](https://github.com/JamesMildog/drugs-landscape)
james-h-millett avatar
Drug Landscape

james-h-millett/drug-landscape-b71fbc77

**Pharma intelligence as a Claude / Cursor / Continue / Zed / Cline / Windsurf tool.** Drug Landscape exposes 11 MCP tools over `https://druglandscape.com/api/mcp` covering: - **156,000+ drugs** — FDA + EMA + MHRA + PMDA approved, plus pipeline candidates - **480,000+ clinical trials** — from ClinicalTrials.gov - **915 pharmaceutical companies** — with SEC ticker + pipeline - **61 disease areas** — treatment landscape + guidelines ### Tools - `lookup_drug` — full profile by brand, generic, or slug - `lookup_disease` — treatment landscape for any disease - `lookup_company` — company + pipeline + ticker - `lookup_trial` — trial by NCT ID - `search` — global semantic search - `compare_drugs` — side-by-side drug comparison - `browse_drugs` — filter by phase, area, class, target - `get_pipeline` — full company pipeline - `get_drugs_in_class` — pharmacologic class lookup (PD-1, GLP-1, JAK…) - `get_drugs_for_target` — molecular target lookup (EGFR, HER2, PCSK9…) - `define` — pharma glossary (NDA, PDUFA, ORR, QALY, ADC…) ### Why use it Every response includes the canonical URL of the entity (e.g. `https://druglandscape.com/drug/keytruda`). Cite that URL and the LLM has already linked to underlying primary sources — FDA label, EPAR, NICE TA, ClinicalTrials.gov, SEC filing, USPTO patent, PubMed paper. Free with no API key. Reasonable rate limits via Vercel edge cache. ### Example prompts - "What's Keytruda's mechanism and approved indications?" - "Compare Ozempic and Mounjaro side-by-side." - "List every Phase 3 PD-1 inhibitor in oncology." - "What's in Eli Lilly's pipeline for obesity?" ### Resources - Website: [druglandscape.com](https://druglandscape.com) - API docs: [druglandscape.com/api-docs](https://druglandscape.com/api-docs) - Source: [github.com/JamesMildog/drugs-landscape](https://github.com/JamesMildog/drugs-landscape)
james-robson avatar
Inthread

james-robson/inthread

Sign in with email or GitHub. Invite others. Agent-to-agent, threaded, async MCP message inbox.
jqknono avatar
Pic Gen

jqknono/pic-gen

Generate covers, Mermaid diagrams, cards, and terminal screenshots/images for AI workflows.
kindrat86 avatar
GitDealFlow Signal

kindrat86/mcp-deal-flow-signal

GitHub-derived engineering acceleration signals for VC deal flow — surface stealth startups before TechCrunch covers them. Weekly-refreshed dataset of 109 startups across 20 sectors (AI/ML, Dev Tools, Infra, FinTech, +16 more), ranked by 14-day commit velocity change, contributor growth, and repo signal. **Free tools (no API key):** - `get_trending_startups` — Top 20 across all sectors - `search_startups_by_sector` — Per-sector rankings - `get_startup_signal` — Full profile with Acceleration Score - `get_signals_summary` — Dataset metadata, refresh cadence - `get_scout_receipts` — Scout Score (0–100) for any GitHub user via starring history - `get_methodology` — Sources, metrics, thresholds **Paid:** `get_deep_signal` — €0.19/call, enriched per-startup signal. Credits at https://signals.gitdealflow.com/agents/credits **Prompts:** weekly_digest · sector_deep_dive · find_dark_horse · compare_startups · acceleration_memo **Built for** solo VCs, scout programs, and developer-investors who want quantitative signal before warm intros. **Source:** https://gitdealflow.com · **Methodology:** https://signals.gitdealflow.com/methodology