Blackwood State

io.github.Blackwood-StatePublished by GitHub account Blackwood-Statev1.2.0Updated Oct 27, 2026

Pay-per-call tools for agents: onchain data, ECB FX rates, text tools. USDC on Base, x402

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingFinanceDeveloper Tools

Overview

AI-generated overview

Pay-per-call utility API for agents: web scraping, PDF and audio processing, LLM, crypto and FX data, each call billed in USDC over x402.

What you can do
  • Fetch and convert web pages to Markdown, extract PDF text, transcribe audio, generate images, synthesize speech
  • Run LLM chat, summarization, translation, sentiment analysis and email validation
  • Look up crypto data: Base token prices, wallet balances and portfolios, ENS names, gas fees, altcoin listings
  • Retrieve news, crypto headlines, news briefings, company dossiers, SEC financials and domain intelligence
  • Get ECB FX rates and history, weather forecasts, timezone conversion, airport delays, QR codes, random values and HTTP header audits
  • Check credit balance and top-up packs, and test x402 endpoints without paying
When to use it
Useful when an assistant needs many small, self-contained data or text utilities without signing up for each provider, and the caller is willing to pay per call in USDC on Base or prepay credits.
Requirements
Remote streamable HTTP endpoint or local npm package over stdio. Optional BLACKWOOD_CREDITS_KEY for prepaid credits and BLACKWOOD_PRIVATE_KEY for a wallet that pays over x402; BLACKWOOD_MAX_USD_PER_CALL and BLACKWOOD_MAX_USD_PER_DAY set spend caps. Network access required.
Before you install
Most tools cost money: calls are billed in USDC over x402 or debited from prepaid credits. BLACKWOOD_PRIVATE_KEY is a wallet key that can spend funds; keep spend caps set. Inputs such as URLs, text, audio and email addresses are sent to a third-party service. Some tools create jobs that must be polled for results.

Installation

In SourceWeft

  1. Open Blackwood State in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Blackwood-State%2Fblackwood-state/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "blackwood-state": {
      "type": "http",
      "url": "https://x402-gateway.blackwoodstate8.workers.dev/mcp"
    }
  }
}

Tools

38

blackwood_credits_balance

Prepaid credits balance

Use this when you call Blackwood State tools many times and want to pay once: returns the prepaid credit balance of the API key sent as Authorization: Bearer on this MCP connection, recent debits and the top-up packs (pay once via x402, then every tool call debits the balance with no payment signature). Free. Category: Infrastructure.

Takes no parameters.

blackwood_webpage_markdown

Web page to Markdown

Use when you need web page to markdown, url to markdown, to scrape a web page or extract content from a url for an LLM. Do not use for pages that need JavaScript to render, sit behind a login or paywall, or are not HTML (PDFs go to blackwood_pdf_extract). Returns JSON with the clean Markdown of a public web page (URL to Markdown, boilerplate stripped) plus its title, description, language, canonical URL and links for 0.01 USDC per call. Typical response time 2500 ms (p95). Category: Data.

ParametersurlrequiredmaxCharsresponse_format

blackwood_sec_facts

SEC company financials

Use when you need company financials from SEC filings, earnings or fundamentals of a US company by ticker for the last two years. Do not use for quarterly numbers, real-time prices, non-US companies or filings older than two years. Returns JSON with SEC company financials for a US stock ticker from 10-K filings on SEC EDGAR: annual revenue, net and operating income, diluted EPS, cash flow and the balance sheet for 0.02 USDC per call. Typical response time 300 ms (p95). Category: Data.

Parameterstickerrequiredresponse_format

blackwood_pdf_extract_status

PDF to text (status)

Free. Status and result of a job created by blackwood_pdf_extract. Poll until done is true.

ParametersjobIdrequired

blackwood_pdf_extract

PDF to text

Use when you need to extract text from a pdf, pdf to text or document parsing for an LLM. Do not use for scanned PDFs (no OCR), password-protected files or files over 15 MB. Returns JSON with PDF text extraction: the text of each page (first 20 pages) plus title, author and producer metadata for 0.0025 USDC per page, up to 0.05 USDC per call (clients without upto pay the cap). Result in the same call (about 10000 ms); a status tool polls for free if it takes longer. Category: Data.

Parametersurlrequiredresponse_format

blackwood_domain_intel

Domain intelligence

Use when you need a domain lookup, whois, dns records or certificate transparency data for osint, security or due diligence. Do not use for historical whois, registrant personal data (redacted by registries) or port and vulnerability scans. Returns JSON with domain intelligence: WHOIS/RDAP registration, DNS records (A, AAAA, MX, NS, TXT, CAA), SPF and DMARC, and TLS certificates from certificate transparency logs for 0.02 USDC per call. Typical response time 4000 ms (p95). Category: Data.

Parametersdomainrequiredcertificatesresponse_format

blackwood_weather_forecast

Weather forecast

Use when you need a weather forecast, the current weather, temperature, rain or wind for the next hours or days at given coordinates. Do not use for historical weather, severe weather alerts or places given only by name (geocode first). Returns JSON with the weather forecast for a latitude and longitude: hourly temperature, rain and precipitation, wind, humidity and cloud cover for the next days, from MET Norway for 0.003 USDC per call. Typical response time 1500 ms (p95). Category: Data.

Parametershourslatituderequiredlongituderequiredresponse_format

blackwood_email_check

Email validation

Use when you need email validation, to verify email addresses or validate email syntax and MX records before sending or signup. Do not use for confirming that the mailbox itself exists (no SMTP probe is done) or sending email. Returns JSON with email verification of one address: syntax, domain MX records, disposable, free and role-account flags, SPF and DMARC, and a verdict on whether the domain can receive mail for 0.005 USDC per call. Typical response time 800 ms (p95). Category: Data.

Parametersemailrequiredresponse_format

blackwood_llm_chat_status

LLM chat completion (status)

Free. Status and result of a job created by blackwood_llm_chat. Poll until done is true.

ParametersjobIdrequired

blackwood_llm_chat

LLM chat completion

Use when you need an llm chat completion for summaries, extraction or classification from a cheap open model. Do not use for frontier models, tool calling or streaming. Returns JSON with a chat completion from IBM Granite 4.0 Micro on Workers AI, with token usage for 0.002 USDC per thousand tokens, up to 0.03 USDC per call (clients without upto pay the cap). Result in the same call (about 8000 ms); a status tool polls for free if it takes longer. Category: Inference.

ParametersmessagesrequiredmaxTokenstemperatureresponse_format

blackwood_audio_transcribe_status

Speech to text (status)

Free. Status and result of a job created by blackwood_audio_transcribe. Poll until done is true.

ParametersjobIdrequired

blackwood_audio_transcribe

Speech to text

Use when you need speech to text transcription or translation of an audio file at a public URL. Do not use for audio over 10 MB or speaker labels. Returns JSON with a Whisper transcription of an audio file: text, timed segments and language, or an English translation for 0.005 USDC per megabyte, up to 0.05 USDC per call (clients without upto pay the cap). Result in the same call (about 20000 ms); a status tool polls for free if it takes longer. Category: Media.

Parametersurlrequiredtasklanguageresponse_format

blackwood_image_generate_status

Image generation (status)

Free. Status and result of a job created by blackwood_image_generate. Poll until done is true.

ParametersjobIdrequired

blackwood_image_generate

Image generation

Use when you need image generation, an AI image generator or text to image from a prompt for illustrations, mockups or social posts. Do not use for image edits, specific sizes, photos of real people or more than one image per call. Returns JSON with an AI-generated image from a text prompt: a 1024x1024 JPEG made by FLUX.1 schnell on Workers AI, as base64 for 0.03 USDC per call. Result in the same call (about 10000 ms); a status tool polls for free if it takes longer. Category: Media.

Parametersstepspromptrequiredresponse_format

blackwood_token_price

Token price on Base

Use when you need a crypto token price or market data for a Base token, quoted from on-chain liquidity. Do not use for tokens that only trade off Base or on other DEXs (Aerodrome is not read), price history or OHLC. Returns JSON with the USD price of a token on Base computed on-chain from its deepest Uniswap v3 pool against USDC or WETH, with pool, fee tier and depth for 0.002 USDC per call. Typical response time 1200 ms (p95). Category: Trading.

Parameterstokenrequiredresponse_format

blackwood_wallet_balances

Wallet balances on Base

Use when you need a wallet balance, token balances or the ERC20 balance of an address on Base, read live from the chain. Do not use for ethereum mainnet or other chains, NFTs, transaction history or USD values. Returns JSON with the wallet balance of an address on Base: ETH and ERC20 token balances read on-chain in one block, 21 major tokens plus any you list for 0.003 USDC per call. Typical response time 1200 ms (p95). Category: Data.

ParameterstokensaddressrequiredincludeZeroresponse_format

blackwood_crypto_news

Crypto news

Use when you need crypto news or crypto market news headlines about a token or the market from recent articles. Do not use for prices, full article text, social media posts or news older than 72 hours. Returns JSON with the latest crypto news headlines from the last 72 hours (title, link, source, time, tone, people and organizations) about bitcoin, ethereum and blockchain news, from the GDELT news graph for 0.005 USDC per call. Typical response time 1500 ms (p95). Category: Search.

Parametershourslimittokenresponse_format

blackwood_random_generate

Random numbers

Use when you need a random number generator, dice rolls, a coin flip, a uuid or random bytes that no one can predict. Do not use for verifiable on-chain randomness (VRF) or reproducible seeded sequences. Returns JSON with cryptographically secure random values: integers in a range, dice rolls, coin flips, UUIDs or hex bytes, from the Workers Web Crypto CSPRNG for 0.005 USDC per call. Typical response time 500 ms (p95). Category: Infrastructure.

Parametersmaxminkindrequiredcountsideslengthresponse_format

blackwood_timezone_convert

Time zones

Use when you need timezone conversion between time zones, the current time in a zone or a utc offset with daylight saving. Do not use for places given only by city or address without an IANA zone name, or dates before 1970. Returns JSON converting a date and time between IANA time zones with daylight saving rules, with UTC offsets, abbreviations and the current time in each zone, from the IANA tz database for 0.003 USDC per call. Typical response time 500 ms (p95). Category: Data.

Parameterstorequiredfromtimeresponse_format

blackwood_text_summarize

Summarize text

Use when you need to summarize text such as an article, notes or a transcript into a short summary. Do not use for uRLs or PDFs (extract the text first), exact quotes or citations. Returns JSON with a concise summary of the plain text you send (up to 20,000 characters): one short paragraph and key bullet points, written by IBM Granite 4.0 Micro on Workers AI for 0.008 USDC per call. Typical response time 8000 ms (p95). Category: Inference.

ParameterstextrequiredlanguagemaxBulletsresponse_format

blackwood_airport_delays

Airport delays

Use when you need airport delays, FAA ground stops or the airport status of a US airport right now, such as departure delays or closures. Do not use for the status of a flight number, airports outside the US or historical delays. Returns JSON with current US airport delays from the FAA: ground stops, ground delay programs with average and maximum delay, arrival and departure delays and closures, for all airports or one for 0.007 USDC per call. Typical response time 1500 ms (p95). Category: Data.

Parametersairportresponse_format

blackwood_speech_synthesize

Text to speech

Use when you need text to speech, tts, a voice audio file or spoken narration of a short text. Do not use for voice cloning, a chosen voice, SSML or audio longer than about two minutes. Returns JSON with text to speech (TTS): your text read aloud as WAV voice audio (base64, 44.1 kHz mono) by MeloTTS on Workers AI, in English, Spanish, French, Chinese, Japanese or Korean for 0.023 USDC per call. Typical response time 8000 ms (p95). Category: Media.

Parameterslangtextrequiredresponse_format

blackwood_headers_audit

Security headers

Use when you need an http security headers audit of a website or URL, with a grade and what to fix. Do not use for vulnerability scans, TLS cipher analysis or pages behind a login. Returns JSON auditing the HTTP security headers of a public URL (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, cookies) with a grade and fixes for 0.007 USDC per call. Typical response time 2500 ms (p95). Category: Infrastructure.

Parametersurlrequiredresponse_format

blackwood_qrcode_generate

QR code

Use when you need a qr code generator for a URL, text, Wi-Fi or payment link as an SVG image. Do not use for reading or decoding an existing QR code, logos, colored codes or PNG output. Returns JSON with a QR code for your text or URL as SVG markup and an SVG data URL, with error correction level and border options, generated by the uqr library for 0.004 USDC per call. Typical response time 500 ms (p95). Category: Media.

ParametersecctextrequiredborderpixelSizeresponse_format

blackwood_text_translate

Translate text

Use when you need to translate text, a language translation or a text translation of a sentence or paragraph between two languages. Do not use for formatting that must be preserved, certified or legal translation, or speech (transcribe first). Returns JSON with text translation between about 100 languages by Meta M2M100 1.2B on Workers AI: the translated text with the source and target languages used for 0.012 USDC per call. Typical response time 5000 ms (p95). Category: Inference.

Parameterstorequiredfromtextrequiredresponse_format

blackwood_fx_rates

Currency exchange rates

Use when you need currency exchange rates, fx rates or forex conversion of an amount between two currencies like EUR and GBP. Do not use for live trading quotes, intraday or crypto rates (ECB rates update once per business day). Returns JSON with currency exchange rates: official ECB euro reference FX rates (free at ecb.europa.eu) for about 30 currencies, rebased to any base as cross rates, with optional conversion for 0.005 USDC per call. Typical response time 1500 ms (p95). Category: Data.

Parametersbaseamountsymbolsresponse_format

blackwood_x402_check

x402 endpoint check

Use when you need an x402 endpoint check or x402 endpoint test, or to validate x402 endpoint listings before paying or integrating. Do not use for actually paying the endpoint, or endpoints behind authentication. Returns JSON with an x402 check of an endpoint without paying: whether it answers 402, its payment options (scheme, network, asset, amount, payTo), Bazaar metadata and problems found for 0.007 USDC per call. Typical response time 2500 ms (p95). Category: Infrastructure.

Parametersurlrequiredbodymethodresponse_format

blackwood_text_sentiment

Sentiment analysis

Use when you need sentiment analysis, text sentiment or opinion mining of reviews, comments or headlines in English. Do not use for neutral or emotion labels, non-English text or aspect-level sentiment. Returns JSON with sentiment analysis of English text: a positive or negative label with a confidence score, from DistilBERT SST-2 on Workers AI, for one text or a batch of up to 20 for 0.004 USDC per call. Typical response time 1500 ms (p95). Category: Inference.

Parameterstexttextsresponse_format

blackwood_fx_history

Historical exchange rates

Use when you need historical exchange rates, a historical FX rate series, forex history or a currency trend. Do not use for rates older than 90 days, live quotes or crypto (one ECB rate per business day). Returns JSON with historical exchange rates: 90 days of daily ECB euro reference rates (free at ecb.europa.eu) for up to 10 currencies, rebased to any base as cross rates, with min, max and percent change for 0.005 USDC per call. Typical response time 1500 ms (p95). Category: Data.

ParametersbasedaysendDatesymbolsrequiredstartDateresponse_format

blackwood_email_batch

Email list check

Use when you need bulk email validation, email list verification or to verify email lists before a send or import. Do not use for one address (email-check is cheaper), proving a mailbox exists (no SMTP probe) or sending email. Returns JSON checking up to 20 email addresses in one call: syntax, MX records, disposable, free and role flags, SPF, DMARC and a verdict each, plus counts by verdict for 0.02 USDC per call. Typical response time 2500 ms (p95). Category: Data.

Parametersemailsrequiredresponse_format

blackwood_ens_lookup

ENS name lookup

Use when you need to resolve an ENS name to an address, reverse-resolve an address to its ENS name, or read an ENS avatar and profile records. Do not use for registering or renewing names, or non-ENS naming such as Solana SNS. Returns JSON with an ENS lookup on Ethereum in one call: the address of a name, the verified primary name of an address (reverse), the avatar and text records such as url, twitter and github for 0.003 USDC per call. Typical response time 2000 ms (p95). Category: Data.

Parametersnametextsaddressresponse_format

blackwood_gas_fees

Gas price and fees

Use when you need the current gas price, an ethereum gas fee estimate before a transaction, or to compare gas fees across chains. Do not use for gas units of a given transaction, gas history or chains beyond Ethereum, Base and Solana. Returns JSON with the gas price and gas fees on Ethereum and Base (base fee, slow, standard and fast EIP-1559 fees in gwei, transfer cost) plus Solana priority fees for 0.002 USDC per call. Typical response time 1500 ms (p95). Category: Data.

Parameterschainsresponse_format

blackwood_wallet_portfolio

Wallet portfolio and history

Use when you need a multi-chain wallet balance, a wallet portfolio or wallet transaction history on Ethereum, Base or Solana. Do not use for uSD values, NFTs, DeFi positions, long-tail tokens or chains beyond Ethereum, Base and Solana. Returns JSON with a multi-chain wallet balance and transaction history: native and major-token balances on Ethereum, Base or Solana plus the latest transfers, without airdrop spam for 0.003 USDC per call. Typical response time 3000 ms (p95). Category: Data.

ParameterschainsaddressrequiredhistoryLimitresponse_format

blackwood_news_briefing

News research briefing

Use when you need a news briefing, a research summary of recent coverage or an analysis of what the press says about a topic or company. Do not use for breaking news, paywalled pages or one known article (use blackwood_webpage_markdown). Returns JSON with a research briefing on a topic in one call: up to 3 recent GDELT news articles, each read and summarized, with source and link, below the price of separate calls for 0.04 USDC per call. Typical response time 15000 ms (p95). Category: Search.

Parametershourstopicrequiredlanguageresponse_format

blackwood_company_dossier

Company research dossier

Use when you need company research, due diligence or a quick analysis of a business from its website domain and optional ticker. Do not use for private financials, credit scores, people search or businesses without a website. Returns JSON with a company research dossier in one call: domain registration and DNS, email and website security, latest news and, with a ticker, SEC financials, priced below the separate calls for 0.03 USDC per call. Typical response time 8000 ms (p95). Category: Data.

Parametersnamedomainrequiredtickerresponse_format

blackwood_wallet_value

Wallet value in USD

Use when you need a wallet portfolio value in USD, a wallet net worth or token balances with USD value for a 0x address. Do not use for solana wallets, transaction history, NFTs, DeFi positions or long-tail tokens. Returns JSON with a wallet's USD value on Ethereum and Base in one call: native and major-token balances priced on-chain from Uniswap v3 pools on Base, per-chain totals and the tokens left unpriced for 0.003 USDC per call. Typical response time 5000 ms (p95). Category: Trading.

Parameterschainsaddressrequiredresponse_format

blackwood_altcoin_discovery

Altcoin discovery on Base

Use when you need altcoin discovery, new token listings or fresh Base tokens with real liquidity to research. Do not use for established coins, other chains or DEXs, price history, trading signals or token safety audits. Returns JSON with new tokens on Base that just got liquidity: Uniswap v3 pools created in the last hours against WETH or USDC, read on-chain from pool creation events, with price, depth and age for 0.003 USDC per call. Typical response time 3000 ms (p95). Category: Trading.

ParametershourslimitquoteminDepthUsdresponse_format

Version history

3
  1. v1.2.0LatestOct 20, 2026
  2. v1.1.0Oct 19, 2026
  3. v1.0.0Oct 17, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.