Skip to main content
Glama
670,106 tools. Updated 2026-10-17 14:14

"Bash shell scripting and command line resources" matching MCP tools:

  • WRITE to the Knowledge Base. This tool has TWO modes: **MODE 1 — SAVE a new card**: Provide `content` with full Markdown following the ACTIONABLE schema below. **MODE 2 — REPORT OUTCOME**: Provide `kb_id` + `outcome` ('success' or 'failure'). WHEN TO USE: - Mode 1: After successfully fixing a bug IF no existing KB card covered it. - Mode 2: ALWAYS after applying a solution from `read_kb_doc` and running verification. INPUT: - `content`: (Mode 1) Full Markdown KB card content — follow the EXACT template below. - `overwrite`: (Mode 1) Set to True to update an existing card. - `kb_id`: (Mode 2) ID of the card to report outcome for. - `outcome`: (Mode 2) 'success' or 'failure'. - `enrichment`: (Mode 2, optional) Additional context to merge into the card when outcome is 'failure'. ━━━ CARD TEMPLATE (Mode 1) — copy this structure EXACTLY ━━━ ``` --- kb_id: "[PLATFORM]_[CATEGORY]_[NUMBER]" # e.g. WIN_TERM_001, CROSS_DOCKER_002 title: "[Short Title — max 5 words]" category: "[terminal|devops|supabase|fastmcp|network|database|...]" platform: "[windows|linux|macos|cross-platform]" technologies: [tech1, tech2] complexity: [1-10] criticality: "[low|medium|high|critical]" created: "[YYYY-MM-DD]" tags: [tag1, tag2, tag3] related_kb: [] --- # [Short Title — max 5 words] > **TL;DR**: [One sentence — what's the problem + solution] > **Fix Time**: ~[X min] | **Platform**: [Windows/Linux/macOS/All] --- ## 🔍 This Is Your Problem If: - [ ] [Symptom 1 — specific symptom or error message] - [ ] [Symptom 2 — specific error code or log line] - [ ] [Symptom 3 — environment/version condition] **Where to Check**: [console / logs / env / task manager / etc.] --- ## ✅ SOLUTION (copy-paste) ### 🎯 Integration Pattern: [Global Scope] / [Inside Init] / [Event Handler] ```[language] # [One-line comment — what this code does] [depersonalized code WITHOUT specific paths, use __VAR__ for things to replace] ``` ### ⚡ Critical (won't work without this): - ✓ **[Critical Point 1]** — [why it's essential] - ✓ **[Critical Point 2]** — [common mistake to avoid] ### 📌 Versions: - **Works**: [OS/library versions where confirmed working] - **Doesn't Work**: [OS/library versions where known broken] --- ## ✔️ Verification (<30 sec) ```bash [single command to verify the fix worked] ``` **Expected**: ✓ [Specific output or behavior that confirms success] **If it didn't work** → see Fallback below ⤵ --- ## 🔄 Fallback (if main solution failed) ### Option 1: [approach name] ```bash [command] ``` **When**: [condition to use this option] | **Risks**: [what might break] ### Option 2: [alternative approach] ```bash [command] ``` **When**: [condition] | **Risks**: [what might break] --- ## 💡 Context (optional) **Root Cause**: [1 sentence — why this problem occurs] **Side Effects**: [what might change after applying the fix] **Best Practice**: [how to avoid this in future — 1 point] **Anti-Pattern**: ✗ [what NOT to do — common mistake] --- **Applicable**: [OS, library versions, conditions] **Frequency**: [rare / common / very common] ``` ━━━ END OF TEMPLATE ━━━ RULES for ACTIONABLE cards: 1. Solution FIRST — after diagnosis, code immediately 2. Depersonalize — no names, project names, or absolute paths 3. Use `__VAR__` markers for anything the user must replace 4. One Verification command, result visible in <30 sec 5. Fallback — 1-2 options max, always include When/Risks 6. Context at End — WHY is optional reading for curious agents
    ConnectorNo auth
  • Run a single shell command on one of your servers and return its combined output and exit code. Runs keyless over Termalin's tunnel — no SSH key, and the server needs no open inbound port. Each call is a fresh shell (cd does not persist — chain with &&). Keep a call under about 90 seconds: for anything longer (installs, builds, backups) use job_start and check on it with job_status.
    Connector
    Destructive
    No auth
  • Returns instructions for creating a DPF account, verifying its email, resending the verification code, or resetting a forgotten password — it never performs these itself and never asks for a password. A password typed into this chat would sit in the conversation transcript, so every action instead returns the DPF website's own form, or a curl command that reads the password from a shell variable the user sets themselves in their own terminal. Hand the command to the user to run — do not run it yourself even if you have shell access, since composing the export line would require seeing the password. action "register": requires email, firstName, lastName, and termsAccepted: true (only after the user has explicitly agreed to the DPF Terms of Service and Privacy Policy in this conversation). action "verify": confirm the 6-digit code DPF emailed after registration (requires otp). action "resend": re-send that code if it never arrived. action "forgot-password": request a password-reset code (requires email). action "reset-password": submit that code and set a new password (requires otp).
    ConnectorOAuth
  • Run a shell command inside a running container instance on Cycle, over the instance's SSH gateway, and return the shell output. Use this for one-time setup that must run inside a container — e.g. initializing a MongoDB replica set with 'mongosh --eval "rs.initiate({...})"'. The instance must be RUNNING (start the container first). If the container has multiple instances, pass 'instance' (id or hostname); otherwise the sole instance is used. Containers reach each other by hostname over the environment's private network, so commands can reference sibling containers (e.g. mongo-1:27017). This executes an arbitrary command inside your container — it is powerful and mutating. Always call with preview:true first: it echoes back the exact command and target without making any connection, so the user can confirm it is what they intend (nothing is validated — the command may still fail when run). Confirm with the user, then call again without preview. Never run a command without explicit confirmation. Short-lived SSH credentials are generated for the run and expired immediately after. The command runs in an interactive shell; make destructive commands idempotent where possible.
    Connector
    Destructive
    API key
  • Run one Comment.io command or restricted shell script in your workspace, exactly as an SSH exec: same commands, output and exit codes. Start with {"command":"help"}. The command runs on Comment.io, not on your machine; pass text for --stdin commands in stdin. Every call ends within 45 seconds: error: deadline (exit 3) means the outcome is unknown and writes may still land within seconds. After a deadline, a nonzero exit or a lost response, reread state rather than repeating a mutation.
    Connector
    Destructive
    OAuth
  • Change execution limits, approvals or scripting for an existing deployment; omitted fields remain unchanged. Requires owner/admin and deployments:admin scope for narrowed credentials; only the owner may toggle dangerousScriptingEnabled. May restrict future work or enable arbitrary Blender Python. Validates platform and plan ceilings, records a policy version, and rejects concurrent policy edits. Use deployment_update to rename or enable/disable the workspace, or deployments_list to find its slug. Returns policyVersion and scriptingEnabled.
    Connector
    Destructive
    API key

Matching MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Allows executing shell commands within a secure Docker container through Claude's MCP interface, providing Kubernetes tools and isolated environment without host Docker daemon access.
    2
    35 npm
    5
    MIT

Matching MCP Connectors

  • Run bash on the same remote sandbox as FLOWRA_JS_REMOTE_WORKBENCH for this session.id. Files under /home/user/files stay between calls. The shell itself starts fresh each time. With session.id and useWorkbenchSnapshot (default true), the latest FLOWRA_MULTI_EXECUTE_TOOL snapshot is at /home/user/files/multi_execute.json (also FLOWRA_WORKBENCH_JSON). That snapshot only exists if the earlier call set syncResponseToWorkbench: true. Use this for shell work on those files: jq, grep, sort, unzip, wc, listing directories. It has no run_tool, invoke_llm, or proxy_execute helpers and keeps no variables between calls. To call app tools, an LLM, or a connected API from the sandbox, or to keep state across steps, use FLOWRA_JS_REMOTE_WORKBENCH. Neither tool can call FLOWRA_MULTI_EXECUTE_TOOL or any other meta tool.
    Connector
    Destructive
    API key
  • Get upload URLs for a local image/video/audio file that has no public URL to hand to `popcraft_media_import_url`. THIS IS THE TOOL FOR VIDEO and for anything over 20 MB. Returns a `proxy_upload_url` on Popcraft's OWN host (PUT the bytes there — total file size up to the per-type cap: video 500 MB, image 30 MB, audio 50 MB; each individual REQUEST is capped at 28 MB by the transport, so files over 28 MB use the chunked recipe B — same URL, same total cap) and an `upload_url` for a direct PUT to storage.googleapis.com (fewer hops, but a different host that sandboxed clients often cannot reach). The result text contains ready-to-run shell recipes including the chunked one for large files — RUN one of them rather than reimplementing the upload. Running a shell command also keeps the file bytes out of your context, which is why this beats `popcraft_media_upload_inline` for video: that tool needs the whole file base64-encoded in its arguments, so it is only practical for small files. CAUTION on platform-mediated clients (e.g. claude.ai connectors): tool calls are made from the platform's servers, so this call succeeding does NOT prove your shell can reach Popcraft — run the 5-second egress probe in recipe 0 first. If your shell's egress is blocked: prefer asking the user for any shareable link to the file (Drive/Dropbox/etc) and `popcraft_media_import_url` (server-side fetch, immune to client egress blocks); if no link exists, open `popcraft_media_upload_widget` when the client renders widgets. After the upload, call `popcraft_media_confirm` with the returned `media_id` to verify it landed, then pass that `media_id` as a `medias[].value` for `popcraft_generate_image` / `popcraft_generate_video` / `popcraft_generate_audio`. If you have no shell and no network at all, fall back to `popcraft_media_upload_inline` — but never tell the user to upload the file on the website instead.
    ConnectorOAuth
  • Get upload URLs for a local image/video/audio file that has no public URL to hand to `popcraft_media_import_url`. THIS IS THE TOOL FOR VIDEO and for anything over 20 MB. Returns a `proxy_upload_url` on Popcraft's OWN host (PUT the bytes there — total file size up to the per-type cap: video 500 MB, image 30 MB, audio 50 MB; each individual REQUEST is capped at 28 MB by the transport, so files over 28 MB use the chunked recipe B — same URL, same total cap) and an `upload_url` for a direct PUT to storage.googleapis.com (fewer hops, but a different host that sandboxed clients often cannot reach). The result text contains ready-to-run shell recipes including the chunked one for large files — RUN one of them rather than reimplementing the upload. Running a shell command also keeps the file bytes out of your context, which is why this beats `popcraft_media_upload_inline` for video: that tool needs the whole file base64-encoded in its arguments, so it is only practical for small files. CAUTION on platform-mediated clients (e.g. claude.ai connectors): tool calls are made from the platform's servers, so this call succeeding does NOT prove your shell can reach Popcraft — run the 5-second egress probe in recipe 0 first. If your shell's egress is blocked: prefer asking the user for any shareable link to the file (Drive/Dropbox/etc) and `popcraft_media_import_url` (server-side fetch, immune to client egress blocks); if no link exists, open `popcraft_media_upload_widget` when the client renders widgets. After the upload, call `popcraft_media_confirm` with the returned `media_id` to verify it landed, then pass that `media_id` as a `medias[].value` for `popcraft_generate_image` / `popcraft_generate_video` / `popcraft_generate_audio`. If you have no shell and no network at all, fall back to `popcraft_media_upload_inline` — but never tell the user to upload the file on the website instead.
    ConnectorOAuth
  • Upload a PDF attachment without sending file bytes through this tool. Required: attachment.filename (local PDF path; no control characters). Optional: attachment.name only if the Common Paper attachment name should differ from the file basename; attachment.description. Do not send uploaded_by — the OAuth-authenticated MCP user is recorded as the uploader. Returns JSON with curl_command where the path is already shell-escaped — run that command exactly as returned. Do not base64-encode the PDF into this tool and do not use generate-api-key for uploads.
    ConnectorOAuth
  • Upload a PDF attachment without sending file bytes through this tool. Required: attachment.filename (local PDF path; no control characters). Optional: attachment.name only if the Common Paper attachment name should differ from the file basename; attachment.description. Do not send uploaded_by — the OAuth-authenticated MCP user is recorded as the uploader. Returns JSON with curl_command where the path is already shell-escaped — run that command exactly as returned. Do not base64-encode the PDF into this tool and do not use generate-api-key for uploads.
    ConnectorOAuth
  • Preview up to 10 administrative shell commands, in order, on a VPS owned by this company - install packages, edit and restart services, clone and build an application, write files, adjust the firewall. The first call resolves and returns the full numbered execution plan, including prerequisites added by the server rules marked source: server_rule, and a single use 15-minute confirmationToken; it changes nothing on the server. Show the whole list to the user. The token binds this plan; if the rules change it before execution, nothing runs and a new preview and approval are required. Only after they approve, repeat the same arguments plus confirmationToken with a new requestId (preview and execute need different requestIds). Execution stops at the first non-zero exit and reports which command failed. The server's own policy decides what runs: its BIOS rules, the shared safety classifier and its autonomy level. Commands in the dangerous class (mass deletion, disk formatting, user removal, reinstall) are refused as PANEL_ONLY; a server whose autonomy level requires a TOTP for moderate commands answers PRECONDITION_REQUIRED and nothing runs, because a connected app cannot ask for that code: the customer unlocks it in the hub on the server Morpheus tab, or raises the autonomy level there, and only then is a retry worth making. Each line is ONE program: no unquoted ; && || | and no command substitution - put the next step in the next line. Quotes and redirection are allowed; write a system file with sudo -n tee /etc/path <<< "content" (a shell redirect into /etc is the dangerous class and refused). Prefix root work with sudo -n. Every run is logged with this connection's id and the company is notified. Use run_command for reads; use this only for changes the user asked for.
    Connector
    Destructive
    OAuth
  • Search the Zero tool registry. Tools are named, typed operations grouped into toolboxes (entityOps, scene, appearance, lighting, …). With no arguments, returns the toolbox overview — one row per toolbox with its purpose and tool count. `toolbox` returns all of that toolbox's tools; `query` on its own searches every tool and toolbox this world can reach — its own, the builtin library, installed libraries and imports — by meaning (`mode: "semantic"`) or by words (`mode: "keyword"`), and answers the top 25 compact rows: the callable identity, whether the hit is a tool or a toolbox (drill into a toolbox with `toolbox`), and a one-line purpose. The answer names the mode and slot that ran, the worlds it covered, and its status. A `query` given with a `toolbox` searches inside that toolbox's registered tools instead. Pass `schema: true` on a `toolbox` drill-in for full signatures, args, and examples inline, or call describe_tool for one tool's full schema. Run a result with use_tool, from Luau as tools.use("<toolbox>", "<name>", ...), or in the engine shell (the bash tool) as `zero <toolbox> <name> [args]` — where `zero` browses the same registry and `--help` answers at every level (`zero`, `zero <toolbox> --help`, `zero <toolbox> <tool> --help`). Answered by the attached engine, so it needs one: world.open attaches one. `guides` answers without an engine.
    ConnectorAPI key
  • Run a site's own command line tool as the site's owner, in the site's folder: bin/console for Shopware 6 and PrestaShop, artisan for Laravel, drush for Drupal, cli/joomla.php for Joomla, ghost (ghost-cli) for Ghost (list_sites shows each site's console; Magento 2 has the magento tool and WordPress the wp tool). Pass the command and its options as args, like ["cache:clear"] or ["plugin:list", "--json"]. For a site in a Docker container it runs inside the container. Listing and status commands run straight away; uninstalling or deleting, anything that drops or resets the database, generating new keys, an admin login link and commands that run arbitrary PHP (tinker, php:eval) need approval. Symfony's console and artisan are run with --no-interaction; drush asks nothing only when you pass -y. Set background true for slow commands.
    Connector
    Destructive
    OAuth
  • Adds new screenshots for the listing: PNGs, 1366 x 768 up to 3840 x 2160, at most 50 MB each. Call it without files for a link valid for an hour, and PUT one PNG per request with the returned curl command; each upload answers with an id. In ChatGPT, which has no shell, call pick_screenshots instead, even when the person attached the PNGs to a message: its file picker passes them here as files (up to 10) and tells you the ids. Then pass the ids, in order, to set_screenshots. Uploads stay private until they are sent.
    ConnectorAPI key
  • Scan source code for injection vulnerabilities: SQL injection, command injection, path traversal via unsafe string concatenation/unsanitized input. Supports Python, JavaScript, TypeScript, Java, Go, Ruby, Shell, Bash. Use to detect input-handling bugs; for secrets use check_secrets. Companion code-security tools: check_secrets (hard-coded credential detection), check_dependencies (known-CVE vulnerability audit), check_headers (live HTTP security-header validation), scan_headers (live HTTP scan via domain). Free: 30/hr, Pro: 500/hr. Returns {total, by_severity, findings}. No data stored.
    ConnectorNo auth
  • PREFERRED tool for sending work to an AI agent. Dispatches a task to the agent's inbox — picked up and executed automatically. No list ID needed. REQUIRES the agent:dispatch permission on this connection (CODE:/SHELL: tasks also require agent:dispatch:code) — reconnect and tick the agent checkbox(es) if refused. Routing is by TITLE PREFIX only: CODE: SHELL: PLAN: MCP: → local Claude Code on Mike's PC; RESEARCH: WRITE: REVIEW: → cloud; no prefix (DEFAULT) → local while the PC agent is alive, else cloud. The cloud agent refuses CODE/SHELL/PLAN/MCP. Use "agent" param to target a specific agent (default: claude-code-local). Use tascan_list_agents to discover available agents; track progress with tascan_get_task (its "agent" block).
    ConnectorNo auth
  • SAFETY / OVERSIGHT CHECK before a dangerous or destructive action (shell command, file deletion, DB statement, network call). Call this to have VITNA check the action BEFORE you run it: it flags dangerous shell / SQL / secret-exfil / prompt-injection / suspicious-network patterns and returns { decision: allowed|blocked|flagged }. RESPONSE SHAPE DEPENDS ON THE KEY: an unclaimed trial key gets the decision label only, because the pattern detail is what makes the classifier worth stealing. A claimed key additionally gets threat_category, severity, reason (the rule names that matched, never the matched text), a threats[] array and a redacted echo of what was scanned, plus a signed audit record the user can review. VITNA evaluates and records; it does NOT enforce, so treat blocked / flagged as a stop and get human approval. This is how a user keeps you in check. Heuristic pattern match, not a sandbox: novel or obfuscated payloads can pass.
    ConnectorNo auth
  • Step-by-step integration instructions for actually compressing images — either through the @pipic/cli command-line tool (best for whole directories) or over plain HTTP (no Node required). Includes the output contract, exit codes, error codes and which failures are worth retrying.
    ConnectorNo auth
  • Build the authenticated download URL + a ready-to-run curl line for a zip export (character engine bundle, asset bundle, or map bundle). Run the curl in your own shell — zips are multi-MB binaries and must not be passed through the model. Phaser character exports may select size 512, 256, 128, or 64; the selected sheet/atlas pairs keep canonical size-agnostic filenames. Sparrow XML is character-only: preserve the bundle's Sparrow prefixes and multisparrow assetPath routing. This tool exports whole characters, not a dashboard single-animation selection. Requires SPRITESHIP_API_KEY to be set in that shell.
    ConnectorNo auth
  • Discover Gabriel's catalog of locally run command-line tools. Returns stable tool IDs, descriptions, source links, versions, requirements, installation instructions, usage examples, software/paper citations and optional follow/star/fork/share links and guidance. All computation runs on the user's own computer. This tool only returns curated static metadata; it never installs packages, loads plugins, fetches remote instructions, or executes code. Check each entry's release and verification status before recommending it.
    ConnectorNo auth