Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
IBAN, ISIN, VAT/tax ID, GTIN validation; timezone, geo, text, chain utilities. Pay per call
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://api.duoleads.com/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http data-utilities https://api.duoleads.com/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"data-utilities": {
"url": "https://api.duoleads.com/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"data-utilities": {
"type": "http",
"url": "https://api.duoleads.com/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://api.duoleads.com/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ผู้ลงทะเบียน (api.duoleads.com) ไม่ใช่เจ้าของ repo (hiesem) อาจเป็นคนอื่นที่นำมาลงต่อ
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 0 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.4) เข้า registry 12 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Finance Toolkit, SolidInvoice, Korea Tax Calculator
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 95 tools with statutory citations.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
IBAN, ISIN, VAT/tax ID and GTIN barcode validation plus 29 more utilities for AI agents. Pay per call ($0.05 USDC on Base via x402), no API key, no signup.
Timezone and DST, geo distance and geohash, hashes and JWT decoding, airport, country, currency and NUTS lookups, money split, base conversion and more. Every call is one HTTP GET, paid per request.
Also crypto derivatives data for trading agents: perp funding rates, funding arbitrage, open interest, futures basis, implied volatility, liquidations and order book depth across Bybit, Hyperliquid, dYdX, Gate, Kraken, Bitfinex, Deribit and OKX, at $0.003 or $0.005 per call (below).
npm install duo-data-utilities viem
viem creates the wallet account that pays. This package also depends on it. Node.js 20 or later.
Python (not on PyPI, install from GitHub):
pip install "git+https://github.com/hiesem/duo-data-utilities#subdirectory=python"
import { privateKeyToAccount } from "viem/accounts";
import { createClient } from "duo-data-utilities";
// Your wallet holds USDC on Base. Read the key from the environment, never a literal. const client = createClient({ account: privateKeyToAccount(process.env.DUO_PAYER_KEY as 0x${string}) });
const iban = await client.iban.validate({ iban: "NL91 ABNA 0417 1643 00" }); // $0.05 console.log(iban.valid, iban.country); // true NL
checkCounterparty runs three checks in one call: IBAN (/v1/id/iban), tax ID (/v1/id/national) and country (/v1/ref/country). It costs $0.15.
const check = await client.checkCounterparty({
iban: "NL91 ABNA 0417 1643 00", country: "NL", taxIdType: "bsn", taxId: "111222333", }); console.log(check.verdict, check.reasons); // "pass", "fail" or "review"
fail: the IBAN or the tax ID fails its checksum, the country is not an ISO 3166-1 country, or the API rejects an input as malformed.review: the IBAN country differs from the tax ID country, or the API does not cover that country or tax ID kind.pass: every check passed.Structure and checksum only. The check does not query a company register, a bank or a tax authority, and it does not confirm that an account exists. UK is read as GB.
client.derivs calls https://derivs.duoleads.com: crypto derivatives data from 8 exchanges (Bybit, Hyperliquid, dYdX, Gate, Kraken, Bitfinex, Deribit, OKX) for trading agents and bots. Perpetual futures (perp) funding rates with predicted funding, funding rate history and a funding arbitrage scanner, a perp screener, open interest (OI), futures basis and term structure, options implied volatility (IV), skew and max pain, liquidations, and order book depth with slippage. $0.003 or $0.005 per call, same wallet, same x402 payment, no API key.
import { privateKeyToAccount } from "viem/accounts";
import { createClient, createDerivsClient } from "duo-data-utilities";
const account = privateKeyToAccount(process.env.DUO_PAYER_KEY as 0x${string}); const client = createClient({ account });
const funding = await client.derivs.fundingRates({ coin: "BTC" }); // $0.003 for (const v of funding.venues) console.log(v.venue, v.apr_pct, v.next_funding_time);
const arb = await client.derivs.fundingArbitrage({ min_apr: 20, min_volume_usd: 1_000_000 }); // $0.005, all coins const snap = await client.derivs.derivativesSnapshot({ coin: "ETH" }); // $0.005: funding, OI, basis, liquidations, long/short
// Or a derivs-only client: const derivs = createDerivsClient({ account }); await derivs.openInterest({ coin: "SOL" }); // $0.003
import os
from eth_account import Account from duo_data_utilities import DerivsClient, DuoClient
client = DuoClient(Account.from_key(os.environ["DUO_PAYER_KEY"])) rates = client.derivs.funding_rates(coin="BTC") # $0.003 book = client.derivs.orderbook(coin="BTC", size_usd=250_000) # $0.003 derivs = DerivsClient(Account.from_key(os.environ["DUO_PAYER_KEY"])) # derivs only
client.derivs has its own cap, $0.005 per call by default. createClient({ account, derivs: { maxPriceUsd: 0.003 } }) refuses the $0.005 routes (Python: derivs_max_price_usd=0.003). The other rules are the same: Base USDC only, only to 0xCD673f7e1daD254347AEab6be0DEFe8b9C6b3A39, nothing is signed before the check.error.expected. When fewer venues answer than the route needs, the answer is a 503 and nothing is charged. Both throw DuoApiError.data envelope), with venues_missing, units, as_of and a see_also pointer to the next useful route. TypeScript types: DerivsFundingRatesData and so on.https://derivs.duoleads.com/mcp. Snippets for Claude Code, Claude Desktop, Cursor and VS Code: mcp/README.md.| TypeScript | Python | Route | Price | What it returns |
|---|---|---|---|---|
derivs.fundingRates | derivs.funding_rates | /v1/funding-rates | $0.003 | Perp funding rates per exchange for one coin: rate, 8h rate, APR, next funding, predicted funding (incl. Binance and Bybit), last 24 prints |
derivs.fundingHistory | derivs.funding_history | /v1/funding-history | $0.003 | Funding rate history of one coin on one exchange, up to 30 days, with avg/min/max/% positive |
derivs.fundingArbitrage | derivs.funding_arbitrage | /v1/funding-arbitrage | $0.005 | Funding arbitrage scanner for all coins: widest cross-venue spread, long and short venue, fee-adjusted net APR, breakeven days |
derivs.perpScreener | derivs.perp_screener | /v1/perp-screener | $0.005 | Perp screener: every perpetual across venues, sorted by funding APR, open interest, 24h volume or 24h change |
derivs.openInterest | derivs.open_interest | /v1/open-interest | $0.003 | Open interest (OI) per exchange in coins and USD, share, and 1h/4h/24h OI change |
derivs.basis | derivs.basis | /v1/basis | $0.003 | Futures basis and term structure (annualised, contango/backwardation), perp premium, predicted funding |
derivs.options | derivs.options | /v1/options | $0.003 | Implied volatility (ATM IV), 25-delta skew, put/call OI ratio, max pain, DVOL; options chain with greeks for one expiry |
derivs.liquidations | derivs.liquidations | /v1/liquidations | $0.003 | Long and short liquidations in USD per venue over 1-24h, totals and the largest events |
derivs.orderbook | derivs.orderbook | /v1/orderbook | $0.003 | Order book depth within 0.1/0.5/1/2% of mid, spread, imbalance, slippage for your order size, walls |
derivs.derivativesSnapshot | derivs.derivatives_snapshot | /v1/derivatives-snapshot | $0.005 | One-call snapshot: funding, open interest, perp premium and nearest basis, 24h liquidations, long/short ratio |
Derivs docs: https://derivs.duoleads.com/docs · OpenAPI: https://derivs.duoleads.com/openapi.json · Index: https://derivs.duoleads.com/llms.txt · Terms: https://derivs.duoleads.com/terms · Privacy: https://derivs.duoleads.com/privacy
client.keywords calls https://keywords.duoleads.com. It returns Google keyword search volume, CPC, competition, keyword difficulty and search intent (Google Ads data), keyword ideas for a seed, and Google Trends (interest over time, related queries, interest by region). Calls cost $0.03 to $0.045 each and use the same wallet and the same x402 payment, with no API key.
const volume = await client.keywords.searchVolume({ keywords: ["phone", "watch"], country: "us" }); // $0.04, up to 20 keywords
const overview = await client.keywords.keywordOverview({ keywords: myList }); // $0.04, up to 100 keywords (POST) const ideas = await client.keywords.keywordIdeas({ keyword: "seo api", limit: 50 }); // $0.04 (POST) const trend = await client.keywords.trend({ keyword: "seo tools", timeframe: "past_12_months" }); // $0.045
// Or a keywords-only client: const keywords = createKeywordsClient({ account }); await keywords.relatedQueries({ keyword: "seo api", country: "us" }); // $0.03
client.keywords has its own cap, $0.045 per call by default. createClient({ account, keywords: { maxPriceUsd: 0.04 } }) refuses the $0.045 trend route. The other rules are the same: Base USDC only, only to 0xCD673f7e1daD254347AEab6be0DEFe8b9C6b3A39, and nothing is signed before the check.DuoApiError.https://keywords.duoleads.com/mcp.| Method | Route | Price | What it returns |
|---|---|---|---|
keywords.keywordOverview | POST /v1/keyword-overview | $0.04 | Search volume, CPC, competition, keyword difficulty and intent for 1-100 keywords |
keywords.searchVolume | GET /v1/search-volume | $0.04 | The same metrics for 1-20 keywords in one country |
keywords.keywordIdeas | POST /v1/keyword-ideas | $0.04 | Up to 100 related keyword ideas for one seed, each with the same metrics |
keywords.trend | GET /v1/trend | $0.045 | Google Trends interest over time (0-100), 7 days to 5 years |
keywords.relatedQueries | GET /v1/related-queries | $0.03 | Google Trends top and rising related queries |
keywords.interestByRegion | GET /v1/interest-by-region | $0.03 | Google Trends interest per region of a country |
Keyword docs: https://keywords.duoleads.com/docs · OpenAPI: https://keywords.duoleads.com/openapi.json · Index: https://keywords.duoleads.com/llms.txt
Every method costs $0.05 per call. Each method's JSDoc gives the route and the parameters. client.call(path, params) calls any route, and client.callWithReceipt(path, params) also returns the settlement receipt.
| Method | Route | What it does |
|---|---|---|
iban.validate | /v1/id/iban | IBAN validator: length, mod-97 check digits, bank/branch/account breakdown (89 countries) |
iban.generate | /v1/id/iban-build | IBAN generator: build an IBAN from country and BBAN or bank/branch/account, computing check digits |
taxId.validate | /v1/id/national | VAT, tax ID and national ID validator: 23 countries, checksum only (VAT formats BE, DE, FR, IT, PL, AT, CH, IE) |
isin.validate | /v1/id/security | ISIN validator plus CUSIP, SEDOL and FIGI check-digit validation; builds an ISIN from an NSIN |
barcode.validate | /v1/id/gs1 | GTIN barcode validator: EAN-13, UPC-A (GTIN-12), GTIN-8/14, GLN and SSCC check digits |
timezone.convert | /v1/time/zone | Timezone converter: instant to local time in an IANA time zone and back, with UTC offset and DST state |
timezone.dstTransitions | /v1/time/dst | DST transitions: next daylight-saving time changes for an IANA time zone |
businessDays.calculate | /v1/time/business-days | Business days calculator: add or count working days with your weekend mask and holiday list |
rrule.expand | /v1/time/rrule | RRULE expander: RFC 5545 recurrence rule to concrete occurrence dates |
calendar.convert | /v1/time/calendar | Calendar converter: Gregorian to Hijri, Hebrew, Japanese era, Persian and more, plus Easter date |
| text.similarity | /v1/text/similarity | String similarity: Levenshtein, Jaro-Winkler distance
ตัดมาแค่ช่วงต้น อ่านต่อใน repo