Dokumentasi pembangun
Taokeh menjalankan pelayan Model Context Protocol rasmi. Sambungkan Claude, ChatGPT atau mana-mana klien MCP ke satu ruang kerja Taokeh dan ia boleh membaca buku langsung — jualan, tunai, penuaan, stok, penyata — serta memfailkan draf yang menunggu kelulusan manusia. Langsung sejak 16 Julai 2026, 39 alat.
https://taokeh.my/mcpSetakat yang kami tahu, inilah penyambung AI perakaunan buatan Malaysia yang pertama (pada Julai 2026).
claude.ai dan ChatGPT. Tambah https://taokeh.my/mcp sebagai penyambung tersuai. Klien mendaftar sendiri, anda dibawa ke Taokeh untuk log masuk, dan skrin persetujuan menamakan ruang kerja serta skopnya sebelum apa-apa diberikan. Tiada kunci untuk disalin, tiada fail config untuk disunting.
Claude Desktop, Claude Code, Cursor dan klien CLI lain. Jana token akses peribadi di dalam Taokeh (rupanya tkm_…) dan hantar sebagai Authorization: Bearer <token>. Token disimpan sebagai hash sahaja, terikat pada satu ruang kerja, dan boleh dibatalkan bila-bila masa.
Config, sedia untuk ditampal. Claude Code boleh menambah pelayan ini terus — claude mcp add --transport http taokeh https://taokeh.my/mcp — dan melalui persetujuan OAuth yang sama seperti klien web, tiada token untuk diuruskan. Untuk klien yang mahukan fail config dan token akses peribadi pula:
{
"mcpServers": {
"taokeh": {
"command": "npx",
"args": ["mcp-remote", "https://taokeh.my/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer tkm_your_token_here" }
}
}
}
Dua perkara yang patut anda tahu awal-awal, ditulis di sini supaya anda tidak perlu terjumpa sendiri: argumen header itu tiada ruang selepas titik bertindih (Authorization:${AUTH_HEADER}) — satu ruang memecahkan argumen itu dan pelayan menjawab 401 — sebab itulah nilainya dihantar melalui env dan bukan sebaris; dan token itu ialah token akses peribadi yang anda jana di dalam Taokeh, jadi ia membawa satu ruang kerja sahaja dan boleh dibatalkan tanpa menyentuh fail ini.
Kedua-dua laluan memerlukan add-on penyambung AI dihidupkan untuk ruang kerja itu. Panduan persediaan untuk pengguna berada di halaman Penyambung Ask Taokeh.
Ini keputusan reka bentuk, bukan kekangan yang kami sedang cuba atasi. AI yang bersambung ke buku sesebuah perniagaan tidak boleh berkuasa mengubahnya.
Setiap alat baca menjawab serta-merta. Tanya penuaan, kedudukan tunai, untung rugi bulan lepas atau stok sesuatu produk dan jawapannya datang terus dari lejar — tiada langkah kelulusan, kerana bacaan tidak mengubah apa-apa.
Setiap alat tulis memfailkan draf menunggu. Ia muncul dalam Taokeh untuk pemilik menyemaknya terhadap dokumen asal, dan hanya ketukan manusia yang mencatatnya. Enam jenis draf: perbelanjaan, bil, invois, sebut harga, resit pelanggan, dan kenalan yang dibaca dari kad nama.
Tiada alat yang mencatat ke lejar, meminda dokumen yang telah dicatat, membatalkannya, memadam apa-apa, mengesahkan baris bank, atau menghantar e-mel. Baris penyata bank diimport ke barisan semakan; cadangan pengkategorian ialah usul yang dilihat pemilik, bukan keputusan.
Pada laluan MCP, pelayan Taokeh tidak sekali-kali memanggil model bahasa. Pembantu anda yang membaca resit, membaca penyata, membaca kad nama, dan menghantar medan berstruktur; pelayan kami mengesahkannya, mengira semula aritmetiknya, dan memfailkan draf. Maknanya penaakulan berjalan atas langganan AI anda sendiri dengan model pilihan anda sendiri, dan dokumen anda tidak disebarkan kepada model ketiga yang kami pilihkan untuk anda. Kami yang menyimpan kira. AI anda yang membaca.
Nama dan kelakuan seperti yang didaftarkan oleh pelayan. 30 alat baca:
| Alat | Apa yang dipulangkan |
|---|---|
| Overview & cash | |
business_snapshot | One-glance health check: today’s and this month’s sales and expenses so far. |
daily_brief | The morning brief in one call — sales, cash, top debtors, pending approvals, tax, low stock. |
cash_position | Every bank account and cash pocket with its current GL balance, plus the liquid total. An owner advance is reported separately as a liability, never as cash. |
cash_forecast | A forward 8-week cash-flow forecast built from open invoices, open bills, payroll, statutory remittances, loans and SST — with every assumption listed. |
profit_drivers | Why net profit moved: a revenue/COGS/opex bridge against the same day-span of the previous month, with one-offs pulled out. |
| Statements & tax | |
income_statement | Profit and loss for a period: revenue, COGS, gross profit, expenses, net income. |
balance_sheet | Balance sheet as of a date: assets, liabilities, equity, with the balanced check. |
tax_position | Current SST period payable (if registered) plus e-invoice consolidation status and the filing due date. |
| Who owes whom | |
ar_aging | Who owes you money and how overdue — accounts-receivable aging by customer. |
ap_aging | Whom you owe and how overdue — accounts-payable aging by supplier. |
open_invoices | The unpaid or part-paid invoices for one customer, oldest first. |
payer_history | How this workspace has categorised a given bank counterparty before — the tenant’s own precedent behind a suggestion. |
| Sales, stock & channels | |
sales_summary | How much you have sold — today and month-to-date, or a date range broken down by month, customer and product. |
expenses_summary | How much you have spent: paid expenses today and this month so far. |
channel_summary | Sales by channel (Shopee, TikTok Shop, Shopify, your storefront) with discounts, shipping, freight-out, marketplace fees, returns and net proceeds. |
stock_level | Units on hand right now for a product, by name or SKU. |
low_stock | The reorder list: products at or below their reorder point. |
counter_day | A Counter (Kaunter) till day: receipt and voided counts, cash and DuitNow QR totals, the 5-sen rounding, whether the day is still open or closed into the books, and the receipt-number range. Counter add-on only. |
| Documents & search | |
search_documents | Find invoices, credit notes, quotes, delivery orders, bills, debit notes and purchase orders by number, party, date, amount or type. |
search_expenses | Search paid expenses already posted to the ledger — the duplicate check before filing an expense draft. |
search_journal | Search the ledger’s journal entries — every posting, whatever door created it (manual journal, scan, invoice, bank, expense, payroll) — each returned WITH its balanced lines, so you can see exactly how something was booked. |
get_document_pdf | A short-lived signed link to the real PDF of an invoice, quote or credit note. It emails nobody; it hands you the link. |
| Banking review | |
bank_review_queue | The imported bank rows still awaiting review, each with Taokeh’s own suggested category, confidence score and reason. Lowest confidence first. |
bank_reconciliation_status | Where each bank account stands: GL balance against the latest statement close, row counts by status, and the unreviewed backlog. |
| Lookups & shaping | |
resolve_customer | Match a customer name against the real customer list — resolved, ambiguous or none, with current outstanding A/R. Never guesses. |
resolve_vendor | Match a supplier name against the real vendor list. Near-misses are flagged rather than guessed. |
resolve_product | Match a product by name or SKU and return its unit and default sell price. |
expense_accounts | The expense categories and paid-from accounts this workspace can actually post to. |
intake_contract | The exact shape a Taokeh draft needs — required fields, totals, measurement and SST rules, and a worked example grounded in this workspace. |
find_in_taokeh | Where in Taokeh to do something: the real deep-link page(s) for a plain-language question, from the live feature catalogue. Guides only; changes nothing. |
9 alat tulis — setiap satu memfailkan draf atau cadangan, tidak sekali-kali catatan terus ke lejar:
| Alat | Apa yang difailkan |
|---|---|
create_expense_draft | File a paid-expense draft from a receipt, with the original image attached. Does not post. |
create_bill_draft | File a supplier-bill draft (inventory lines). Does not post, receive stock or move cost. |
create_invoice_draft | File a sales-invoice draft. Does not post or move stock; the server re-computes every line and total. |
create_quote_draft | File a quotation draft — an estimate, never a ledger entry. |
create_receipt_draft | File a customer-payment draft, allocated across open invoices. Nothing settles until approved. |
create_contact_draft | File a contact draft read off a business card. The card image is required so the owner can check your fields against the picture. |
import_bank_statement | Import a bank statement for reconciliation. Every row lands in Banking → Review; the server refuses a statement whose rows do not tie to the printed closing balance. |
draft_bank_classification | Propose categories for up to 50 bank rows. Written as an “AI suggestion” badge the owner sees — it never confirms and never posts. |
request_attachment_upload | A one-time upload link for a file too large to inline, returning a token any draft tool accepts. |
Boleh — sebagai draf. Dengan pelayan MCP Taokeh bersambung, ChatGPT memanggil create_invoice_draft, yang memfailkan invois jualan menunggu ke dalam Taokeh. Ia tidak mencatat ke lejar dan tidak menggerakkan stok. Anda buka Taokeh, semak barisnya terhadap dokumen asal, dan ketuk luluskan. Hanya ketukan itu yang mencatatnya.
Boleh. AI anda sendiri yang membaca resit itu dan memfailkannya dengan create_expense_draft, berserta imej asal. Untuk penyata bank ia memanggil import_bank_statement, kemudian draft_bank_classification untuk mencadangkan kategori bagi setiap baris. Cadangan muncul sebagai cadangan AI di Perbankan → Semakan. Mengesahkan dan mencatat setiap baris kekal klik manusia.
Boleh — itu bacaan biasa. AI anda memanggil ar_aging untuk penuaan akaun belum terima penuh mengikut pelanggan dan baldi tertunggak, atau open_invoices untuk invois belum bayar seorang pelanggan, yang tertua dahulu. payer_history menerangkan bagaimana pihak berkenaan dilayan sebelum ini. Tiada kelulusan diperlukan: bacaan tidak mengubah apa-apa.
Boleh. income_statement memulangkan hasil, kos barang dijual, untung kasar, perbelanjaan dan pendapatan bersih bagi mana-mana tempoh, terus dari lejar catatan bergu — bukan anggaran sesebuah model. balance_sheet melakukan perkara sama pada sesuatu tarikh, dan profit_drivers menerangkan mengapa angka itu berubah berbanding bulan lepas.
Bukan sebagai laporan siap — sebagai gubahan yang AI anda susun sendiri. Ia memanggil income_statement dua kali (bulan ini dan bulan lepas), profit_drivers untuk jambatannya, ar_aging, cash_position, cash_forecast dan expenses_summary, kemudian menulis naratifnya sendiri atas langganan AI anda. Angka datang dari lejar; dokumen itu milik AI anda. Contoh gesaan dan resipi penuh: /guides/talk-to-your-books?lang=bm.
Apabila anda memintanya. Tiada alat yang memulangkan medan “anomali” — AI anda membaca daily_brief, search_expenses (semakan bil berganda), ar_aging, bank_reconciliation_status dan low_stock, lalu menilai sendiri apa yang kelihatan janggal. MCP tarik-sahaja: Taokeh tidak menjalankan pemantau dan tidak menolak sebarang amaran, jadi imbasan berkala ialah gesaan berjadual dalam klien AI anda. Resipi penuh: /guides/talk-to-your-books?lang=bm.
MCP itulah APInya, diterangkan supaya AI boleh menggunakannya tanpa anda menulis kod. Setiap satu daripada 39 alat membawa skema bertaip dan penerangan yang dibaca pembantu anda ketika bersambung, jadi ia tahu apa yang ada dan apa maksud setiap medan. REST API perlu integrasi dibina dahulu; MCP cuma perlu satu sambungan.
Satu sambungan satu syarikat — itu memang reka bentuknya. Token atau geran OAuth terikat pada satu ruang kerja yang anda persetujui, jadi AI yang bersambung ke satu syarikat tidak boleh mencapai buku syarikat lain. claude.ai dan ChatGPT kedua-duanya boleh memegang beberapa penyambung bernama serentak, jadi seorang penyimpan kira menyambung setiap syarikat secara berasingan. Satu sambungan yang merentas syarikat tidak ditawarkan hari ini. Sila namakan setiap penyambung mengikut syarikat yang dibukanya — “Taokeh — Lim Hardware”, bukan dua belas penyambung yang semuanya bernama “Taokeh”; nama itulah yang dilihat AI anda dalam senarai alatnya, dan itulah caranya ia tahu buku siapa yang sedang dibacanya. Setiap jawapan alat turut membawa nama syarikat, jadi AI diberitahu pada setiap panggilan.
Ada, dan ia diterbitkan: 200 panggilan MCP setiap ruang kerja sehari, ditambah 300 permintaan setiap 15 minit bagi setiap alamat IP dan satu had sandaran harian seluruh platform. Ia wujud untuk penggunaan adil dan kawalan kos, bukan untuk mengukur anda — hari ejen yang biasa jauh di bawah 200. Had yang dilanggar memulangkan ralat JSON-RPC yang boleh dibaca klien anda.
Ya. Setiap draf yang difailkan AI merekodkan nama klien yang bersambung, pengguna yang gerannya digunakan, dan masanya. Meluluskan atau menolak mencap pengguna yang memutuskan berserta cap masanya. Tiada apa dicatat ke lejar tanpa ketukan itu, dan draf yang ditolak tidak mencatat apa-apa langsung. Membetulkan dokumen GL yang telah dicatat ialah pembatalan dan pos semula yang mengekalkan nombornya.
RM29 sebulan sebagai add-on à-la-carte di atas pelan asas Taokeh, dan ia termasuk dalam percubaan percuma 14 hari — jadi anda boleh sambungkan AI anda dan cuba setiap alat sebelum membayar apa-apa.
RM29/sebulan, termasuk dalam percubaan percuma 14 hari. Sambungkan, tanya apa sahaja, dan rasa sendiri bagaimana draf itu berjalan sebelum anda membayar sesen pun.
Nama dan kelakuan alat pada halaman ini mencerminkan pelayan langsung. Panduan persediaan: Penyambung Ask Taokeh. Keselamatan dan pemilikan data: Trust & security (dalam bahasa Inggeris).