MCP.Market

2s Io MCP server

by 2s-io·io.github.2s-io/mcp·v1.82.0·9 stars

575+ agent tools: data, AI gateway, storage/queues/watchers. x402 USDC, no keys, usage billing.

B82/100grade B
What users say
No reviews yet
Be the first
Safety scan
B82/100

full report

Adoption
Growing

9 stars471 downloads/wk

Reviews

Write one

Nobody has reviewed 2s Io yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

2s Io tools (100, 3 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • agriculture.drought

    US Drought Monitor severity for a county (5-digit FIPS) or state (2-letter). Weekly % of area in each category (None, D0 Abnormally Dry → D4 Exceptional), newest first, with the worst category per week. Keyless, public-domain (NDMC/USDA/NOAA). The official metric behind USDA disaster eligibility.

  • agriculture.stats

    USDA NASS QuickStats — authoritative US ag statistics: crop yields, acreage, production, livestock inventory, prices received. Filter by commodity (CORN/SOYBEANS/CATTLE…), year (or year__GE/__LE range), state (2-letter), county, statistic category (YIELD/PRODUCTION/AREA HARVESTED/PRICE RECEIVED), aggregation level. 50k-row cap — narrow broad queries. Public-domain.

  • aviation.accidents

    Search NTSB civil aviation accident/incident history (CAROL database). Filter by registration (N-number), state, make, model, city, and/or date range (dateFrom/dateTo YYYY-MM-DD). Returns events with date, location, aircraft, injury severity/counts, flight phase, and an NTSB report URL. Free, US public-domain. At least one filter required.

  • aviation.metar

    Current aviation weather observation (METAR) for airports. Pass ids (comma-separated ICAO, e.g. KATL,EGLL). Returns raw METAR + decoded flight category, temp/dewpoint, wind, visibility, altimeter, clouds. Source: NOAA Aviation Weather Center (keyless).

  • aviation.sigmet

    Active in-flight weather hazard advisories (SIGMETs/AIRMETs) from the NOAA Aviation Weather Center. Returns current advisories over a 1-24h window, optionally filtered by hazard (CONVECTIVE, TURB, ICE, IFR, MTN OBSCN, ASH). Each carries issuing office, type, hazard, severity, valid-from/to, altitude band (ft MSL), movement (dir/speed), and raw bulletin. Keyless, public-domain. The active-hazard la

  • aviation.taf

    Terminal Aerodrome Forecast (TAF) for airports — the official ~24–30h aviation forecast. Pass ids (comma-separated ICAO). Returns raw TAF + issue time. Source: NOAA Aviation Weather Center (keyless).

  • batch.runwrite action

    Run up to 50 endpoint calls behind ONE x402 payment. Price = exact sum of the sub-call prices (no discount). Atomic: every sub-call must succeed or nothing is charged (failures are returned so you can retry for free). Sub-calls must be ordinary catalog endpoints (no bearer-only, deprecated, variable-priced, or metered-upstream endpoints; no nested batch). Each item carries that endpoint's own resp

  • business.kyb-360

    Full Know-Your-Business (KYB) intelligence dossier on a company in one call. Pass name (company name); optional state narrows federal awards, optional ticker pulls SEC EDGAR identity + filings. Fans out to SAM registration, SAM exclusions (debarment), OFAC sanctions, GLEIF LEI, USAspending awards, FARA foreign-agent registration, and USPTO trademarks owned. Returns riskFlags + a cleared boolean (d

  • calendar.business-days

    Holiday-aware business-day calculator for 200+ countries — the ground-truth answer for payment terms, SLA deadlines, and delivery dates instead of guessing holidays. Three modes: start+addDays shifts a date by N business days (signed); start+end counts business days between two dates (exclusive of start, inclusive of end); start alone checks one date (business day? which holiday? next/previous bus

  • calendar.holidays

    List the official holidays for a country and year with exact observed dates, including substitute days (e.g. a Saturday July 4th observed Friday). 200+ countries, regional subdivisions (US states, German Länder, Canadian provinces…), movable feasts and lunar-calendar holidays computed from maintained rules. Filter by type (public, bank, school, optional, observance) and localize names via lang. Re

  • convert.currency

    Convert an amount between currencies at a live or historical exchange rate. Pass from + to (3-letter ISO 4217) + optional amount (default 1) + date (YYYY-MM-DD for historical; omit for latest). Returns the converted result, per-unit rate, and effective rate date. Live ECB reference rates (via Frankfurter), fetched per request — never stale; weekends/holidays use the last business day. ECB major cu

  • convert.unit

    Deterministic unit-of-measure conversion: mass (g/kg/lb/oz/t…), length (m/km/in/ft/mi…), volume (l/ml/gal/qt/cup…), area (m2/ft2/acre/ha), temperature (C/F/K). Case-insensitive with aliases (kg/kilogram). Returns the exact result + dimension. Cross-dimension (kg→m) is rejected. Ground-truth factors instead of an LLM approximation.

  • crypto.address-validate

    Validate a cryptocurrency address with full checksum verification (not just regex). Catches typos before sending funds. Chains: btc, eth, sol, ltc, trx, xrp, bch.

  • crypto.contract

    Decode an EVM smart contract. Pass chain (ethereum, base, polygon, arbitrum, optimism, bsc, avalanche) + address → whether source-verified (Sourcify), name/compiler/language, proxy + implementation, and human-readable function/event signatures from the ABI. Optional selector (0x 4-byte) → decode what it calls (from the contract ABI if verified, else the 4byte directory). Pairs with crypto.tx. Free

  • crypto.defi

    DeFi total-value-locked (TVL) via DefiLlama. No params → top protocols by TVL (name, category, TVL, 1d/7d change, chains) + total DeFi TVL. protocol=<slug> (e.g. lido, aave, uniswap) → one protocol; chain=<name> (e.g. ethereum, solana) → that chain's TVL. Distinct from crypto.markets (spot prices) — protocol/chain capital locked. Free, keyless.

  • crypto.fear-greed

    Crypto Fear & Greed Index — 0–100 market sentiment (0 = Extreme Fear, 100 = Extreme Greed), updated daily, with classification. Pass limit (1–90) for recent history. Contrarian sentiment signal. Source: alternative.me.

  • crypto.global

    Whole-crypto-market overview: total market cap, 24h volume, 24h change, BTC + ETH dominance, active-coin count. Source: CoinGecko.

  • crypto.markets

    Top cryptocurrencies by market cap with live price, market cap, 24h volume, and 24h + 7d % change. Pass limit (1–100, default 20). Source: CoinGecko. Single token = crypto.token-price; market overview = crypto.global.

  • crypto.tx

    Live EVM transaction status + receipt by hash: mined/reverted/pending, block, confirmations, timestamp, from/to, value, gas used, effective gas price, total fee, contract created, log count. Chains: base, ethereum, polygon, arbitrum, optimism. Confirm a payment settled or a tx reverted before acting. 404 if unknown.

  • dev.preflight

    Check whether a shell command is runnable before running it — a pre-execution gate for agent-generated commands. POST command (curl/wget/httpie or anything with a URL). Parses out method, target URL, and headers and returns a structured verdict: verdict ('runnable'/'invalid'), runnable boolean, and a checks breakdown (hasTarget, urlValid, schemeOk, hostPresent, methodValid, privateTarget). Default

  • dev.rfc

    Look up an IETF RFC by number. Returns status (e.g. INTERNET STANDARD/PROPOSED STANDARD), title, authors, date, stream, DOI, and the obsoletes/obsoleted-by/updates/updated-by relationship chain. Bundled RFC index (~9.8k RFCs); anti-hallucination on RFC status/relationships.

  • domain.ct-logs

    Certificate Transparency recon for a domain — discover its subdomains and issued certificates from public CT logs (passive attack-surface mapping). Pass domain (+ optional limit). Returns deduplicated subdomains + certs (issuer, validity, SAN names), newest first. certSpotter primary, crt.sh fallback, keyless. CT shows names that ever appeared in a cert, not necessarily live hosts.

  • domain.email-securitywrite action

    Grade a domain's email-authentication / DNS-security posture from live DNS in one call: SPF, DMARC (policy), DKIM (supplied/common selectors), MTA-STS, TLS-RPT, DNSSEC, CAA, BIMI. Pass domain (+ optional dkimSelector). Returns a letter grade, a summary (incl. spoofingProtected), and a per-mechanism block with the raw record, parsed tags, and specific issues. Live DNS via DoH (keyless) — an LLM can

  • domain.intel

    Domain intelligence in one call — composes DNS (A/AAAA/MX/NS/TXT), WHOIS/RDAP (registrar, dates, status, nameservers, DNSSEC), and the live TLS certificate (issuer, validity, SANs, fingerprint) for a domain. Returns a summary (resolves, has MX, registrar, domain expiry, HTTPS valid, days to cert expiry) plus a found/error block per section. For domain due diligence, security recon, and expiry moni

  • econ.commodity

    Latest benchmark commodity price + % change. Pass commodity (wti, brent, natural-gas, gasoline, diesel, heating-oil, propane, copper, aluminum, corn, wheat, sugar) or omit for all. Each names the FRED series + unit. Source: EIA/IMF via FRED.

  • econ.fred

    Any series in the Federal Reserve's FRED database (800k+ economic time series). Pass seriesId (e.g. UNRATE, CPIAUCSL, GDP, DGS10, MORTGAGE30US) for metadata + recent observations (optionally bounded by start/end), or query to full-text search the catalog. Free, public-domain for most series (FRED attribution). Distinct from econ.indicator (curated headline set) — this is the full FRED catalog by i

  • econ.fred-categories

    Browse the FRED category tree to DISCOVER economic series. Pass categoryId for that category (name+parent) + its child categories + its most-popular series (id/title/units/frequency); omit (or 0) for the 8 top-level categories. Walk down via child ids, then fetch with econ.fred. Free, public-domain.

  • econ.fred-regional

    FRED regional economic data — one snapshot of a regional FRED series across ALL its geographies (every U.S. state, county, or metro) for a single period. Pass a regional series id (e.g. WIPCPI = per-capita personal income by state) and get each region's name, FIPS region code, value, and per-region series id, plus units/frequency/available date range. Add date (YYYY-MM-DD) for a point-in-time cros

  • econ.fred-releases

    US economic-data release CALENDAR from FRED — when official reports are published. Returns upcoming release dates (date, release name, release id) from `from` (default today), ascending. Filter by name (e.g. "Consumer Price Index" for next CPI, "Employment Situation" for jobs) or releaseId. Free, public-domain. Future release dates an LLM cannot know — for trading/scheduling/macro agents. Pair wit

  • econ.fred-vintage

    Point-in-time (vintage) economic data from FRED's ALFRED archive — what a figure was AS FIRST REPORTED / as known on a past date, before revisions. Give seriesId (GDP, GDPC1, PAYEMS…) + asOf date for the values as they stood then (omit asOf for current); also returns the series' revision dates. Free, public-domain. Eliminates look-ahead bias for backtesting/macro research — unavailable from any LL

  • econ.indicator

    Latest reading of a curated US macro indicator (+ prior, year-ago, YoY %). Pass indicator (unemployment-rate, fed-funds-rate, real-gdp, gdp-growth, nonfarm-payrolls, 10y-treasury, 30y-mortgage, consumer-sentiment, ...) or omit for all. Source: BLS/BEA/Fed via FRED.

  • econ.recession

    Composite US recession-signal dashboard: NY Fed recession probability (12mo ahead), Sahm-rule real-time indicator (≥0.50 = recession begun), and 10y2y Treasury spread (negative = inverted). Each with value, date, triggered flag, and a count of signals flashing. A read of the standard gauges, not a forecast. Source: FRED.

  • econ.yield-curve

    Current US Treasury yield curve (1M–30Y constant-maturity yields) plus the 2s10s and 3m10y spreads and an inversion flag (recession signal). Daily data. Source: US Treasury via FRED.

  • edi.ack

    Generate the ANSI X12 997 Functional Acknowledgment for a received EDI interchange. POST edi with the raw inbound interchange (the 850/810/856 you received); returns the ready-to-send 997 in meta.ack — sender/receiver mirrored, delimiters echoed, one ST(997) per inbound functional group with correct AK1/AK2/AK5 and AK9 included/received/accepted counts. status controls the response: A=Accepted (de

  • edi.edifact

    Parse a raw UN/EDIFACT document (the B2B EDI standard used across Europe, Asia, logistics and customs — international counterpart to ANSI X12) into clean structured JSON. POST edi with the raw interchange text. Reads the optional UNA service-string advice to auto-detect delimiters (or applies UN defaults); handles release-character escaping; returns the interchange envelope (UNB: sender/recipient

  • edi.edifact-generate

    Generate an outbound UN/EDIFACT document from JSON (international counterpart to edi.generate/X12). POST type ('ORDERS' PO or 'INVOIC' invoice) + senderId, recipientId, documentNumber, optional date, parties (NAD role+name), items (quantity, productId, price), and for INVOIC optional total. Returns the full EDIFACT interchange in meta.edi (UNA/UNB/UNH…UNT/UNZ with BGM/DTM/NAD/LIN/QTY/PRI/MOA), pro

  • edi.generate

    Generate an outbound ANSI X12 EDI document from JSON. POST type (850 = Purchase Order, 810 = Invoice) + senderId, receiverId, documentNumber (PO#/invoice#), optional date, parties (N1 role+name), items (quantity, uom, price, productId); for 810 optionally poNumber + total. Returns the full X12 interchange in meta.edi (correct ISA/GS/ST…SE/GE/IEA envelope). Deterministic — the outbound complement t

  • edi.parse

    Parse a raw ANSI X12 EDI document (B2B purchase orders, invoices, ship notices, etc.) into clean structured JSON. POST edi with the raw interchange text. Auto-detects delimiters; returns interchange metadata, each functional group + transaction set with its type decoded (850 PO, 810 invoice, 856 ASN, 855 PO ack, 997 ack), every segment named, and a semantic summary (PO/invoice numbers, parties, li

  • email.validatewrite action

    Validate an email address: RFC syntax validity, normalized address with local/domain, and flags for isDisposable (throwaway domain), isRoleAccount (info@/support@/…), isFreeProvider (gmail/outlook/…). With checkMx (default true) also reports hasMxRecords (domain MX presence, via DNS-over-HTTPS) + MX hosts. NOT a deliverability or mailbox-existence guarantee — signals only. For signup hygiene and l

  • factcheck.search

    Search the global corpus of published fact-checks (ClaimReview) by claim text. Returns matching claims with the claimant, claim date, and each review's verdict (textualRating like "False"/"Misleading"/"True"), publisher (PolitiFact, Snopes, FactCheck.org, Reuters, AFP…), review URL and date. Covers all topics — politics, health, science, viral/misinformation. Optional language, maxAgeDays, and pub

  • finance.amortize

    Compute a loan or mortgage amortization schedule. Pass principal, annualRatePct (e.g. 6.5), and term as termMonths or termYears; optional extraMonthly adds extra principal each month. Returns the fixed monthly payment, total interest, total paid, payoff month count, and the full month-by-month schedule (payment/principal/interest/balance). Deterministic, no external calls.

  • health.disease-surveillance

    Current US disease surveillance from the CDC (NNDSS weekly notifiable-disease counts, MMWR 2022→current). Filter by condition (substring), location (state/region/territory/national), and/or year; weeks/limit page results. Returns current-week count, prior-52-week max, and cumulative YTD per condition+location+week. Free, keyless CDC data. At least one of condition/location required.

  • inflation.calculator

    Adjust a US dollar amount for inflation between two dates ('what is $100 in 1990 worth today?') using CPI-U. Returns the adjusted amount, cumulative inflation %, annualized rate, and the CPI values used. Source: BLS CPI via FRED.

  • inflation.expectations

    US inflation expectations — 5y & 10y TIPS breakevens, 5y5y forward, and U-Michigan 1-year consumer expectation. Each a percent. Market breakevens update daily. Source: Fed/Treasury via FRED.

  • inflation.hicp

    EU harmonized inflation (HICP annual rate) — the official cross-country-comparable inflation rate for the EU, euro area, and each member state. Pass country (Eurostat geo: DE, FR, EL=Greece, EA20=euro area, EU27_2020=EU) or omit for all. Source: Eurostat (keyless). For US inflation use inflation.rates.

  • inflation.rates

    Current US inflation by measure with index level + YoY/MoM %. Pass measure (cpi, core-cpi, pce, core-pce, ppi, cpi-shelter, cpi-energy, import-prices, ...) or omit for all. The YoY change is the headline inflation rate. Source: BLS/BEA via FRED.

  • iso.currency

    ISO 4217 currency lookup. Pass code (alphabetic USD or 3-digit numeric 840) or country. Returns alphabetic + numeric code, English name, minor unit (decimal places — JPY 0, USD 2, BHD 3), and countries using it. Bundled authoritative ISO 4217 data.

  • iso.language

    ISO 639 language lookup. Pass code in any form — 639-1 (en), 639-2/B (ger), 639-2/T (deu) — or name. Returns the English name + all sibling codes (alpha-2, alpha3-B, alpha3-T), resolving the bibliographic/terminological split (German = de/deu/ger). Bundled authoritative ISO 639 data.

  • iso.subdivision

    ISO 3166-2 subdivision lookup (states/provinces/regions). Pass code (US-CA) to resolve one → name + country, or country (2-letter, US) to list all its subdivisions with codes. Bundled authoritative ISO 3166-2 data (~3.8k subdivisions, 237 countries).

  • labor.openings

    US labor-market turnover from BLS JOLTS (total nonfarm, national), monthly newest-first. measure = openings (default) / hires / quits / layoffs / separations. Returns level in thousands per month. The standard labor-tightness (openings) + worker-confidence (quits) signal. Public-domain.

  • labor.unemployment

    US unemployment from BLS, monthly newest-first — national (CPS, area="US") or by state (LAUS). measure = rate (default) / unemployed / employed / laborforce. Seasonally adjusted; rate in percent, counts in thousands. Public-domain.

  • labor.wages

    Occupational employment + wages from BLS OEWS by SOC code, nationally or by US state. Pass soc (e.g. 15-1252 Software Developers) + optional 2-letter state. Returns employment, hourly mean, and annual mean + 10th/25th/median/75th/90th-percentile wages (latest survey year). Authoritative ground-truth wages for comp benchmarking. Public-domain.

  • maritime.cases

    US Coast Guard activity / port-state-control case history for a vessel, by USCG vessel id (from maritime.vessel). Returns cases newest-first with activity id, start date, type (Boarding, Inspection, Investigation…), and process status. Keyless, public-domain. The compliance/inspection record behind a vessel.

  • maritime.port

    Look up world ports and terminals in the NGA World Port Index (Pub 150, ~2,950 ports) by port name (partial) and/or country (full name, e.g. "Japan"). Returns matching ports with location (lat/lon, country, region), UN/LOCODE, harbor size/type and shelter, max vessel length/draft (m), channel/anchorage/cargo-pier depths, tidal range, and chart number. Keyless, public-domain (NGA). Physical-port re

  • maritime.vessel

    Search the US Coast Guard PSIX vessel registry by name (partial), call sign, official number, hull number (HIN), flag, service type, or build year. Returns vessels with USCG vessel id, name, call sign, service type, build year, status, official number, HIN, flag. Keyless, public-domain. US-flagged vessels + foreign vessels with US PSC activity. Pair vesselId with maritime.cases.

  • medical.drug-price

    US drug pricing from CMS NADAC (National Average Drug Acquisition Cost), the benchmark per-unit acquisition cost CMS surveys weekly. Pass ndc (11-digit NDC) for an exact product or name (e.g. 'atorvastatin 10 mg') to search. Returns NDC, description, nadacPerUnit (USD), pricingUnit, effectiveDate, OTC flag, brand/generic classification — newest first. Real surveyed acquisition costs (not retail/in

  • music.artist

    Resolve a music artist from MusicBrainz (CC0). Pass a name or query. Returns ranked artists with MBID, name, sort name, type (Person/Group), country, gender, life span, disambiguation. Keyless, public-domain.

  • music.recording

    Resolve a song/recording from MusicBrainz (open, CC0 music encyclopedia). Pass artist + title, or a free-text/Lucene query. Returns ranked recordings with MBID, title, primary artist, length (ms), first-release date, disambiguation. Keyless, public-domain. Canonicalize a track to its MBID.

  • music.release

    Resolve an album/release from MusicBrainz (CC0). Pass a barcode (UPC/EAN), artist + album, or a free-text query. Returns ranked releases with MBID, title, artist, date, country, barcode, status, track count, label, catalog number. Barcode → album is the differentiated lookup. Keyless, public-domain.

  • net.rpki-validity

    RPKI Route Origin Validation for a (BGP origin AS, prefix) pair — is this AS authorized to originate this prefix? Pass asn (AS15169) + prefix (8.8.8.0/24). Returns status (valid / invalid = possible hijack / unknown), a hijackSignal boolean, validating ROAs, and a description. Live RIR/RPKI data via RIPEstat (keyless). The core BGP-security check.

  • occupation.profile

    Full occupation dossier from O*NET (US DOL) by SOC/O*NET-SOC code (e.g. 15-1252). Returns title, description, bright-outlook flag, sample job titles, and top skills, knowledge, abilities, work tasks, and technology tools. CC-BY. The canonical occupation reference for résumé/JD reasoning + career mapping; pair the code with labor.wages.

  • occupation.related

    Occupations related/career-adjacent to a given O*NET occupation, by SOC/O*NET-SOC code. Returns ranked related occupations (code + title). For career-pathing and transferable-skills reasoning. CC-BY.

  • occupation.search

    Find O*NET occupations by keyword (job title, skill, or activity). Returns ranked occupations with SOC/O*NET-SOC code + title. The "occupation code for this job/skill" primitive — every occupation.* / labor.wages call composes on the code. CC-BY.

  • patents.detail

    Full file-wrapper detail for a US patent application: bibliography, event timeline (filings, Office Actions, allowances), continuity chain (parents, divisionals), assignments, foreign priority.

  • patents.documents

    List every document in a US patent application file wrapper: Office Actions (CTNF, CTFR), IDS, claims, notices of allowance. Returns code, description, official date, and Patent Center download URL.

  • patents.search

    Search US patent applications and grants (USPTO Open Data Portal). Returns titles, inventors, applicants, status, classification codes, and Patent Center URLs.

  • search.endpoints

    Find the right 2s endpoint(s) for a task using a natural-language query (e.g. "screen a company for sanctions", "decode a VIN", "check a domain's email security"). Returns ranked matches with id, path, method, price, and description. Use this to discover capabilities before calling.

  • security.attack

    Authoritative MITRE ATT&CK (Enterprise) technique lookup. Pass id (T1059 / T1059.001) for name, tactics, description, platforms, sub-technique parent, mitigations, detection — or query for keyword search. Bundled (~700 techniques), zero external calls. Agents cite T-numbers + tactics that must be exact. For threat modeling, detection engineering, report enrichment.

  • security.capec

    Authoritative MITRE CAPEC (Common Attack Pattern Enumeration) lookup. Pass id (CAPEC-66 or 66) for name, abstraction, description, likelihood, severity, mapped CWE weaknesses + related patterns (with names) — or query for keyword search. Bundled (~615), zero external calls. The attacker view; CAPEC↔CWE cross-links let an agent pivot between an attack and the weakness it exploits.

  • security.cve-changes

    CVE change feed — the CVE records MODIFIED within a time window, so an agent can incrementally maintain a vulnerability view instead of re-scanning. Pass since (YYYY-MM-DD or ISO datetime); until defaults to now (window ≤120 days). Optional keyword/cpe filter. Each result: id, published + lastModified, vulnStatus, CVSS score/severity, description, and kevListed (now on the CISA Known-Exploited cat

  • security.cwe

    Authoritative MITRE CWE (Common Weakness Enumeration) lookup. Pass id (CWE-79 or 79) for the canonical weakness — name, abstraction, description, ChildOf/ParentOf relationships, mapped CAPEC patterns (all with names) — or query for keyword search. Bundled (~970), zero external calls. Anti-hallucination: agents cite CWE IDs/names that must be exact. Pairs with security.cve + security.capec.

  • security.exploit-availability

    Does public exploit code exist for a CVE, and where? Pass cve (CVE-2021-44228). Returns hasPublicExploit, count, hasMetasploitModule + hasVerifiedExploit flags, and Exploit-DB entries (description, type, platform, date, link). Bundled Exploit-DB index (~25k CVEs). The 'is it weaponized?' triage signal BEYOND security.cve's KEV (in-the-wild) + EPSS (probability). Absence != no exploit exists.

  • security.http-headers

    Fetch a URL and grade its HTTP security headers (CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, COOP/CORP). Pass url. Returns a letter grade + score, present/missing headers, and a per-header analysis with the live value and issues. Also flags Server/X-Powered-By info disclosure. SSRF-guarded live fetch (private targets refused) — an LLM can't see a site's

  • security.ioc-reputation

    Threat-intel reputation for an IOC — pass ioc as an IP, domain, URL, or file hash (auto-detected). Returns a malicious boolean + per-source breakdown: abuse.ch ThreatFox, URLhaus, MalwareBazaar, Feodo Tracker (botnet C2 IPs), Tor exit nodes, Spamhaus DROP. Live, hourly-rotating threat feeds an LLM cannot know — a ground-truth check for SOC alert triage. Absence ≠ safety.

  • security.ip-abuse

    AbuseIPDB single-IP abuse check. Pass ip (IPv4/IPv6). Returns abuseConfidenceScore (0-100), totalReports, numDistinctUsers, lastReportedAt, usageType, ISP, domain, hostnames, isTor, isWhitelisted, country. verbose=true adds individual report records; maxAgeInDays (1-365, default 90) bounds the window. Live crowd data for SOC triage and login-abuse blocking.

  • security.ip-blacklist

    AbuseIPDB bulk blacklist — most-reported abusive IPs above a confidence threshold (the fail2ban / firewall block-feed). Tune confidenceMinimum (25-100, default 90), limit (1-10000), ipVersion (4/6), onlyCountries / exceptCountries (ISO-2). Returns each IP with country, confidence, lastReportedAt + the list generatedAt.

  • security.ip-block

    AbuseIPDB subnet (CIDR) check — which IPs inside a network block have been reported. Pass network as a CIDR (e.g. 118.25.0.0/24; up to /16 IPv4, /112 IPv6). Returns block metadata + reportedAddress (each flagged IP with numReports, confidence, mostRecentReport, country). Optional maxAgeInDays (default 30), limit. Vet a hosting range or sweep your own allocation.

  • security.ip-reputation

    Multi-source IP reputation with one combined authority score (0-100). Polls AbuseIPDB (crowd abuse confidence), abuse.ch threat-lists (Feodo C2 + ThreatFox + Spamhaus DROP + Tor), blocklist.de (fail2ban network), and StopForumSpam in parallel and blends them into a verdict (clean/low/suspicious/malicious) + flaggedBy + per-source opinions + enrichment (ISP, usage type, country, ASN, Tor). Authorit

  • security.password-exposure

    Check whether a password appears in known breaches via Have I Been Pwned's k-anonymity model — only the first 5 chars of the password's SHA-1 are sent upstream, never the password or full hash. POST { password } (hashed server-side) or { sha1 } (the 40-hex SHA-1, for zero-knowledge). Returns breached + count. 900M+ breach corpus; for signup/password-policy enforcement. Absence ≠ strength.

  • soil.hardiness-zone

    USDA Plant Hardiness Zone for a US ZIP code — planting zone (e.g. "9b") + average annual minimum-temperature range (°F) + ZIP centroid. Keyless, public-domain. The "what grows where" primitive for gardening/landscaping/nursery/agronomy.

  • soil.profile

    Ground-truth soil profile for any US lat/lng from USDA-NRCS SSURGO. Returns the soil map unit + component soil types ranked by composition %, each with taxonomic order/class, drainage class, hydrologic group, and slope. Keyless, public-domain. For agronomy, land/septic/foundation suitability, hydrology, crop-fit. Water/unsurveyed points return an empty component list.

  • tax.vat

    Validate an EU VAT number against the official VIES register in real time. Confirms current registration for intra-EU trade and, when the member state discloses it, returns the registered business name + address. Covers the 27 EU states (Greece as EL) plus Northern Ireland (XI); Great Britain (GB) is not in VIES. Pass vat (full identifier like DE811569869) OR country + number. Returns {valid, coun

  • tax.vat-rates

    Current EU VAT rates by member state — standard rate plus reduced/super-reduced/parking/zero rates — from the European Commission TEDB, refreshed regularly. Pass country (ISO 2-letter; Greece is EL) for one state, or omit for all 27. Each result returns standardRate, reducedRates[], every rate category with its percentage, and the date in force. Pairs with tax.vat (number validation).

  • telecom.fcc-filings

    Search FCC ECFS filings for a proceeding/docket (e.g. 17-108 net neutrality, 11-42 Lifeline), optionally by filer. Returns newest filings with submission id, filer, type, lead bureau, received/disseminated dates, doc count. Track FCC regulatory dockets, comments, ex-parte filings. Public-domain.

  • telecom.market-area

    Map a US lat/lon to its FCC spectrum-licensing geographies — Cellular Market Area (CMA), Basic/Major Trading Area (BTA/MTA), Partial Economic Area (PEA), and BEA/EAG/MEA/REAG economic areas — plus 2020 Census block FIPS, county, and block population. These define spectrum-license boundaries; distinct from ordinary geocoding. Keyless, public-domain.

  • travel.advisory

    Current US State Department travel advisories. Omit country for the full list, or pass a country name (case-insensitive substring) for one. Returns the advisory level (1 Normal Precautions → 4 Do Not Travel) with label, a plain-text summary of reasons, the official link, and published date. Live from the official travel.state.gov RSS feed (public domain).

  • travel.visa

    Visa requirement for a passport × destination. Pass passport and destination as ISO-3166 alpha-3, alpha-2, or country name. Returns the category — visa free (with visaFreeDays), visa on arrival, e-visa, eta, visa required, or no admission — plus a plain-language description. Community-maintained Passport Index dataset (MIT); informational, not official immigration advice.

  • validate.aba

    Validate a US bank ABA routing number with the Federal Reserve weighted mod-10 (3-7-1) checksum, not just a regex. Returns valid, routingNumber, and routing-symbol district. Catches transposed digits in ACH/wire setup.

  • validate.batch

    Validate up to 100 mixed identifiers in one deterministic call. Pass items=[{type,value}] with type one of iban, gtin, aba, lei, bic, gln, sscc, isin, cusip. Each result (in input order, with index + type) carries valid/reason plus the same type-specific fields the single endpoints return. One bad value or unsupported type degrades to that item only. Collapses a whole record of checksum checks int

  • validate.bic

    Validate a SWIFT/BIC code (ISO 9362): 8 or 11 chars = institution + ISO country + location + optional branch, with the country checked against ISO 3166. Returns parsed parts. Structure only, not a directory lookup.

  • validate.cusip

    Validate a CUSIP (9-character US/Canada securities identifier) with its mod-10 weighted check digit. Returns valid + check digit. Deterministic security-master validation.

  • validate.gln

    Validate a GS1 GLN (Global Location Number), 13 digits with the GS1 mod-10 check digit. GLNs identify trading parties + physical locations in CPG supply chains / EDI. Deterministic.

  • validate.gtin

    Validate a product barcode (GTIN-8/12/13/14, UPC-A, EAN-13, ISBN-10/13) with the GS1 mod-10 / ISBN mod-11 check digit. Returns valid, type, and the canonical GTIN-14 key for product-master dedup. Deterministic — no checksum math in the LLM.

  • validate.iban

    Validate an IBAN (International Bank Account Number) with full ISO 13616 checks: country-specific length + ISO 7064 mod-97 checksum, not just regex. Returns valid flag, normalized + 4-char-grouped form, country, check digits, and BBAN. Deterministic, ~85 countries — validate AND canonicalize bank details in one call instead of doing checksum math in an LLM.

  • validate.isin

    Validate an ISIN (ISO 6166 securities identifier): 2-letter country + 9-char NSIN + Luhn check digit. Returns valid, country, nsin, and the embedded CUSIP for US/CA issues. Catches transposed chars in security master data.

  • validate.lei

    Validate a Legal Entity Identifier (LEI, ISO 17442) with the ISO 7064 mod-97-10 check digits. Returns valid, normalized LEI, and the issuing LOU prefix. Confirms a counterparty/vendor LEI is well-formed before GLEIF lookup.

  • validate.sscc

    Validate a GS1 SSCC (Serial Shipping Container Code), 18 digits with the GS1 mod-10 check digit. SSCCs identify logistic units (pallets/cases) — the key field in shipping/ASN (EDI 856). Deterministic.

  • vehicle.canadian-specs

    Canadian-market vehicle dimensions/weights from NHTSA vPIC Canadian Vehicle Specifications. Pass year + make (required) + optional model. Returns labeled dimensions — overall length/width/height (cm), wheelbase, curb weight (kg), track width, interior room, weight distribution — plus the raw spec map. Keyless, public-domain, 1971+.

  • vehicle.fuel-economy

    Official US EPA/DOE fuel-economy, fuel-cost, and emissions data for a vehicle by year + make + model. Returns one entry per powertrain configuration: MPG city/highway/combined (MPGe for EVs), CO2 grams/mile, annual fuel cost, annual petroleum barrels, EPA greenhouse-gas score, 5-year savings vs average, transmission, drivetrain, cylinders, displacement, fuel type, size class, EV range. Authoritati

  • water.gauge

    Real-time US river/stream conditions from a USGS monitoring site. Pass site (USGS site number, e.g. 01646500). Returns latest streamflow, gage height, water temp + site name/location. Source: USGS NWIS (keyless).

Public scan report

scanner v0.1.10 · 2026-11-01 · same rubric, same numbers if you re-run it

no findings
  • Code scan10 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 8 days ago15/15
  • Maintainer identityregistry namespace matches repository owner7/10
Overall 82/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How 2s Io compares

Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
82/100
higher than 65% of 4,460 AI and agents servers
Tools
100
the typical AI and agents server has 6
Tools that change things
3%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
9
more than 83% of 2,711 AI and agents servers
Downloads a week
471
more than 86% of 1,538 AI and agents servers with a package

What its tools let an agent do: 92 read · 3 create · 3 change · 1 send or post · 1 run or deploy

Install 2s Io in Claude Code, Cursor or VS Code

Runs npx -y @2sio/mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add mcp -- npx -y @2sio/mcp
Add to Cursor

What the publisher says

From the 2s Io repository's README, as published. We do not edit it. Read it on GitHub

2s.io SDK

Client SDK + MCP server for 2s.io — the (most) everything API. One pay-per-call API giving AI agents ground-truth data across hundreds of endpoints, paid per call in USDC on Base or Solana via x402.

This repo ships SDKs for every major agent-development language plus an MCP server for any MCP-aware host:

No accounts. No API keys. No credit cards. Buyers sign an EIP-3009 USDC authorization (Base) or an SPL USDC transfer (Solana) on-the-fly, the facilitator verifies + settles in ~2 seconds on mainnet, and the API returns typed data. Prices start at $0.0025/call.

🎁 Try before you buy — free, no wallet

Want to confirm an endpoint actually works before funding anything? Every endpoint serves one free real call per endpoint per hour — no key, no wallet, no signup. Add ?trial=1 (or header X-2s-Trial: 1), or flip the SDK into trial mode:

import { TwoS } from '@2sio/sdk'
const trial = new TwoS({ trial: true })            // no key required
const { data } = await trial.validate.iban({ iban: 'GB82WEST12345698765432' })
console.log(data.items[0].valid)                    // real result; response meta.trial = { free: true, ... }
from twosio import TwoS
trial = TwoS(trial=True)                            # no key required
print(trial.validate.iban(iban="GB82WEST12345698765432").data["items"][0]["valid"])
curl "https://2s.io/api/validate/iban?iban=GB82WEST12345698765432&trial=1"
npx -y @2sio/mcp --trial      # MCP host with free trial calls; or set TWOS_TRIAL=1

The trial runs the real handler and returns real data. Once the hourly trial is used, the endpoint returns the normal 402 — drop trial and pass a privateKey/signer to pay per call for unlimited access.

🔔 Watchers — get woken up, don't poll

Most endpoints are reads. Watchers flip that: arm one once and 2s pushes you a signed callback the instant something happens — a wallet moves on Base/Ethereum/Bitcoin, a US stock crosses your price, a company reports earnings. No polling loop, no wasted calls. Flat $0.05 to arm; callbacks are EIP-191-signed (verify offline), retried with exponential backoff, with a pull backstop via watchers.status. A new class of stateful, agent-native primitives.

const client = new TwoS({ privateKey: process.env.EVM_PRIVATE_KEY })
const { data } = await client.watchers.stockPrice({
  ticker: 'AAPL', conditionType: 'above', threshold: 250,
  callbackUrl: 'https://your-agent.app/hooks/aapl',
})
// also: watchers.cryptoAddressActivity, watchers.earnings — see https://2s.io/watchers

Hosted MCP (connect by URL)

Don't want to install anything? Point any MCP host at the hosted server:

https://2s.io/mcp

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

2s Io: common questions

Is 2s Io MCP server safe?
Mostly: it is graded B (82/100). Read the 2s Io safety report
How do I install 2s Io?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does 2s Io need an API key?
Yes. The registry entry asks for EVM_PRIVATE_KEY.
Is 2s Io maintained?
The last commit was 11 days ago (2026-10-24). The latest release is v1.82.0.
What can I use instead of 2s Io?
Servers from other publishers that do the same job: three.ws Billing MCP server, Butterbase AI MCP server and freellmpool MCP server.
How does 2s Io compare with other AI and agents MCP servers?
safety score 82/100 (higher than 65% of 4,460 AI and agents servers); tools 100 (the typical AI and agents server has 6); tools that change things 3% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to 2s Io

Same job from other publishers: the closest match first, then the best rated.

  • three.ws Billing
    An agent's account economics — plan quotas, metered usage, invoices, receipts, and earnings.
    B
  • Butterbase AI
    Butterbase MCP server — manage your backend: schemas, auth, functions, storage, RAG, deploys.
    A
  • freellmpool
    OpenAI-compatible MCP gateway cataloging 22 LLM providers, with routing, failover, and tools.
    A
  • Agoragentic Agent OS MCP
    Triptych OS (Agent OS) MCP for governed routing, receipts, and USDC settlement on Base.
    B
  • Ausca
    Pay-per-call APIs and MCP services for agents, no accounts or keys, with verifiable receipts.
    A