Skip to content

Forest Factory

by filipbolcek-ctrl · remote · no sign-in to list tools · v1.0.1 · published by GitHub user filipbolcek-ctrl

Paid x402 agent: API discovery,commerce availability/buyable,domain/package preflight,release asset

Changes · 10

10 tools: 10 change things.

Scanned Oct 21, 2026

5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http forest-factory https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/mcp

Findings

Matches of fixed checks, with the text they matched.

5 warn
  • The server marks "commerce_availability" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "resolve": a word for reading.

    What this check looks for
  • The server marks "domain_preflight" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "resolve": a word for reading.

    What this check looks for
  • The server marks "release_asset_resolve" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "release_asset_resolve" says "resolve": a word for reading.

    What this check looks for
  • The server marks "crypto_spot_price" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "return": a word for reading.

    What this check looks for
  • The server marks "perp_funding" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "return": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Changes things 10Claude Code: ask
  • api_discoverDiscover the callable public API behind a developer or documentation page: identify candidate API base URLs, developer portals, machine-readable API docs and authentication documen…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Discover the callable public API behind a developer or documentation page: identify candidate API base URLs, developer portals, machine-readable API docs and authentication documentation for integration setup. Price: $0.004 USDC per successful call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • commerce_availabilityResolve public product or listing availability with explicit normalized states.1 finding

    Why it is in this group

    • The description's first verb is "resolve": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "commerce_availability" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "resolve": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Resolve public product or listing availability with explicit normalized states. It reports only provider evidence and never infers inventory, reserves items or places an order. Price: $0.002 USDC per successful call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • commerce_buyabilityReport whether a public item appears buyable with explicit blockers such as out-of-stock or unknown.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Report whether a public item appears buyable with explicit blockers such as out-of-stock or unknown. This is a preflight only: it never signs in, buys, creates an order or guarantees checkout. Price: $0.003 USDC per successful call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • crypto_spot_priceReturn one current Coinbase spot-product snapshot for an exact BASE-QUOTE product id, including venue price, 24-hour price change and provider-reported 24-hour product volume.1 finding

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "crypto_spot_price" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "return": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Return one current Coinbase spot-product snapshot for an exact BASE-QUOTE product id, including venue price, 24-hour price change and provider-reported 24-hour product volume. Forest reads only Coinbase Advanced Trade public market data; it does not infer tickers, infer the provider volume denomination, aggregate venues, read an account or wallet, place orders, provide an executable quote, forecast returns or recommend a trade. Price: $0.001 USDC per successful call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • domain_preflightResolve a bare public domain into operational registration, DNS, HTTPS/TLS and mail-policy state using IANA-routed RDAP, DNS, MX/TXT/SPF/DMARC and a bounded TLS probe.1 finding

    Why it is in this group

    • The description's first verb is "resolve": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "domain_preflight" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "resolve": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Resolve a bare public domain into operational registration, DNS, HTTPS/TLS and mail-policy state using IANA-routed RDAP, DNS, MX/TXT/SPF/DMARC and a bounded TLS probe. No registrant personal data, vulnerability scanning, mailbox existence or deliverability claim. Provider uncertainty is explicit. Price: $0.003 USDC per successful call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • package_preflightVerify whether a specific npm or PyPI package version exists before installation, resolve the current/latest version, and report deprecation or yank state when available, plus lice…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Verify whether a specific npm or PyPI package version exists before installation, resolve the current/latest version, and report deprecation or yank state when available, plus license and runtime requirement. This is a public-registry package install preflight; it does not resolve dependency graphs or perform vulnerability analysis. Price: $0.002 USDC per successful call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • perp_fundingReturn one current Hyperliquid native perpetual snapshot with hourly funding, 8-hour equivalent, simple nominal annualization of the current hourly rate, mark/oracle basis, Hyperli…1 finding

    Why it is in this group

    • The description's first verb is "return": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "perp_funding" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "return": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Return one current Hyperliquid native perpetual snapshot with hourly funding, 8-hour equivalent, simple nominal annualization of the current hourly rate, mark/oracle basis, Hyperliquid funding premium index, open interest, daily notional volume and max leverage. Forest reads only the fixed public Hyperliquid info endpoint; the annualized field is not compounded, forecast or realized return, and Forest does not trade, sign, read a wallet or recommend a position. Price: $0.002 USDC per successful call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • release_asset_resolveResolve a public GitHub release into the most plausible downloadable asset for a normalized OS/architecture target, excluding source/signature/checksum files and linking checksum c…1 finding

    Why it is in this group

    • The name "release_asset_resolve" says "resolve": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "release_asset_resolve" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "release_asset_resolve" says "resolve": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Resolve a public GitHub release into the most plausible downloadable asset for a normalized OS/architecture target, excluding source/signature/checksum files and linking checksum companions when present. Returns ambiguity instead of silently choosing tied candidates. No private repositories or customer authentication. Price: $0.003 USDC per successful call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • text_base64Encode bounded caller-supplied UTF-8 text as standard or URL-safe Base64, or decode canonical Base64 back to valid UTF-8 text.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Encode bounded caller-supplied UTF-8 text as standard or URL-safe Base64, or decode canonical Base64 back to valid UTF-8 text. Forest performs the transform locally with no network request and rejects invalid encodings, non-UTF-8 decoded bytes, and outputs beyond the 100 KiB byte bound. Price: $0.001 USDC per successful call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • text_hashHash caller-supplied UTF-8 text deterministically with SHA-256 or SHA-512 and return both hexadecimal and Base64 digests.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Hash caller-supplied UTF-8 text deterministically with SHA-256 or SHA-512 and return both hexadecimal and Base64 digests. Input is bounded to 100 KiB, no network request or external provider is used, and Forest never treats a digest as proof of authenticity or password security. Price: $0.001 USDC per successful call.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http forest-factory https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__forest-factory__api_discover",
      "mcp__forest-factory__commerce_buyability",
      "mcp__forest-factory__commerce_availability",
      "mcp__forest-factory__domain_preflight",
      "mcp__forest-factory__release_asset_resolve",
      "mcp__forest-factory__package_preflight",
      "mcp__forest-factory__text_hash",
      "mcp__forest-factory__text_base64",
      "mcp__forest-factory__crypto_spot_price",
      "mcp__forest-factory__perp_funding"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as forest-factory. Review it before you use it.