Skip to content

Ni Biashara Shelves — Africa FX, freight & compliance checks (x402)

by nibiashara.biz · remote · no sign-in to list tools · v1.7.0 · published by biz.nibiashara

Africa FX, US carrier/broker checks, OFAC name and wallet screens, load-vet pack. Paid via x402.

Changes · 16

19 tools: 16 change things and 3 only read.

Scanned Oct 21, 2026

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

claude mcp add --transport http shelves https://agents.nibiashara.biz/mcp

Findings

Matches of fixed checks, with the text they matched.

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

    Matched text

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

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

    Matched text

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

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

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"openWorldHint":true}; The name "get_fx_africa_brief" says "get": 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.

19 tools

Changes things 16Claude Code: ask
  • buy_shelfCreates a Coinbase checkout for any SKU — use this when no job-named tool exists.No findings

    Why it is in this group

    • The description's first verb is "create": a word for a change.
    Description, as the server wrote it
    Creates a Coinbase checkout for any SKU — use this when no job-named tool exists. Returns x402_url (pay with any x402 client), pay_url (human) and claim_url. Does not move money itself.
  • buy_shelf_passShelf Pass — 110 prepaid credits.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Shelf Pass — 110 prepaid credits. 110 prepaid credits for $0.99 ($1.10 of calls). 1 credit = $0.01 of list price: a $0.10 carrier check uses 10 credits, a $0.02 sanctions screen uses 2. Valid on data shelves priced at $0.25 or less (FX, carrier, broker and sanctions checks, Texas CE, the load-vet pack, instant Swahili localization). The pass token travels in the X-SHELF-PASS header, so a call needs no separate wallet payment. $0.99 USDC on Base. Returns the x402 URL to GET (402 → PAYMENT-SIGNATURE → delivery). Free to call this tool; payment happens on the URL.

    Annotations the server declares

    • title: Shelf Pass — 110 prepaid credits
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • check_broker_authorityUS freight broker authority check (FMCSA).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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    US freight broker authority check (FMCSA). Is this broker real and allowed to arrange freight? Live FMCSA record by MC/docket number with broker-authority status and plain flags. The check a carrier or factoring agent runs before accepting a load from an unknown broker. $0.1 USDC on Base. Returns the x402 URL to GET (402 → PAYMENT-SIGNATURE → delivery). Free to call this tool; payment happens on the URL.

    Annotations the server declares

    • title: US freight broker authority check (FMCSA)
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • check_carrier_authorityUS carrier authority & safety check (FMCSA).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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    US carrier authority & safety check (FMCSA). Live federal FMCSA record for a US motor carrier: legal name, operating status (allowed to operate), authority, safety rating, fleet size, crash and inspection summary — with plain risk flags. The check a freight-broker or dispatch agent runs before tendering a load. $0.1 USDC on Base. Returns the x402 URL to GET (402 → PAYMENT-SIGNATURE → delivery). Free to call this tool; payment happens on the URL.

    Annotations the server declares

    • title: US carrier authority & safety check (FMCSA)
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • check_carrier_basicsUS carrier safety BASICs (FMCSA SMS).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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    US carrier safety BASICs (FMCSA SMS). The carrier's BASIC measures from FMCSA's Safety Measurement System (unsafe driving, hours-of-service, vehicle maintenance and more) from the monthly public snapshot. All carriers get measures and acute/critical flags; percentiles and threshold alerts are public only for passenger carriers, null for freight carriers. Complements carrier-authority-check. $0.1 USDC on Base. Returns the x402 URL to GET (402 → PAYMENT-SIGNATURE → delivery). Free to call this tool; payment happens on the URL.

    Annotations the server declares

    • title: US carrier safety BASICs (FMCSA SMS)
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • check_tx_insurance_ceTexas insurance license CE & renewal check (TDI).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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Texas insurance license CE & renewal check (TDI). Deterministic TDI rules: exactly what a Texas insurance licensee needs to stay compliant — CE hours, classroom/ethics requirements, renewal fees — by license line and years licensed. Rules-engine output, not an LLM guess. $0.25 USDC on Base. Returns the x402 URL to GET (402 → PAYMENT-SIGNATURE → delivery). Free to call this tool; payment happens on the URL.

    Annotations the server declares

    • title: Texas insurance license CE & renewal check (TDI)
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • check_tx_realestate_ceTexas real-estate license CE & renewal check (TREC).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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Texas real-estate license CE & renewal check (TREC). Deterministic TREC rules: continuing-education hours, renewal fees and active-license requirements for Texas real-estate licensees, by license type. Rules-engine output, not an LLM guess. $0.25 USDC on Base. Returns the x402 URL to GET (402 → PAYMENT-SIGNATURE → delivery). Free to call this tool; payment happens on the URL.

    Annotations the server declares

    • title: Texas real-estate license CE & renewal check (TREC)
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • estimate_us_nigeria_shippingFree.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Free. Floor estimate for an air shipment from Doos Logistics' Fort Worth, TX hub to Lagos, built only from Doos's published rates; unpublished charges are listed, never guessed. Prohibited and restricted items (liquid, perishable, hazmat) get no price: the result is estimate_available:false with a reason (prohibited_item or restricted_item). Ocean not offered. Links to book and pay Doos directly for priced items. Independent estimate from Ni Biashara LLC. Not affiliated with Doos Logistics. You book and pay Doos Logistics directly. Estimates from Doos's public rates retrieved 2026-10-19. No payment: this tool returns the estimate itself.

    Annotations the server declares

    • title: US → Nigeria air shipping estimate (free, Doos Logistics public rates)
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_fx_africa_briefAfrica FX daily brief.1 finding

    Why it is in this group

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

    Findings

    • Warn

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

      Matched text

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

      What this check looks for
    Description, as the server wrote it
    Africa FX daily brief. Every Frankfurter official African forex pair (shilling, naira, cedi, rand and more) plus both Bybit-derived street quotes (USD-NGN and USD-GHS) and their spreads, each row carrying its source and time. One call for a morning pricing check. Price $0.5 USDC on Base (the /shelf/fx-africa-daily-brief price). With a valid Shelf Pass (pass_token or X-SHELF-PASS) on a shelf priced ≤ $0.25, this returns the data. Otherwise it returns payment_required with the x402 v2 URL and header name. It does not return the rate as a bare payment link.

    Annotations the server declares

    • title: Africa FX daily brief
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • get_fx_officialOfficial FX rate — one African pair.1 finding

    Why it is in this group

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

    Findings

    • Warn

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

      Matched text

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

      What this check looks for
    Description, as the server wrote it
    Official FX rate — one African pair. Official forex reference rate vs USD for one African currency: KES (Kenyan shilling), NGN (naira), GHS (cedi), TZS, UGX, ZAR, EGP, RWF, via Frankfurter (frankfurter.dev). Frankfurter blends published central-bank reference rates; the number is that blend, not a single central-bank fixing. Each response names the source and carries as_of (Frankfurter's rate date) and fetched_at. Price $0.01 USDC on Base (the /shelf/fx-official price). With a valid Shelf Pass (pass_token or X-SHELF-PASS) on a shelf priced ≤ $0.25, this returns the data. Otherwise it returns payment_required with the x402 v2 URL and header name. It does not return the rate as a bare payment link.

    Annotations the server declares

    • title: Official FX rate — one African pair
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • get_fx_parallelStreet (parallel-market) rate — USD-NGN or USD-GHS.1 finding

    Why it is in this group

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

    Findings

    • Warn

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

      Matched text

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

      What this check looks for
    Description, as the server wrote it
    Street (parallel-market) rate — USD-NGN or USD-GHS. Parallel/street exchange rate for USD-NGN (naira) or USD-GHS (cedi): the median VWAP of Bybit's public USDT/fiat P2P order book, divided by a USDT/USD spot basis, plus the Frankfurter official reference rate and the spread. OKX is archived and does not set the price. Not a central-bank rate and not a bureau de change quote. Price $0.05 USDC on Base (the /shelf/fx-parallel price). With a valid Shelf Pass (pass_token or X-SHELF-PASS) on a shelf priced ≤ $0.25, this returns the data. Otherwise it returns payment_required with the x402 v2 URL and header name. It does not return the rate as a bare payment link.

    Annotations the server declares

    • title: Street (parallel-market) rate — USD-NGN or USD-GHS
    • readOnlyHint: false
    • destructiveHint: false
    • openWorldHint: true
  • localize_textEnglish ↔ Swahili localization — instant machine pass, up to 120 words.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    English ↔ Swahili localization — instant machine pass, up to 120 words. Machine localization (open translation model, run in-process), returned in the paid response with no ticket or wait. Suited to UI strings, alt text and short product copy. Machine-grade output, labeled as such. Human-reviewed copy up to 500 words is a separate shelf, swahili-localization-500w. $0.25 USDC on Base. Returns the x402 URL to GET (402 → PAYMENT-SIGNATURE → delivery). Free to call this tool; payment happens on the URL.

    Annotations the server declares

    • title: English ↔ Swahili localization — instant machine pass, up to 120 words
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • prepare_us_nigeria_shipment_handoffFree.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Free. POST the shipment and both names. We run an OFAC name screen and refuse prohibited items and hazmat (400). Restricted items (liquid, perishable) need Doos's approval first: they get 200 with status ask_doos_first, a restricted notice, no price and no booking links. Otherwise we return the estimate, Doos's proof-of-purchase checklist, a summary to give Doos and Doos's booking links (status ready_for_doos). You book and pay Doos directly; we never book or take payment. Independent estimate from Ni Biashara LLC. Not affiliated with Doos Logistics. You book and pay Doos Logistics directly. Estimates from Doos's public rates retrieved 2026-10-19. No payment: this tool returns the handoff itself.

    Annotations the server declares

    • title: US → Nigeria air shipment handoff to Doos Logistics (free)
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • screen_sanctions_nameSanctions name screen — OFAC SDN + Consolidated (US).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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Sanctions name screen — OFAC SDN + Consolidated (US). Screens a company or entity name against the U.S. Treasury OFAC Specially Designated Nationals and Consolidated lists (~40k names + aliases; every result carries as_of and checked_at). Deterministic normalized-name and token matching with a CLEAR / REVIEW / HIT verdict. $0.02 USDC on Base. Returns the x402 URL to GET (402 → PAYMENT-SIGNATURE → delivery). Free to call this tool; payment happens on the URL.

    Annotations the server declares

    • title: Sanctions name screen — OFAC SDN + Consolidated (US)
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • screen_sanctions_walletSanctions wallet screen — OFAC Digital Currency Address.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Sanctions wallet screen — OFAC Digital Currency Address. Exact-match a blockchain address against Digital Currency Address identifiers published in the OFAC SDN XML (the same Treasury list we ingest for name screens). CLEAR or HIT. No third-party chain intel, no clustering, no risk score. $0.01 USDC on Base. Returns the x402 URL to GET (402 → PAYMENT-SIGNATURE → delivery). Free to call this tool; payment happens on the URL.

    Annotations the server declares

    • title: Sanctions wallet screen — OFAC Digital Currency Address
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • vet_loadLoad vet pack — authority + BASICs + broker + OFAC name.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.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Load vet pack — authority + BASICs + broker + OFAC name. Pre-tender check: FMCSA authority and SMS BASICs (monthly) for the carrier, broker authority for broker_mc, optional OFAC name screen. TENDER/HOLD/REJECT from public fields only, no fraud score. A section that times out returns status "timeout" with partial:true and a HOLD verdict; full price applies when carrier authority (broker, for a broker-only pack) is delivered. $0.25 USDC on Base. Returns the x402 URL to GET (402 → PAYMENT-SIGNATURE → delivery). Free to call this tool; payment happens on the URL.

    Annotations the server declares

    • title: Load vet pack — authority + BASICs + broker + OFAC name
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
Only reads 3Claude Code: allow
  • get_orderReturns the order status; once Coinbase reports the payment COMPLETED the delivery is included.No findings

    Why it is in this group

    • The name "get_order" says "get": a word for reading.
    Description, as the server wrote it
    Returns the order status; once Coinbase reports the payment COMPLETED the delivery is included.
  • get_pass_balanceFree.No findings

    Why it is in this group

    • The name "get_pass_balance" says "get": a word for reading.
    Description, as the server wrote it
    Free. Pass the token from buy_shelf_pass /shelf/shelf-pass-100.
  • list_shelvesData shelves (default) with price in USD, params, job-tool name and x402 URL.No findings

    Why it is in this group

    • The name "list_shelves" says "list": a word for reading.
    Description, as the server wrote it
    Data shelves (default) with price in USD, params, job-tool name and x402 URL. Pass kind=service or kind=all to include owner-fulfilled work. Free to call.

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.7.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http shelves https://agents.nibiashara.biz/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": [
      "mcp__shelves__list_shelves",
      "mcp__shelves__get_order",
      "mcp__shelves__get_pass_balance"
    ],
    "ask": [
      "mcp__shelves__buy_shelf",
      "mcp__shelves__check_carrier_authority",
      "mcp__shelves__check_carrier_basics",
      "mcp__shelves__check_broker_authority",
      "mcp__shelves__vet_load",
      "mcp__shelves__screen_sanctions_name",
      "mcp__shelves__screen_sanctions_wallet",
      "mcp__shelves__get_fx_official",
      "mcp__shelves__get_fx_parallel",
      "mcp__shelves__get_fx_africa_brief",
      "mcp__shelves__localize_text",
      "mcp__shelves__check_tx_insurance_ce",
      "mcp__shelves__check_tx_realestate_ce",
      "mcp__shelves__buy_shelf_pass",
      "mcp__shelves__estimate_us_nigeria_shipping",
      "mcp__shelves__prepare_us_nigeria_shipment_handoff"
    ],
    "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 shelves. Review it before you use it.