RedAmon is an AI framework that connects reconnaissance, exploitation, and post-exploitation activities into an automated security-testing pipeline, while organizing findings and proposing code fixes. It is for authorized penetration testing, security research, and education. The catalogue entries provide skills and instructions for working with the framework.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/samugit83/redamonnpx agentmods add skills/samugit83/redamon/mcp-server-toolsWrote 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/skills/samugit83/redamon/mcp-server-tools)<a href="https://agentmods.dev/skills/samugit83/redamon/mcp-server-tools"><img src="https://agentmods.dev/badge/skills/samugit83/redamon/mcp-server-tools/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/skills/samugit83/redamon/mcp-server-tools"><img src="https://agentmods.dev/badge/skills/samugit83/redamon/mcp-server-tools.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.00129 | $0.01793 |
| Opus 5.5 | $0.00052 | $0.00717 |
| Sonnet 5.5 | $0.00026 | $0.00359 |
| Haiku 4.5 | $0.00013 | $0.00179 |
Grade A, and why
mcp-server-tools 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 15d 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 — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
When to Use
- Adding, removing or renaming an inbound MCP tool, or changing its description, arguments, annotations or scopes.
- Changing a token scope, its label or blurb, the expiry presets or the token prefix.
For a tool RedAmon's OWN agent calls (outbound, mcp/servers/), use
agentic-tool-integration. For making a recon setting writable over MCP, use
project-settings-cascade. The tools that exist are listed by the server itself and by
the generated reference page, never by this skill.
Critical Rules
- ALWAYS run
npm run docs:mcpinwebapp/after any change this skill's trigger names, and commitMCP-API-Reference.mdinside theredamon.wikirepo. A main-repo commit moves only the submodule pointer. The page is rendered by apiReference.ts; a hand edit is overwritten by the next run. - NEVER set
destructiveHint: falseon a tool that overwrites or aborts existing state. In the MCP specfalsemeans only additive updates, and clients use it to decide when to ask the user first. No test checks this. - ALWAYS add an
EXAMPLE_EXTRA_ARGSentry in apiReference.ts when a tool's body requires an argument its JSON Schema marks optional. The generated example sends only schema-required arguments, and the test calls every example. - ALWAYS give a new tool an
ONBOARDING_PLAYBOOKentry and a capability area in playbook.ts. The Agent Onboarding pack is generated from the livetools/list, and a coverage test in onboarding.test.ts fails the moment a tool ships withoutwhenToUse+ gotchas, or sits in zero or two capability areas. Also decide whether any profile in profiles.ts shouldleansOnit; that half is editorial and is not enforced. - A tool that reads NO backend must be added to
BACKEND_FREE_TOOLSin apiReference.test.ts. That file proves a tool's declared scopes are enough by calling it and expecting the generic database failure, because every Prisma model is mocked away. A tool derived purely from constants (describe_recon_settings,list_recon_presets) SUCCEEDS instead, and would otherwise read as a failure. Do not relax the assertion; name the tool. - When a capability flips from "cannot" to "can", sweep the old claims. Add the old
claim's phrasing to
STALE_CLAIMSin toolNameDrift.test.ts, and make sure every file carrying agent-facing strings is in itsAGENT_FACINGlist: the "nothing here can mute" lines outlived the feature inserver.tsandprofiles.ts, which were outside it. - Keep agent op names out of agent-facing files.
TOOL_SHAPEDonly knows the verbs it lists, so a new tool's verb goes there; an op literal such aslist_mutedormute_manyin an agent-facing file then reads as an unknown tool. Wrap ops in triageGraph.ts helpers instead. - Watch the
writebucket headroom. apiReference.test.ts calls every tool with ONE token inside one test, against thewritelimit (10/min by default). A new write tool that overflows it must raise that test's limit, not drop a call. - A required ARRAY argument needs an
EXAMPLE_EXTRA_ARGSentry.placeholderForhas no array branch, so the generated example would name no item (mute_findings'findingIds). - A new scope gates writes; reads go under an existing read scope. Every
ScopeAccessin scopeCopy.ts isreadorwriteexceptkali:exec, the oneread-writescope. A tool that only reads what a write needs (get_finding_evidenceforsubmit_finding_review) belongs under the read scope, so a read-only token can see what an agent would act on. - Order the body's checks:
requireScopefirst, then noMcpToolErrorbefore the first backend read. The apiReference test proves declared scopes by calling each example and expecting the mocked database failure; a refusal on the example's placeholder arguments ahead of that read looks like a scope gap. A tool that STARTS something checks access (and its own caps) before it spends a rate token, so a refused start costs the caller nothing. - Free text a caller writes goes in
UNAUDITED_ARGSin server.ts.auditDetailcopies every other string argument into the audit row, which also prints as a console line; a quote is target text, and a reason is recorded, better, by the tool that owns it.
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.
- 15d ago Changed · +28 lines dff8a499a8bf
- 1mo ago First seen · 95 lines · 129 tokens per session scan A 6338bf41bbf5
mcp-server-tools is a skill published in the GitHub repository samugit83/redamon (3,106 stars, last pushed today), licensed MIT. It adds 129 tokens to every session and 1,793 once invoked, about $0.0005 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-09-15.
Other skills, from other repositories
detecting-shadow-api-endpoints
Discover and inventory shadow API endpoints that operate outside documented specifications using traffic analysis, code scanning, and API discovery platforms.
agent-crdt-synchronizer
Agent skill for crdt-synchronizer - invoke with $agent-crdt-synchronizer.
agent-raft-manager
Agent skill for raft-manager - invoke with $agent-raft-manager.
hunt-api-misconfig
Hunt API security misconfiguration — mass assignment, prototype pollution, HTTP verb tampering. Mass assignment: send {isadmin:true, role:admin, verified:true} on profile/account/reset endpoints — server blindly applies. JWT signature/crypto forging (alg:none, key confusion, kid/jku) is owned by hunt-jwt-crypto; this…
stripe-projects
Use when the user wants to provision infrastructure or third-party services using Stripe Projects. Triggers: "I need a database", "set up auth", "add caching", "give me a Postgres", "provision Redis", "I need hosting", "add a vector DB", "get me an API key for X", "get credentials for X", "sign up for a service", "set…
implementing-api-rate-limiting-and-throttling
Implements API rate limiting and throttling controls using token bucket, sliding window, and fixed window algorithms to protect against brute force attacks, credential stuffing, resource exhaustion, and API abuse. The engineer configures per-user, per-IP, and per-endpoint rate limits using Redis-backed counters, API…