Borrowing it
Nothing to install: this file belongs to mokhtarabadi/blowsh-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/mokhtarabadi/blowsh-mcp/main/AGENTS.mdgit clone --depth 1 https://github.com/mokhtarabadi/blowsh-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/mokhtarabadi/blowsh-mcp/agents-md)<a href="https://agentmods.dev/instructions/mokhtarabadi/blowsh-mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/mokhtarabadi/blowsh-mcp/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/instructions/mokhtarabadi/blowsh-mcp/agents-md"><img src="https://agentmods.dev/badge/instructions/mokhtarabadi/blowsh-mcp/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.03390 | $0.03390 |
| Opus 5.5 | $0.01356 | $0.01356 |
| Sonnet 5.5 | $0.00678 | $0.00678 |
| Haiku 4.5 | $0.00339 | $0.00339 |
Grade A, and why
blowsh-mcp AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 20d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
blowsh-mcp — Project Context Hub
Project Overview
blowsh-mcp is a Model Context Protocol (MCP) server that exposes Browsh — a fully JavaScript-capable terminal browser backed by headless Firefox — to AI agents. It renders any modern web page after full JS execution and returns plain text, HTML, or Markdown. Current version is 2.6.0 (see CHANGELOG.md); 2.0.0 added web search, link extraction, batch fetching, structured extraction, an SSRF guard, and a TTL render cache.
Tech stack: TypeScript 7 (strict, NodeNext ESM), Node.js >= 20.18, @modelcontextprotocol/sdk 1.30, zod 4, axios, cheerio, html2markdown CLI (external binary), Browsh CLI + Firefox (external binaries), Docker (multi-stage fat image).
Setup & Dev Commands
- Build:
npm run build(tsc, outputsdist/) - Start:
node dist/server.js(stdio MCP transport, default) - Singleton HTTP:
MCP_TRANSPORT=http MCP_HOST=0.0.0.0 MCP_PORT=8107 node dist/server.js(in Docker; host publish stays-p 127.0.0.1:8107:8107) - Dev:
npm run dev(tsx watch-less runner) - Docker build:
docker build -t blowsh-mcp:latest . - Docker run (MCP over stdio — MUST include
-i):docker run --rm -i blowsh-mcp:latest - Verify: build,
docker build, then an MCP JSON-RPC smoke test over stdio (initialize → tools/list → tools/call) - Lint: none configured; strict tsc is the gatekeeper
Actionable Guardrails (Do's & Don'ts)
- Don't run the server directly on this machine for fetch tests — Firefox/Browsh/html2markdown are NOT installed locally.
-> Do test through Docker:
docker run --rm -i blowsh-mcp:latest. - Don't use
firefox-esras a bare binary name for Browsh — it resolves/usr/bin/firefox-esronly. -> Do setBROWSH_FIREFOX_PATH=/usr/bin/firefox-esrin the Dockerfile (already done). - Don't return error strings as successful tool results — tools must throw
FetchErrorso MCP responds withisError: true. -> Do propagateFetchError(with HTTP status when known) and letserver.tsformat it. - Don't bypass the SSRF guard (
assertSafeUrl) when adding new fetch paths. -> Do callassertSafeUrl(url)before any URL reaches Browsh. - Don't execute Git commands like
git add,git commit, orgit pushautonomously or try to guess when to stage code. -> Do execute Git commands ONLY when explicitly instructed by an Orchestrator task block. Otherwise, rely on thecustom_context_stage_and_inject_diffMCP tool. -> Exception:git mvis permitted autonomously for moving task files between Kanban directories (backlog,in-progress,qa,completed,archive). - Don't read
context-reports/markdown files yourself. -> Do generate them using the MCP server — context reports viacustom_context_read_source_files, tree reports viacustom_context_create_tree_report("create a tree of the project") — and hand the file path to the Manager. - Don't guess blindly when facing complex bugs, deadlocks, or silent timeouts.
-> Do utilize the
debug-instrumentationskill to inject strategic logs and trace the runtime execution path. - Don't write bash scripts without strict mode or mask errors with
2>/dev/nullon data commands. -> Do follow the Defensive Shell Protocol:set -euo pipefail, ban error masking, sidecar isolation for Docker backups. Seedocs/conventions.md. - Don't perform financial mutations without snapshotting the prior state or allow nulls in monetary aggregations.
-> Do follow the Universal Financial Ledger Standard: snapshot-on-write,
$ifNullprecedence, discrepancy alerting, deep config merging. Seedocs/conventions.md. - Don't leave task numbers in visible prompt prose, section headings, or skill instructions.
-> Do keep task-number references in code comments, CHANGELOG entries, task files, history archives, and HTML comments only. See
docs/conventions.md. - Don't carry over assumptions, partial results, or architectural hypotheses from a previous task. -> Do flush context and treat every task as contextually independent (Buffer Isolation directive in validation-phase).
- Don't execute raw, informal, or non-English (Farsi) prompts directly.
-> Do load the
prompt-refactorskill to translate and expand the intent into an elite English spec first. (Note: If you receive a standard XML task block, skip this and execute normally). - Don't attempt to resolve cross-disciplinary ambiguity within a single persona.
-> Do trigger the Multi-Agent Brainstorming Loop if the Manager explicitly requests brainstorming or a task exhibits cross-disciplinary ambiguity. Interpret the
<brainstorming_session>results in backlog tasks as non-functional guidelines that govern execution.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 20d ago Changed · +14 tokens per session d6011bb22518
- 1mo ago Changed · +1 lines · +57 tokens per session 7dd50afe1628
- 1mo ago Changed · +2 lines · +57 tokens per session 93ec1bf50936
- 2mo ago Changed · +53 lines · +1,674 tokens per session 212eb99fb7e2
- 2mo ago First seen · 87 lines · 1,588 tokens per session scan A f72b036b60b1
blowsh-mcp AGENTS.md is an instructions file published in the GitHub repository mokhtarabadi/blowsh-mcp (3 stars, last pushed 18d ago), licensed MIT. It adds 3,390 tokens to every session, about $0.0136 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
blowsh-mcp AGENTS.md compared with instructions from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| blowsh-mcp AGENTS.mdmokhtarabadi/blowsh-mcp | Instructions file | 3 | 18d ago | MIT | A | 3,390 | Codex, OpenCode |
| vscode buildNext.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 9,719 | GitHub Copilot |
| next.js AGENTS.mdvercel/next.js | Instructions file | 143k | yesterday | MIT | A | 7,461 | Codex, OpenCode |
| langchain AGENTS.mdlangchain-ai/langchain | Instructions file | 149k | yesterday | MIT | A | 4,680 | Codex, OpenCode |
| vscode oss-third-party-notices.instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 5,516 | GitHub Copilot |
| vscode copilot-instructions.mdmicrosoft/vscode | Instructions file | 195k | yesterday | MIT | A | 3,093 | GitHub Copilot |
| deepseek-harness AGENTS.mddeepseek-ai/deepseek-harness | Instructions file | 274k | 2d ago | MIT | A | 4,313 | Codex, OpenCode |