Spree Commerce: open-source B2B and marketplace ecommerce
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
8 invoice/payment tools; 5 free, no login. IBAN, bank changes, Peppol. Paid VAT and invoice review.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://jithox.com/api/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http jithox https://jithox.com/api/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"jithox": {
"url": "https://jithox.com/api/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"jithox": {
"type": "http",
"url": "https://jithox.com/api/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://jithox.com/api/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 8 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
kbo_company_searchVAT status / does this company exist: look up one EU VAT or enterprise number in EU VIES (Belgian KBO/BCE included). Returns registered name, VAT id, address and status; not proof of every company without VAT registration. 2 credits (EUR 0.02) per successful call; needs a bearer
review_invoiceCheck a structured invoice: Peppol fields, totals, EU VIES VAT, fixes and UBL XML. Never sends; unanswered VAT is unknown. No receiver lookup here. If the receiver has a Peppol address, next call check_peppol_ready with this invoice. 8 credits (EUR 0.08) per review the VAT regist
verify_ibanCheck an IBAN's structure and check digits for 70+ countries, offline. It never claims the account exists or who owns it. Free, no token.
check_peppol_readyCheck your own invoice against 21 published Peppol BIS Billing 3.0 rules, and whether the customer's Peppol address is registered; each finding names the rule and the fix. A listed subset, not the official validator. Free, no token.
lookup_peppol_participantAsk live Peppol registers about e-invoice reception, document types and failure contacts; never guarantees delivery. Not a VAT or company-register check; use kbo_company_search (one company) or check_vat_list (a list). Free, no token.
check_payment_changeCheck a supplier's bank-detail change before the vendor record is touched: returns no_change, verify_first, stop or invalid_new_account with call-back steps. It never says an account is safe. Free, no token.
preflight_paymentFor a structured invoice, call review_invoice first. Before paying, compare the supplied human approval with the payment and run rail checks (invoice: IBAN, account change). Without approved: review_required or stop, never no_blockers_found. Returns checks and signed evidence. Ne
check_vat_listCheck up to 20 rows of EU VAT numbers in EU VIES, row for row; a malformed or non-EU row is judged locally (`not_covered`, never `invalid`). UNKNOWN COSTS NOTHING, and the balance must cover the whole call (20 credits for 20 rows) before it runs. Optional requesterVatId adds a co
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน jithox.com แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 239 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 8 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.1.0) เข้า registry 36 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
server ทางการของ Stripe ให้ AI ดูและจัดการลูกค้า สินค้า การชำระเงิน และใบแจ้งหนี้ ต่อผ่านคลาวด์ของ Stripe และล็อกอินแบบ OAuth
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Jithox runs a remote MCP server. Its front door is preflight_payment: one free call, before an agent pays an invoice, that answers stop, review_required or no_blockers_found with signed evidence. Next to it are read-only checks for e-invoices and payments: IBAN structure, supplier bank-detail changes, Peppol BIS Billing 3.0 rule validation, Peppol participant (receiver) lookup, and VIES lookup.
It is for developers and AI agents that prepare an e-invoice or a payment and want a check before something is sent, submitted to Peppol, or paid.
This repository holds examples, a registry manifest and one agent plugin package. It contains no server code. The server itself is hosted by Jithox.
Remote MCP URL: https://jithox.com/api/mcp
Claude Code: claude mcp add --transport http jithox https://jithox.com/api/mcp Codex: codex mcp add jithox --url https://jithox.com/api/mcp Cursor: cursor://anysphere.cursor-deeplink/mcp/install?name=jithox&config=eyJ1cmwiOiJodHRwczovL2ppdGhveC5jb20vYXBpL21jcCJ9 VS Code: vscode:mcp/install?%7B%22name%22%3A%22jithox%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fjithox.com%2Fapi%2Fmcp%22%7D Gemini CLI (~/.gemini/settings.json): {"mcpServers":{"jithox":{"httpUrl":"https://jithox.com/api/mcp"}}}
See PACKAGE.md for the portable Agent Plugins package and its Claude Code, Cursor, Gemini and Grok configuration. Validation scope and primary sources are in docs/PLUGIN_VALIDATION.md. No public directory listing or recommendation is implied.
After the reviewed package reaches the public default branch, Claude Code can discover this repository marketplace with:
/plugin marketplace add victor-emmanuel-c/jithox-mcp
/plugin install jithox@jithox
For Agent-Skills-compatible clients:
npx skills add victor-emmanuel-c/jithox-mcp
The v1.0.0 discovery-only check DISABLE_TELEMETRY=1 npx skills add . --list listed one skill on 2026-10-02. The GEBRUIK1 candidate contains five skills; that file inventory is not an installation or completed agent task. The remote command installs from the published repo; review its permissions and selected version before accepting.
Build the upload ZIP deterministically from the repository root:
python scripts/plugin_package.py ../directories/jithox-agent-plugin-1.0.0.zip
The builder includes only its explicit runtime-file allowlist. ZIP uploads, publisher verification and directory applications remain owner actions.
| Natuurlijke vraag | Skill / commandnaam | Gratis/betaald | Eerlijke uitkomst |
|---|---|---|---|
| "Controleer deze factuur en betaalrun voordat ik betaal; meld wat niet gecontroleerd is." | pay-invoices-safely | Basischecks gratis; VAT/volledige review betaald na prijs en toestemming | Bevindingen en openstaande controles; geen betaling of betaaltoestemming. |
| "Het leveranciers-IBAN is gewijzigd; vergelijk het met onze administratie." | verify-bank-detail-change | Gratis | stop, verify_first of no_change; terugbellen via eigen administratie, geen recordwijziging. |
| "Bereid deze e-factuur Peppol voor en controleer de ontvanger." | send-peppol-invoice | Gratis | Regelbevindingen en documentondersteuning; geen verzending, acceptatie- of leveringsgarantie. |
| "Controleer dit betaalvoorstel voordat mijn agent geld uitgeeft." | agent-payment-preflight | Gratis | Echte preflight en beperkingen; onbekend is geen pass, er wordt niets betaald. |
| "Controleer deze btw-lijst of zoek dit bedrijf op; wat kost het?" | check-vat-numbers | Betaald; actuele kosten eerst uit live tools/list | Toestemming vóór de call; zonder toegang not_run en de live verbindingsstap, geen verzonnen registerantwoord. |
Gebruik gewone vragen voor skillselectie; activatie verschilt per client en is nog geen bewezen taak. Expliciet: Claude /jithox: (pluginnamespace), Gemini / (bij naamconflict kan de extensionnamespace verschijnen). De bestanden staan in commands/*.md en commands/*.toml; alle vijf skills hebben precies twee scenario's in hun eigen references/examples.md. Zie GEBRUIK1-validatie en het reproduceerbare evalpakket. Eigen probes zijn geen extern gebruik. Deze kandidaat is niet gepubliceerd of als beter geëvalueerd.
preflight_paymentCall preflight_payment once, before your agent pays an invoice. It compares what the person approved, as your agent reports it (payee, amount, currency, account), with what is about to be paid; checks the IBAN and a changed supplier bank account against the one on file; and answers stop, review_required or no_blockers_found, with every check, what it does not prove, and a signed evidence token. No account, no token. It never pays and never calls an account safe: a check that did not run is listed as not_run, never as a pass.
The 2026-09-25 measurement covered only invoice_bank; the other rails then returned review_required with rail_not_covered. This is historical evidence, not current coverage: read the live schema and every returned check for the actual invoice_bank, x402, card_or_giftcard or crypto_bridge proposal.
The person approved paying invoice 2026-105 to Acme BV; the invoice now asks for a different account than the one on file. The payment instruction is copied from that invoice, so instructionSource is ingested_content, while approved separately records what the person approved. These are fictional sample inputs:
curl -s https://jithox.com/api/mcp \
-H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"preflight_payment","arguments":{"rail":"invoice_bank","approved":{"amount":"1210.00","currency":"EUR","payee":{"name":"Acme BV"},"purpose":"Invoice 2026-105"},"instructionSource":"ingested_content","payment":{"iban":"BE71 0961 2345 6769","amount":"1210.00","currency":"EUR","payeeName":"Acme BV","supplierCountry":"BE"},"ibanOnFile":"BE68539007547034"}}}'
The corrected request above was measured anonymously on 2026-10-03 with x-jithox-probe: gebruik1-fix: HTTP 200, review_required, instruction: warn, reasons instruction_not_from_human and payment_change_verify_first, and charged: false. Missing invoice/VAT checks remained not_run. No payment was made; the human approval did not change the invoice instruction's source.
Historical output from the old, incorrectly human-labelled request, measured on 2026-09-25; not the response to the corrected request above. The unwrapped result is retained unchanged; … marks where it was shortened for this page:
{
"kind": "payment_preflight", "data": { "schemaVersion": "jx.payment-preflight/v1", "verdict": "review_required", "reasons": [{ "code": "payment_change_verify_first", "check": "payment_change" }], "humanStep": "Call the supplier back on a phone number from your own records (never one from this invoice or its e-mail) and have them read the account number to you.", "checks": [ { "id": "approval", "status": "pass", … }, { "id": "iban", "status": "pass", "value": "BE71 ** ** 6769: structure and check digits are right", … }, { "id": "payment_change", "status": "warn", "value": "verify_first", "findings": ["bank_changed"], … }, { "id": "vat_register", "status": "not_run", "reason": "needs_connection", … }, … ], "billing": { "charged": false, "units": [] }, … }, "evidence": { "format": "compact-jws", "jws": "eyJhbG…", "jwks": "https://jithox.com/.well-known/jwks.json", "verify": "https://jithox.com/api/v1/evidence/verify", … } }
Anyone can check that a verdict was not changed: POST the jws (optionally with the input and its inputSalt) to https://jithox.com/api/v1/evidence/verify. The untouched token answered "status": "valid"; the same token with its verdict changed answered "invalid" with reason signature_mismatch (tested 2026-09-25).
https://jithox.com/api/mcp
Transport: Streamable HTTP (POST, JSON-RPC 2.0). No account or token is needed for tools/list.
{
"mcpServers": { "jithox": { "url": "https://jithox.com/api/mcp" } } }
Open Settings → Developer → Edit Config, and add the block above to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.json). Restart Claude Desktop.
Use tools/list on this endpoint as the source for current availability: tool names, descriptions and input schemas. Read that live response rather than relying on a fixed tool count or catalog in this README.
Limits: 30 requests per minute per IP on this endpoint; above that you get HTTP 429 with Retry-After.
Output is shown as returned; … marks where it was shortened for this page.
curl -s https://jithox.com/api/mcp \
-H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_peppol_ready","arguments":{"invoiceNumber":"INV-2026-0001","issueDate":"2026-09-23","currency":"EUR","buyerReference":"PO-4471","totalWithoutVat":1000,"totalVat":210,"totalWithVat":1210,"lines":[{"description":"Consulting hours","quantity":10,"unitPrice":100,"vatPercent":21}],"supplier":{"name":"Seller BV","countryCode":"BE","endpointId":"0403170701","endpointScheme":"0208"},"customer":{"name":"Buyer NV","countryCode":"BE","endpointId":"0400378485","endpointScheme":"0208"}}}}'
The tool result (result.content[0].text), unwrapped:
{
"kind": "peppol_ready_check", "data": { "verdict": "ready", "failed": [], "passed": [ … 21 rules, e.g. BR-02, PEPPOL-EN16931-R010, PEPPOL-EN16931-R003 … ], "notChecked": [], "summary": "Nothing is wrong among the 21 rules this check covers.", "rulesChecked": 21, "doesNotProve": "This checks 21 of the published Peppol BIS Billing 3.0 rules … a clean result here means nothing among these rules is wrong, not that the network will accept the document." } }
Change issueDate to "23/09/2026" or drop buyerReference and the same call returns "verdict": "will_be_rejected" with the specific rule that failed (e.g. PEPPOL-EN16931-F001, PEPPOL-EN16931-R003) — checked 2026-09-22.
curl -s https://jithox.com/api/mcp \
-H 'Content-Type: application/json' \ -H 'Accept: application/json, text/event-stream' \ -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"lookup_peppol_participant","arguments":{"identifier":"0403170701"}}}'
{
"kind": "peppol_participant_lookup", "data": { "participantId": "0208:0403170701", "reachable": "yes", "documentTypes": [ { "profile": "Peppol BIS Billing 3.0", "document": "Invoice", "raw": "…" } … ] } }
This asks the live Peppol directory about a THIRD PARTY. It is never a promise the invoice will arrive, be accepted or be paid — every answer says so.
examples/python/preflight_payment.py — standard library only: initialize, then preflight_payment on a payment whose supplier bank account changed, then POST /api/v1/evidence/verify on the signed answer. Run with python examples/python/preflight_payment.py. Historical output from the old Python example (instructionSource=human), measured on 2026-09-25;ตัดมาแค่ช่วงต้น อ่านต่อใน repo