@gerrych/greeninvoice-mcp
Unofficial MCP (Model Context Protocol) server for the Green Invoice API. Community fork. Not affiliated with or endorsed by Green Invoice.
Versions
No versions found.
Tools 10
account Get account information. Actions: "get" = account info (GET /account/me), "settings" = account settings (GET /account/settings).
business Manage businesses. Actions: "list" = list all user businesses (GET /businesses) "get" = get current business (GET /businesses/me) or by id (data: {"id":"..."}) "update" = update business (data: JSON of fields to update) "get_numbering" = get document numbering (GET /businesses/numbering) "set_numbering" = set initial numbering (data: {"10":1,"305":50001,...}) "get_footer" = get document footer text "get_types" = get business types (data: {"lang":"he"} optional) "upload_file" = upload logo/signature/doc (data: {"type":"logo","file":"base64..."}) "delete_file" = delete a file (data: {"type":"logo"})
document Manage documents (invoices, receipts, quotes, etc.). ${DOC_TYPES}. ${DOC_STATUSES}. ${PAYMENT_TYPES}. ${CURRENCIES}. Actions: "search" = search documents (data: {page, pageSize, type:[], status:[], fromDate, toDate, sort, clientId, clientName, description, number, paymentTypes:[], download}) "get" = get by ID (data: {"id":"..."}) "create" = create document. IMPORTANT field names: 'income' (not 'items'), 'payment' (not 'payments'), 'remarks' (not 'notes'), 'lang' (not 'language'), 'emails' (array). Types 320,400,405 REQUIRE payment array. Set client.add=true to auto-create client. Data: {type, client:{id,name,emails,taxId,address,city,zip,country,phone,add,self}, income:[{catalogNum,description,quantity,price,currency,vatType,itemId}], payment:[{date,type,price,currency,bankName,bankBranch,bankAccount,chequeNum}], currency,lang,description,remarks,footer,emailContent,signed,rounding,attachment,date,dueDate,discount:{amount,type},maxPayments,linkedDocumentIds,linkedPaymentId} "update" = update document (data: {"id":"...", ...fields}) "close" = close document (data: {"id":"..."}) "open" = reopen document (data: {"id":"..."}) "send" = send via email (data: {"id":"...", "email":"optional-override"}) "download_links" = get PDF download links (data: {"id":"..."}) "add_payment" = add payment to document (data: {"id":"...", type, price, currency, date, bankName, bankBranch, bankAccount, chequeNum}) "preview" = preview as base64 PDF (data: same shape as create) "get_linked" = get linked documents (data: {"id":"..."}) "get_info" = get document info for a type (data: {"type":305}) "get_types" = list document types (data: {"lang":"he"} optional) "get_statuses" = list document statuses (data: {"lang":"he"} optional) "search_payments" = search payments within documents (data: {page, pageSize, type:[], paymentTypes:[], fromDate, toDate, paymentId, sort})
client Manage clients. Actions: "search" = search clients (data: {page, pageSize, name, email, taxId, active, contactPerson, labels:[], sort, sortType}) "get" = get by ID (data: {"id":"..."}) "create" = create client (data: {name, emails:[], taxId, phone, mobile, fax, city, zip, address, country, category, subCategory, accountingKey, paymentTerms, bankName, bankBranch, bankAccount, active, department, contactPerson, remarks, labels:[]}) "update" = update client (data: {"id":"...", ...fields}) "delete" = delete client (NOTE: only inactive clients can be deleted) (data: {"id":"..."}) "associate_docs" = associate existing documents to a client (data: {"id":"...", "ids":["docId1","docId2"]}) "merge" = merge clients (one must be inactive; inactive one is deleted) (data: {"id":"...", "mergeId":"..."}) "update_balance" = update/reset client balance (data: {"id":"...", "balance":0})
supplier Manage suppliers (used for expenses). Actions: "search" = search suppliers (data: {page, pageSize, name, email, active, contactPerson, labels:[]}) "get" = get by ID (data: {"id":"..."}) "create" = create supplier (data: {name, emails:[], taxId, phone, mobile, fax, city, zip, address, country, department, accountingKey, paymentTerms, bankName, bankBranch, bankAccount, active, contactPerson, remarks, labels:[]}) "update" = update supplier (data: {"id":"...", ...fields}) "delete" = delete supplier (NOTE: only inactive suppliers can be deleted) (data: {"id":"..."}) "merge" = merge suppliers (one must be inactive) (data: {"id":"...", "mergeId":"..."})
item Manage catalog items (products/services). Actions: "search" = search items (data: {page, pageSize, name, description, currency, active}) "get" = get by ID (data: {"id":"..."}) "create" = create item (data: {name, description, price, currency, vatType (0=default,1=included,2=exempt), sku, active}) "update" = update item (data: {"id":"...", ...fields}) "delete" = delete item (data: {"id":"..."})
expense Manage expenses (outcome tracking). ${PAYMENT_TYPES}. Expense statuses: 10=Open, 20=Reported. Expense document types: 10=Invoice, 20=Receipt, 30=Invoice+Receipt, 40=Other. Actions: "search" = search expenses (data: {page, pageSize, fromDate, toDate, dueDate, description, supplierId, supplierName, number, paid, reported, sort, minAmount, maxAmount, accountingClassificationId}) "get" = get by ID (data: {"id":"..."}) "create" = create expense (data: {paymentType, currency, currencyRate, vat, amount, date, dueDate, reportingDate, documentType, number, description, remarks, supplier:{id,name,...}, accountingClassification:{id,key,code,title,...}, active, addRecipient, addAccountingClassification}) "update" = update expense (data: {"id":"...", ...fields}). NOTE: cannot update once reported (status=20) "delete" = delete expense (data: {"id":"..."}) "open" = reopen expense (data: {"id":"..."}) "close" = close/report expense (data: {"id":"..."}) "get_statuses" = list expense statuses "get_classifications" = get accounting classifications map "search_drafts" = search expense drafts (data: {page, pageSize, fromDate, toDate, description, supplierId, supplierName})
payment Manage payments and payment links. ${PAYMENT_TYPES}. Actions: "get_form" = get payment form URL for online payment (data: {type, description, lang, currency, vatType, amount, maxPayments, pluginId, group, client:{...}, income:[...], remarks, successUrl, failureUrl, notifyUrl, custom}) "search_tokens" = search saved credit card tokens (data: {paymentNumber, cardHolder, externalKey}) "charge_token" = charge a saved credit card token (data: {"id":"tokenId", type, description, lang, currency, vatType, amount, maxPayments, income:[...], remarks, notifyUrl}) "create_link" = create payment link (data: {client:{...}, income:[...], currency, lang, remarks}) "get_link" = get payment link details (data: {"id":"..."}) "get_link_status" = check payment link status (data: {"id":"..."})
webhook Manage webhook subscriptions. Available events: document.created, document.updated, document.sent, document.paid, document.overdue, payment.received, payment.failed, payment.refunded, client.created, client.updated, client.deleted. Actions: "create" = create webhook (data: {"url":"https://...", "events":["document.created",...]}) "get" = get webhook by ID (data: {"id":"..."}) "delete" = delete webhook (data: {"id":"..."})
reference_data Lookup reference data (no authentication required, served from cache.greeninvoice.co.il). Actions: "occupations" = get business categories/subcategories (data: {"locale":"he_IL"}) "countries" = get supported countries (data: {"locale":"he_IL"} or {"locale":"en_US"}) "cities" = get supported cities (data: {"locale":"he_IL", "country":"IL"}) "currencies" = get exchange rates (data: {"base":"ILS"})
Permissions 2
network medium env_vars low