Developers · MCP

Connect GetPay to ChatGPT and Claude

GetPay runs a remote MCP server. Connect it to ChatGPT, Claude or any other MCP client, sign in to GetPay, choose one company, and ask about your invoices, customers, bills, bank transactions and reports in plain words. Money, legal and outbound steps are never done from the chat: they wait for approval in GetPay.

Server URL

https://getpay.cc/api/mcp

Streamable HTTP. Sign-in is OAuth 2.1 with PKCE: the client registers itself, so you only paste the URL and approve the GetPay consent page. Leave any OAuth client ID and secret fields empty.

Plans

Any GetPay plan, including Free, can connect ChatGPT, Claude or another MCP client.

  • Actions through a connected AI app use no AI automation credits.
  • Your plan's normal document limits still apply.
  • Free workspaces have a fair-use daily limit on actions through connected apps.

Plan details are on the pricing page.

Connect ChatGPT

We plan to list GetPay in the ChatGPT plugin directory, for Malaysia first. It is not listed yet. Until then, connect it yourself in developer mode:

  1. In ChatGPT, open Settings → Security and login and turn on Developer mode. On Business, Enterprise and Edu workspaces an admin may need to allow it first.
  2. Open Plugins, press +, name it GetPay and enter the server URL https://getpay.cc/api/mcp under Connection.
  3. Create the connection. GetPay opens: sign in, choose the company and approve.
  4. In a chat, turn on GetPay and ask, for example, "show my overdue invoices".

Menu names are ChatGPT's and can change.

Connect Claude (claude.ai and Claude Desktop)

  1. Open Customize → Connectors → Add custom connector. On Team and Enterprise plans an owner first adds it under Organization settings → Connectors, then each member connects.
  2. Name it GetPay and enter https://getpay.cc/api/mcp.
  3. Click Connect, then sign in to GetPay, choose the company and approve.

A connector added on claude.ai also appears in Claude Desktop when you sign in with the same account. Menu names are Claude's and can change.

Connect Claude Code

claude mcp add --transport http getpay https://getpay.cc/api/mcp

Then run /mcp and choose Authenticate for getpay. In a terminal or script, the getpay command line is often the better fit.

What the AI can do

  • Read: the company profile (including whether it is registered for SST), invoices, customers, products, bills, bank transactions and reports such as the income statement, balance sheet, trial balance, sales and receivables aging.
  • Prepare: create or update customers, products and vendors, and create draft invoices, quotations and draft bills, or edit a draft invoice. Nothing is sent and no money is involved.
  • Ask for approval: issue, email or void an invoice, record a payment you have already received, or categorise a bank transaction. These return a link to GetPay Approvals and do nothing until an owner or admin approves it in GetPay within 24 hours.
Tools a connected AI app can use
ToolWhat it doesAccess
get_business_profile
Get business profile
Use this when you need the connected company's basic settings: company name, base currency, fiscal-year start month and current fiscal year, GetPay plan, and whether it is SST-registered (yes/no, and whether a number is on file; the number itself is not returned).Read
search_invoices
Search invoices
Use this when the user asks about invoices: finds them by invoice number (e.g. S2609002), customer name or line description, filtered by status, customer or fiscal year.Read
get_invoice
Get an invoice
Use this when one invoice is needed in full: lines, payments, credit notes and the outstanding balance.Read
search_customers
Search customers
Use this when a customer is needed: searches customers by name, email or registration, or lists them.Read
list_products
List products
Use this when the company's products and services are needed, with their product_id, prices and tax types (for example to fill invoice or quotation lines).Read
search_bills
Search supplier bills
Use this when the user asks about supplier bills (accounts payable): lists them, optionally by supplier or status.Read
get_financial_report
Get a financial report
Use this when the user asks for a financial statement: income-statement (profit and loss), balance-sheet, trial-balance, aging (receivables aging) or sales.Read
search_bank_transactions
Search bank transactions
Use this when the user asks about bank activity: searches imported bank transactions by description, payee, category or date range.Read
list_bank_accounts
List bank accounts
Use this when the company's bank accounts are needed: returns each account's bank_account_id, bank name, last 4 digits of the account number (the rest is never returned) and account type. record_invoice_payment takes the bank_account_id of the account a payment landed in.Read
get_confirmation_status
Check an approval request
Use this when the user asks what happened to an approval request: takes the confirmation_id from an approval_required result and returns its status (pending, approved, executing, redeemed, failed, cancelled or expired) and outcome.Read
create_customer
Create a customer
Use this when the user wants to add a customer record (name required; email, address and notes optional).Write
update_customer
Update a customer
Use this when the user wants to change a customer's details, by the customer_id from search_customers.Write
create_product
Create a product
Use this when the user wants to add a product or service to the catalog, with its unit price and tax type (service, sales or exempt).Write
update_product
Update a product
Use this when the user wants to change a product's name, description, price, cost or tax type, by the product_id from list_products.Write
create_draft_invoice
Create a draft invoice
Use this when the user wants a new sales invoice prepared.Write
update_draft_invoice
Update a draft invoice
Use this when the user wants to change a DRAFT invoice: notes, due date, tax type or line items.Write
create_quotation
Create a quotation
Use this when the user wants a quote for a customer.Write
create_vendor
Create a supplier
Use this when the user wants to add a supplier (vendor) record for bills.Write
create_draft_bill
Create a draft supplier bill
Use this when the user wants a supplier bill recorded.Write
issue_invoice
Request approval to issue an invoice
Use this when the user wants a DRAFT invoice issued (it becomes a real invoice and books revenue).Needs approval
record_invoice_payment
Request approval to record a received payment
Use this when a customer has already paid and the user wants that payment recorded against the invoice.Needs approval
send_invoice_email
Request approval to email an invoice
Use this when the user wants an issued invoice emailed to the customer.Needs approval
void_invoice
Request approval to void an invoice
Use this when the user wants an invoice voided (cancelled).Needs approval
categorize_bank_transaction
Request approval to categorize a bank transaction
Use this when the user wants a bank transaction given a category, which sets its GL account and can change the profit and loss. category is one of the listed codes.Needs approval
find_product_by_code
Find a product by barcode or SKU
Use this when the user gives a scanned barcode or a SKU: returns the one active product it matches (barcode first, then SKU, case-insensitive) with its product_id, price and tax type, or product null.Read
list_counter_shifts
List counter shifts
Use this when the user asks about their in-store till (GetPay Counter): the open shift of each cash drawer and recent closed shifts with counted vs expected cash, variance and Z number.Read
get_counter_shift_report
Get a counter shift report
Use this when the user wants the X report of an open counter shift (owners and admins only) or the Z report of a closed one: sales by tender, cashier and tax, first and last receipt, refunds and the cash-up.Read
open_counter_shift
Open a counter shift
Use this when the user starts a till session on a cash drawer with the float they counted into it.Write
get_shop_settings
Get shop page settings
Use this when the user asks how their shop page (getpay.cc/c/{handle}) and AI storekeeper are set up: on/off, handle, business name, tagline, greeting, tone, featured products, catalogue and stock display, ordering mode and loyalty programme.Read
list_shop_content
List shop FAQs, promos or updates
Use this when the user asks what their shop page shows: kind faqs (answers the storekeeper quotes), promos (banners and offers) or updates (posts on the Updates tab, with the weekly posting cap).Read
update_shop_settings
Request approval to change shop page settings
Use this when the user wants to change their shop page or storekeeper: business name, greeting, tagline, tone, featured products, catalogue or stock display, the handle, contact or profile links, the website bubble, search listing or the alert email.Needs approval
save_shop_faq
Request approval to add or edit a shop FAQ
Use this when the user wants an FAQ or policy the storekeeper answers customers with: without faq_id it adds one (question and answer required); with faq_id (from list_shop_content) it changes only the fields given.Needs approval
delete_shop_faq
Delete a shop FAQ
Use this when the user wants an FAQ removed from their shop (faq_id from list_shop_content).Needs approval
save_shop_promo
Request approval to add or edit a shop promo
Use this when the user wants a promo or offer on their shop page: without promo_id it adds one (title required); with promo_id (from list_shop_content) it changes only the fields given.Needs approval
delete_shop_promo
Delete a shop promo
Use this when the user wants a promo removed from their shop (promo_id from list_shop_content).Needs approval
delete_shop_update
Take down a shop update
Use this when the user wants a post removed from their shop page's Updates tab and followers' feeds (post_id from list_shop_content kind updates).Needs approval
get_seller_listing
Get the seller listing
Use this when the user asks about their GetPay Seller Showcase listing: the pending copy (name, tagline, description, location, contacts, shop links, categories), its review state and what is public now.Read
update_seller_listing
Edit the seller listing draft
Use this when the user wants to change their Seller Showcase listing (listing_id from get_seller_listing).Write
list_order_imports
List marketplace order imports
Use this when the user asks about marketplace order exports they imported (Shopee, Lazada, TikTok Shop and others): without batch_id the 20 newest imports and the stores they book into; with batch_id one import in full, including the orders that did not book and why.Read
preview_order_import
Preview a marketplace order import
Use this when the user gives a marketplace order export (CSV or .xlsx, base64) to bring into GetPay.Write
continue_order_import
Continue an approved order import
Use this when an import that an owner already approved still has orders remaining: books the next chunk (each order once, even across retries).Write
list_consolidated_einvoices
List consolidated e-invoices
Use this when the user asks about their monthly consolidated B2C e-invoices (LHDN MyInvois): number, month, source invoice count, totals, draft or issued, and LHDN status.Read
preview_consolidated_einvoice
Preview a month's consolidated e-invoice
Use this when the user asks which sales go into one month's consolidated B2C e-invoice (period YYYY-MM): invoices to buyers without a TIN that were not filed individually, with the count and total.Read
draft_consolidated_einvoice
Draft a consolidated e-invoice
Use this when the user wants the consolidated B2C e-invoice of one month prepared (period_year, period_month).Write
record_counter_sale
Request approval to record a counter sale
Use this when the user wants an in-store sale recorded on an open counter shift: catalogue products and quantities, the tender (cash, duitnow_qr or card) and the total charged (expected_total).Needs approval
close_counter_shift
Request approval to close a counter shift
Use this when the user has counted the cash drawer and wants the shift closed (the Z close): counted_cash is the cash counted.Needs approval
import_orders
Request approval to book an order import
Use this when the user wants a previewed marketplace order import booked as sale invoices (batch_id and preview_fingerprint from preview_order_import, with the same sst_acknowledged / not_invoiced_by_hand).Needs approval
submit_consolidated_einvoice
Request approval to file a consolidated e-invoice
Use this when the user wants a drafted consolidated B2C e-invoice (ci_id from list_consolidated_einvoices) filed with LHDN MyInvois.Needs approval
delete_consolidated_einvoice_draft
Request approval to delete a consolidated e-invoice draft
Use this when the user wants a DRAFT consolidated e-invoice deleted so the month can be drafted again (refused once it reached LHDN).Needs approval

That is the whole list: everything else stays in GetPay or the getpay command line. The AI acts with your own role in the company: it cannot see or do more than you can in GetPay.

Safety model

  • Approval in GetPay. Money, legal and outbound actions (issuing, voiding, emailing, recording payments, categorising bank transactions and similar) never run from the chat. The AI gets a summary and a link; an owner or admin of the company approves or cancels it in GetPay under Approvals, within 24 hours, after which the request expires and nothing happens.
  • Connected apps can never approve.No AI app can approve its own request, or anyone else's.
  • No money movement. The connection cannot make transfers, take payments or create payment links. Recording a payment only records one that already happened.
  • A fixed set of tools. The tools listed above are all a connected app is offered. Payroll and employee records, LHDN e-invoice submission, SST filing, payment vouchers and loans are not among them.
  • One company per connection. The app acts only on the company you chose at sign-in. To use another company, disconnect and connect again.
  • Revoke any time. Every connection is listed in GetPay under Settings → Connected apps; Disconnect ends it at once.

Your data

When you ask the AI something, the GetPay data needed to answer (for example invoice lines, customer names and contact details, amounts and report figures) is sent to the AI app you connected, such as OpenAI for ChatGPT or Anthropic for Claude. That provider handles it under your own agreement with them; GetPay does not control how they process it. Only connect apps you are allowed to share your company's data with.

GetPay keeps a record of each connection (the app's name, the company, permissions, when it was connected, last used and disconnected), records the changes made through a connection in the company's activity log (an approved action under the person who approved it), and keeps the details of actions waiting for approval. Full details are in the Privacy Policy and the Terms of Service.

Support

Questions or problems connecting: email support@getpay.cc. Please include the AI app you use and what you asked; never send passwords or tokens. More help, including how to disconnect, is on the support page.