Agent Toolbox
NPM · AGENTOOLBOX-MCP · SCANNED AUG 3
26 deterministic, offline pre-action safety gates for AI agents, each with a signed verdict.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security86
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 16 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability76
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3340 tokens (~128/item across 26 items; 26 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage96
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 89% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · agentoolbox-mcp
claude mcp add solhammer-agent-toolbox -- npx -y agentoolbox-mcp
codex mcp add solhammer-agent-toolbox -- npx -y agentoolbox-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"solhammer-agent-toolbox": {
"type": "local",
"command": [
"npx",
"-y",
"agentoolbox-mcp"
],
"enabled": true
}
}
} openclaw mcp add solhammer-agent-toolbox --command npx --arg -y --arg agentoolbox-mcp
mcp_servers:
solhammer-agent-toolbox:
command: "npx"
args: ["-y", "agentoolbox-mcp"] {
"mcpServers": {
"solhammer-agent-toolbox": {
"command": "npx",
"args": [
"-y",
"agentoolbox-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +62
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → partial ▲ security
- Install scripts: unverified → pass ▲ security
- Malware scan: unverified → pass ▲ security
- Dependency health: partial → unverified ▼ functional
- MCP protocol: unverified → pass ▲ functional
- Maintenance: unverified → pass ▲ functional
- Stability: unverified → 0.20 ▲ functional
- License: unverified → pass ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → excellent ▲ functional
- Licence: MIT functional
- 1 Aug 26 −13
- Tool coverage: 100 → unverified ▼ functional
- Dependency health: unverified → partial ▲ functional
- 31 Jul 26 −7
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +2
- Malware scan: pass → unverified ▼ security
- Tool coverage: unverified → 100 ▲ functional
- 28 Jul 26 −20
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 44
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 94 packages
94 packages in the resolved dependency tree · 94 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
check_citation ~148
Validates US case-law citations (volume / reporter / page / year) against a bundled table of reporter abbreviations, flags malformed or implausible citations, and — when source text is supplied — checks quote fidelity to catch fabricated quotes. Deterministic and offline. Returns PASS/FLAG/BLOCK. Call before an agent presents a legal citation or quotation.
| Name | Type | Req | Description |
|---|---|---|---|
| citation | string | — | A single citation string, e.g. '347 U.S. 483 (1954)'. |
| citations | array | — | Multiple citations to validate. |
| quote | string | — | Optional quote to locate within sourceText. |
| sourceText | string | — | Optional source text to check a quote against. |
No output schema declared.
No examples provided.
check_infra_plan ~126
Static blast-radius / risk analysis of infrastructure-as-code against a bundled CIS/OPA-style ruleset. Accepts a Terraform plan JSON (terraform show -json), an AWS IAM policy JSON, or a Kubernetes manifest JSON. Flags public exposure, IAM wildcards, destroy/replace of stateful resources, privileged pods, and more. Deterministic and offline (no cloud credentials). Returns PASS/FLAG/BLOCK with findings.
| Name | Type | Req | Description |
|---|---|---|---|
| document | object | yes | The already-parsed JSON document to analyze. |
| format | string | yes | Document format. |
| policy | object | — | — |
No output schema declared.
No examples provided.
check_tool_args ~140
Validates a proposed tool/function call's arguments against a caller-supplied schema and policy: types, required fields, enums, numeric ranges, string length/pattern, null-safety, unknown args, unit-coercion (dollars-vs-cents), and cross-field rules. Deterministic and offline. Returns PASS/FLAG/BLOCK with violations. Call before executing a tool call involving money, quantities, or destructive effects.
| Name | Type | Req | Description |
|---|---|---|---|
| args | object | yes | The proposed argument map to validate. |
| policy | object | — | — |
| schema | object | yes | Validation schema. |
| tool | string | — | Optional name of the tool being called. |
No output schema declared.
No examples provided.
compute_deadline ~148
Computes a legal deadline by counting court days (skipping weekends and US federal holidays) or calendar days from a start date, forwards or backwards. Deterministic and offline. Returns the resolved date and what was skipped. Use for filing deadlines and statute-of-limitations math.
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | yes | Number of days to count (>= 0). |
| direction | string | — | Count forward or backward (default after). |
| jurisdiction | string | — | Reserved; the US federal calendar is used. |
| mode | string | — | court skips weekends+holidays; calendar counts all days (default calendar). |
| start | string | yes | Start date, ISO 8601 (YYYY-MM-DD). |
No output schema declared.
No examples provided.
count_tokens ~110
Approximate token count and cost estimate for a string or a chat-formatted messages array. Use before an LLM call to budget cost and check context-window fit. Supports gpt-4, gpt-3.5, claude, gemini, and generic.
| Name | Type | Req | Description |
|---|---|---|---|
| messages | array | — | Chat messages to count (provide this or text). |
| model | string | — | Model family for cost/context (default: generic). |
| text | string | — | Text to count (provide this or messages). |
No output schema declared.
No examples provided.
distill_context ~106
Compresses a conversation context to fit within a target token budget using TF-IDF importance scoring. Use this when your context window is getting large to reduce token costs while preserving the most important content. Keeps system prompts and the most recent messages.
| Name | Type | Req | Description |
|---|---|---|---|
| messages | array | yes | The conversation messages to distill. |
| preserveSystemPrompt | boolean | — | Always keep the system prompt (default: true). |
| targetTokens | number | — | Desired output token budget (default: 4000). |
No output schema declared.
No examples provided.
finance_order_risk ~164
Full pre-trade gate. Runs token risk, slippage, price validation, and position limits in parallel and returns a composite PASS/FLAG/BLOCK with the check that blocked it. One call replaces the individual finance checks.
| Name | Type | Req | Description |
|---|---|---|---|
| assetType | string | yes | Asset type. |
| chain | string | — | Chain for crypto (default: solana). |
| leverage | number | — | Leverage multiplier (default: 1). |
| portfolioValueUsd | number | — | Portfolio value (enables position-limit check). |
| side | string | yes | Trade side. |
| symbol | string | — | Asset symbol (stocks or crypto). |
| tokenAddress | string | — | Token address (enables rug + slippage checks). |
| tradeUsd | number | yes | Trade size in USD. |
No output schema declared.
No examples provided.
finance_position_check ~82
Deterministic position-limit and kill-switch gate — no external calls, pure arithmetic. Enforces max position size %, daily-loss limits, leverage caps, open-position count, and an asset allowlist. The final non-overridable gate before executing a trade.
| Name | Type | Req | Description |
|---|---|---|---|
| portfolio | object | yes | — |
| rules | object | — | — |
| trade | object | yes | — |
No output schema declared.
No examples provided.
finance_price ~164
Cross-validates an asset price against two independent live sources (CoinGecko + DexScreener for crypto, yahoo-finance2 for stocks). Blocks stale or divergent data and flags a proposed price that deviates from consensus. Provide symbol or tokenAddress.
| Name | Type | Req | Description |
|---|---|---|---|
| assetType | string | yes | Asset type. |
| divergenceThresholdPct | number | — | Max allowed divergence between sources (default: 2). |
| maxAgeSeconds | number | — | Max acceptable data age (default: 60 crypto / 3600 stock). |
| proposedPrice | number | — | Optional price to validate against consensus. |
| symbol | string | — | Asset symbol / CoinGecko id (e.g. 'solana', 'AAPL'). |
| tokenAddress | string | — | Token address (crypto). |
No output schema declared.
No examples provided.
finance_slippage ~118
Estimates price impact for a trade using DexScreener pool liquidity (constant-product AMM approximation). Prevents draining a thin pool. Flags implausible volume/liquidity ratios (wash trading).
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | yes | Chain the pool lives on. |
| maxPriceImpactPct | number | — | Max acceptable price impact % (default: 2). |
| minLiquidityUsd | number | — | Minimum acceptable pool liquidity in USD. |
| tokenAddress | string | yes | Token address. |
| tradeUsd | number | yes | Trade size in USD. |
No output schema declared.
No examples provided.
finance_symbol ~103
Resolves a ticker symbol or token to a confirmed identity and flags ambiguity. For crypto, prefer resolving by address — symbols collide (USDC has 200+ imposters on Solana). Returns matches ranked by liquidity plus a verdict.
| Name | Type | Req | Description |
|---|---|---|---|
| assetType | string | yes | Asset type. |
| chain | string | — | Optional chain filter for crypto. |
| expectedName | string | — | Optional expected name to confirm identity. |
| symbol | string | yes | Symbol / ticker to resolve. |
No output schema declared.
No examples provided.
finance_token_risk ~154
Rug-pull scanner for Solana tokens: RugCheck.xyz score plus on-chain mint/freeze authority verification. Blocks tokens with active mint authority, unlocked LP, or a risk score above threshold.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Token mint address. |
| blockIfFreezeAuthority | boolean | — | Block if freeze authority active (default: true). |
| blockIfMintAuthority | boolean | — | Block if mint authority active (default: true). |
| chain | string | yes | Chain (Solana supported for full checks). |
| maxRugScore | number | — | Block above this score, 0–100 (default: 60). |
| requireLpLocked | boolean | — | Block if LP not locked (default: true). |
No output schema declared.
No examples provided.
finance_units ~140
Validates that a raw on-chain token amount matches the intended human (UI) amount given the token's authoritative decimals. Catches the catastrophic decimal-scaling error (e.g. sending 1000x too many tokens). Call before building any transfer transaction.
| Name | Type | Req | Description |
|---|---|---|---|
| chain | string | yes | Chain the token lives on. |
| rawAmount | string | yes | The integer amount as it will appear on-chain. |
| timeoutMs | number | — | Lookup timeout in ms (default: 5000). |
| tokenAddress | string | yes | Mint (Solana) or contract (EVM) address. |
| uiAmount | number | yes | The human-readable amount intended. |
No output schema declared.
No examples provided.
rx_check ~92
Medication safety gate: deterministic unit-confusion, overdose, and drug-drug interaction checks for a list of medications. Returns PASS/FLAG/BLOCK findings with a signed certificate. Informational only — not medical advice. Call before an agent finalizes any medication list, prescription, or dosing instruction.
| Name | Type | Req | Description |
|---|---|---|---|
| medications | array | yes | Medications to evaluate. |
| patient | object | — | — |
| policy | object | — | — |
No output schema declared.
No examples provided.
scan_command ~146
Scans a shell command for dangerous / destructive patterns before execution — rm -rf /, curl|sh remote-exec, dd/mkfs raw disk writes, fork bombs, chmod 777, privilege escalation, force-push to protected branches, kubectl/docker destroys, firewall/security disables, and data exfiltration. Quote- and substitution-aware (content inside quotes never triggers). Deterministic and offline — never executes the command. Returns PASS/FLAG/BLOCK with findings. Call before an agent runs any shell command.
| Name | Type | Req | Description |
|---|---|---|---|
| command | string | yes | The shell command line to scan. |
| policy | object | — | — |
| shell | string | — | Target shell (default generic). |
No output schema declared.
No examples provided.
scan_injection ~98
Detects prompt-injection attacks (instruction overrides, role hijacking, jailbreaks, data exfiltration, encoding tricks) in user-supplied input. Call this before passing any untrusted input to an LLM. Returns a risk band (safe/suspicious/injection), a score, and matched patterns.
| Name | Type | Req | Description |
|---|---|---|---|
| context | string | — | Optional context label, echoed back. |
| input | string | yes | The user input to screen. |
No output schema declared.
No examples provided.
scan_pii ~146
Detects and redacts PII/PHI/PCI (SSNs, credit cards, IBANs, UK NHS numbers, emails, phone numbers, IPs) in text before it is logged, sent to a third party, or persisted. Uses deterministic checksum validation (Luhn, ISO-7064, mod-11). Returns PASS/FLAG/BLOCK, a redacted copy of the text, and a signed certificate. Call this before any egress of user or record data.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | string | — | Optional source identifier, echoed back. |
| policy | object | — | Optional enforcement policy. |
| text | string | yes | The text to scan for personal data. |
No output schema declared.
No examples provided.
scan_secrets ~94
Detects hardcoded secrets and credentials (AWS/GitHub/OpenAI/Anthropic keys, private keys, DB connection strings, passwords) in code before it is committed or executed. Matches are redacted — the raw secret is never returned. Returns findings with type, severity, and line number.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | The code to scan for secrets. |
| filename | string | — | Optional filename, echoed back. |
No output schema declared.
No examples provided.
scan_sql ~99
Scans SQL for dangerous patterns before execution — DELETE/UPDATE without WHERE, DROP/TRUNCATE, tautologies (WHERE 1=1), stacked statements, UNION-based injection, and privilege changes. Comment- and string-literal-aware; no database connection. Returns PASS/FLAG/BLOCK with findings.
| Name | Type | Req | Description |
|---|---|---|---|
| dialect | string | — | SQL dialect (default generic). |
| policy | object | — | — |
| sql | string | yes | The SQL to scan. |
No output schema declared.
No examples provided.
scan_url ~148
Scans a URL / host for SSRF and egress-policy violations before an outbound request or browser navigation — cloud instance-metadata endpoints (169.254.169.254), private/loopback/link-local targets, decimal/octal/hex IP obfuscation, denied schemes (file:, gopher:), credentials-in-URL, punycode/homograph hosts, and allow/deny-list + port policy. Deterministic and offline by default; optional DNS resolution detects DNS-rebinding when resolve=true. Returns PASS/FLAG/BLOCK with findings. Call before an agent fetches a URL.
| Name | Type | Req | Description |
|---|---|---|---|
| policy | object | — | — |
| url | string | yes | The URL to scan. |
No output schema declared.
No examples provided.
scan_vulnerabilities ~110
Checks package names against the OSV (Open Source Vulnerabilities) database and returns CVEs/GHSAs affecting them. Use after validating imports to catch known-vulnerable dependencies before installing.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | yes | Language → ecosystem (python→PyPI, js/ts→npm, rust→crates.io, go→Go). |
| packages | array | yes | Package names to check. |
| timeoutMs | number | — | OSV request timeout in ms (default: 8000). |
No output schema declared.
No examples provided.
screen_sanctions ~174
Screens one or more party names (people, companies, vessels) against bundled OFAC sanctions lists (SDN + Consolidated) using deterministic exact, alias, and fuzzy matching. Returns PASS/FLAG/BLOCK with matched records and a signed certificate. Call before onboarding, paying, shipping to, or contracting with any counterparty.
| Name | Type | Req | Description |
|---|---|---|---|
| entityTypes | array | — | Restrict to these entity types. |
| fuzzy | boolean | — | Enable fuzzy matching (default true). |
| lists | array | — | Restrict to source lists (e.g. ['OFAC-SDN']). |
| minScore | number | — | Fuzzy reporting floor 0..1 (default 0.85). |
| name | string | — | A single party name to screen. |
| names | array | — | Multiple names to screen in one call. |
No output schema declared.
No examples provided.
validate_identifier ~148
Validates structured identifiers (IBAN, ABA routing, SWIFT/BIC, credit card, EIN, EU VAT, VIN, NPI, US SSN, Ethereum/Solana address) via deterministic checksums and format rules. Auto-detects the type when not given. Card and SSN values are masked. Returns PASS/FLAG/BLOCK. Call before an agent stores, pays to, or transacts against an identifier.
| Name | Type | Req | Description |
|---|---|---|---|
| type | string | — | Identifier type; omit to auto-detect. |
| types | array | — | Restrict auto-detection to these types. |
| value | string | — | A single identifier to validate. |
| values | array | — | Multiple identifiers to validate. |
No output schema declared.
No examples provided.
validate_imports ~111
Validates all imports/packages in AI-generated code against live registries (PyPI, npm, crates.io, Go). Returns lists of valid, hallucinated, and unknown packages. Use this before executing any AI-generated code to catch hallucinated package names ('slopsquatting').
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | The AI-generated code to validate. |
| language | string | yes | The programming language of the code snippet. |
| timeoutMs | number | — | Registry request timeout in ms (default: 5000). |
No output schema declared.
No examples provided.
validate_schema ~100
Validates a JSON value against a caller-supplied JSON Schema (Draft-07 subset), deterministically and offline. Use to gate an LLM's or a tool's structured output before acting on it. Returns PASS/FLAG/BLOCK with per-error JSON paths.
| Name | Type | Req | Description |
|---|---|---|---|
| data | — | — | The JSON value to validate (any type). |
| policy | object | — | — |
| schema | object | yes | JSON Schema (Draft-07 subset) to validate against. |
No output schema declared.
No examples provided.
verify_output ~171
Runs the hallucination firewall on an LLM output. Checks for hallucinated packages (code), invalid URLs, malformed citations (DOI/arXiv), and numeric contradictions. Returns PASS, FLAG, or BLOCK verdict with a tamper-evident certificate. Use this before accepting any LLM response in a critical pipeline.
| Name | Type | Req | Description |
|---|---|---|---|
| enforcementMode | string | — | 'block' returns BLOCK verdict on failures (default). 'flag' downgrades BLOCK to FLAG. 'audit' logs only. |
| language | string | — | Required when outputType is 'code'. |
| llmResponse | string | yes | The LLM output to verify. |
| outputType | string | yes | The type of LLM output being verified. |
| timeoutMs | number | — | Per-check timeout in ms (default: 5000). |
No output schema declared.
No examples provided.