What is Trivis MCP?
Accounting you can talk to
Trivis MCP is a remote Model Context Protocol server built into Trivis. It exposes your organisation's accounting data as tools that any MCP-compatible AI assistant can call: reading reports, creating invoices, recording payments, and more.
Unlike screen-scraping or CSV exports, Trivis MCP gives the AI assistant live, structured access to your data. Anything that leaves the building (an email, an e-invoice, a payment run sent to the bank) and anything destructive (cancelling, closing a period, unlinking a bank line) can be held for an administrator's approval, so you stay in control.
Setup
Connect your AI assistant
Claude.ai
Connect via OAuth
Best for Claude.ai web. No API key needed, you authenticate with your Trivis account.
- 1Open Claude.ai connectorsSettings → Connectors → Add custom connector
- 2Enter the server URL
https://ai-api.trivis.ee/mcp - 3Authorise in TrivisYou'll be redirected to login.trivis.ee. Choose read-only or read & write access.
Claude Code CLI
Connect via API key
Best for Claude Code, Cursor, or any HTTP MCP client. Create a key in Trivis settings.
- 1Create an API keyIn Trivis: Settings → Developer → MCP keys. Copy it, shown once only.
- 2Add to your config
{
"mcpServers": {
"trivis": {
"url": "https://ai-api.trivis.ee/mcp",
"headers": {
"Authorization": "Bearer trivismcp_live_..."
}
}
}
}
Add to ~/.claude/settings.json (Claude Code) or your client's MCP config.
Capabilities
Available tools
Trivis MCP exposes over 180 tools across the whole platform, from invoicing and the ledger to payroll, fixed assets and rentals. They are filtered automatically by your access scope and by your role: read-only keys see only read tools; write keys see all tools your role allows. Writes create drafts; the confirm_* tools post them to the ledger.
The assistant learns which company it is connected to, who you are and what you may do, then searches across your data and the Trivis knowledge base.
- get_plugin_context
- get_organization_profile
- update_organization_profile
- get_datetime
- list_users
- search_similar
- search_knowledge
Draft a whole invoice in one call, edit it against a revision, pick products from your catalogue, preview it as the customer will see it, confirm, credit or cancel.
- list_invoices
- get_invoice
- get_invoice_editor
- get_invoice_preview
- create_invoice_draft
- create_invoice
- update_invoice
- save_invoice_edits
- add_invoice_row
- update_invoice_row
- delete_invoice_row
- search_catalog_items
- get_catalog_item_prices
- confirm_invoice
- credit_invoice
- reopen_invoice
- update_invoice_dates
- cancel_invoice approval
Send by email or as an e-invoice, one at a time or in a batch, and edit the invoice PDF template as a draft that a person publishes.
- get_delivery_options
- send_invoice_email approval
- send_invoice_einvoice approval
- batch_send_invoices approval
- send_email approval
- get_invoice_template_html
- save_invoice_template_html
Diagnose what is wrong with a bill and apply the repair, set the supplier's invoice number, record who a restaurant bill was for, then confirm or credit it.
- list_purchase_invoices
- get_purchase_invoice
- check_purchase_invoice
- repair_purchase_invoice
- set_purchase_invoice_no
- set_meal_purpose
- add_purchase_invoice_row
- update_purchase_invoice_row
- delete_purchase_invoice_row
- refresh_supplier_snapshot
- confirm_purchase_invoice
- credit_purchase_invoice
- reclassify_purchase_account approval
- cancel_purchase_invoice approval
Turn invoice text into a processed draft, or hand out an upload link for up to 500 original files when they cannot go through the chat.
- request_invoice_upload
- create_purchase_import
- list_import_jobs
- get_import_job
- confirm_import_accounts
Journal entries, trial balance, accounts and the mappings automatic postings use, tax rates, and dimensions down to the person an expense belongs to.
- list_ledger_entries
- create_ledger_entry
- confirm_ledger_entry
- get_trial_balance
- list_accounts
- get_account_balance
- create_account
- update_account
- list_account_mappings
- set_account_mapping
- list_tax_rates
- get_tax_rate
- list_dimension_types
- ensure_person_dimension_value
- search_people
Create a fiscal year's periods in one call (monthly when VAT registered), and open, close or lock them.
- list_fiscal_years
- list_periods
- list_quarters
- create_fiscal_year
- ensure_periods
- create_period
- create_quarter
- update_period_metadata
- open_period approval
- close_period approval
- lock_period approval
Add a currency, then preview and post the period-end revaluation of foreign-currency bank, cash, receivable, payable and loan balances.
- list_currencies
- create_currency
- preview_fx_revaluation
- post_fx_revaluation
Bring a company with earlier years aboard: see what is still missing, read last year's balance sheet and post the opening balances in one safe step.
- get_onboarding_status
- parse_annual_report
- post_opening_balances
Generate the KMD with its INF annexes, check it against the Tax Board's own filing rules, and mark it filed.
- list_vat_reports
- get_vat_report
- generate_vat_report
- validate_vat_report
- set_vat_report_filed
Import a statement as the upload page does, then book each line: link it to an existing payment or settle invoices from it, and undo a wrong match.
- import_bank_statement
- parse_bank_statement
- list_statement_imports
- get_statement_import
- match_statement_row
- confirm_statement_row
- get_statement_row_unlink_options
- unlink_statement_row approval
Record a payment against an invoice, preview and cancel one, and gather outgoing payments, salaries included, into a run for the bank or a SEPA pain.001 file.
- list_payments
- record_payment
- get_payment_cancel_options
- cancel_payment approval
- list_payments_to_send
- list_payment_runs
- create_payment_run
- send_payment_run approval
- get_payment_run_file
The employee register, leave and sick days with approval, and worked or planned time that is withdrawn rather than deleted.
- list_employees
- get_employee
- add_employee
- update_employee
- update_employee_details
- delete_employee approval
- list_absences
- add_absence
- update_absence
- list_time_entries
- add_time_entry
- remove_time_entry
Only reachable by roles that hold the HR permission. Reads of a person's regulated details are audited.
Price any payment gross, net or total cost; set pay terms and the facts payroll reads; preview, calculate and finalise a run; and produce payslips.
- calculate_payroll
- get_payroll_rules
- list_pay_terms
- set_pay_terms
- list_payroll_facts
- add_payroll_fact
- end_payroll_fact
- list_register_values
- set_register_value
- preview_payroll
- calculate_payroll_run
- list_payroll_runs
- get_payroll_run
- finalise_payroll_run
- recalculate_payroll_run
- resend_payroll_run
- get_payslip
- import_payroll_history
- list_payroll_history
Only reachable by roles that hold the HR permission. Reads of a person's regulated details are audited.
A registry of the actual things you own, the fixed asset register with book values, assets waiting to be confirmed from purchase invoices, and a check against the ledger.
- list_items
- get_item
- create_item
- update_item
- archive_item approval
- get_fixed_asset_register
- list_pending_fixed_assets
- get_fixed_asset_reconciliation
Make an apartment, vehicle or machine rentable, see what is free for given dates, quote and book a stay, check guests in and out, and link the invoice.
- set_rental_profile
- list_rentals
- quote_reservation
- create_reservation
- list_reservations
- get_reservation
- set_reservation_status
- link_reservation_invoice
- cancel_reservation approval
Customers and suppliers, the sales pipeline, and a log of every call, meeting and email.
- list_contacts
- get_contact
- create_contact
- update_contact
- get_deals
- add_deal
- update_deal
- get_interactions
- add_interaction
Follow-ups assigned to people, linked to a contact or deal, found by meaning rather than exact words.
- get_tasks
- search_tasks
- add_task
- update_task
- complete_task
- archive_task
Receivables, payables, overdue invoices, monthly revenue and the cashflow forecast, plus raw SQL for developers.
- get_ar_summary
- get_ap_summary
- get_overdue_invoices
- get_revenue_summary
- get_cashflow_forecast
- get_revenue_by_activity
- db_query unsafe
Bank accounts and IBANs, and EMTAK activity codes for your product categories.
- list_banks
- list_bank_types
- create_bank
- create_iban
- search_economic_activity_codes
- assign_category_activity_code
Your own tables for data the standard modules do not cover.
- list_tables
- get_table_records
- create_table_record
- update_table_record
- delete_table_record
approval = outward-facing or destructive. Called with an API key, or by someone without write rights, it creates a pending request that an admin confirms in Trivis before it runs. An owner or admin connected through OAuth acts with their own permissions and runs it directly, unless the organisation has asked for strict approval, which queues these for everyone. unsafe = only available to mcp:write:unsafe keys.
Permissions
Access scopes
When you connect via OAuth, you choose a scope. API keys are assigned a scope at creation time.
| Scope | Access | Use case |
|---|---|---|
mcp:read |
Read only. Lists, lookups, analytics, and search. No data is created or modified. | Dashboards, reporting, querying overdue invoices, checking cashflow |
mcp:write |
Read + write. Includes all read tools plus creating invoices, contacts, payments, etc. Outward-facing and destructive operations can be held for an admin's approval in Trivis. | Full accounting assistant: import invoices, create contacts, record payments |
mcp:write:unsafe |
Read + write + raw SQL. Includes all write tools plus db_query: a direct SELECT query against the tenant database. No approval gate. |
Developers, data analysis, custom reporting |
Your organisation role
The scope above is the ceiling; your actual reach is also bounded by your role in the organisation. Trivis tracks access separately across fifteen services (AI, audit, contracts, CRM, invoices, ledger, payments, products, purchase, reports, settings, tables, document rendering, files, HR), and your role decides which ones you get. Tools are filtered to the intersection of your scope and your role, so a write-scoped key held by a sales user still cannot touch the ledger.
HR is the one service with a third state between "no access" and "read": lookup, which answers who works here — names, job titles, work contact — without exposing salaries, national ID codes or bank details.
| Role | Access |
|---|---|
| Owner · Admin | Full. Read and manipulate across all fifteen services, HR included. |
| Member | Full, minus payroll. Everything an owner has, except HR, which drops to lookup. |
| HR | Payroll administrator. Manipulate HR, CRM, and AI; read files and documents. Deliberately no ledger, invoices, or purchase — filing the payroll journal is the accountant's job. |
| Accountant | Books. Manipulate AI, invoices, ledger, payments, purchase, files, and documents; read audit, contracts, reports, settings, tables, and the HR figures needed for the payroll journal and TSD. No CRM or products, and no administering employment. |
| Sales | Front office. Manipulate AI, CRM, contracts, and invoices; read products and reports; HR lookup only. No ledger, payments, or purchase. |
| Viewer | Read only. Read across every service, write nowhere, regardless of scope. HR is lookup, not read: read-only does not mean salary-visible. |
Example prompts
What you can ask
These prompts work out of the box once you've connected Trivis to your AI assistant.
Show me all overdue customer invoices and the total outstanding amount.
Fetches confirmed invoices past their due date, sorted by age, with totals. Good for a quick accounts-receivable health check.
get_overdue_invoicesget_ar_summaryCreate a sales invoice for Acme Corp for software consulting, 2 500 EUR, 20 % VAT, 30-day payment terms. Add one row.
Looks up or creates the Acme contact, creates a draft invoice, adds the row with the correct tax rate, and confirms it's ready for review.
list_contactscreate_invoiceadd_invoice_rowlist_tax_ratesWhat's my cash position? How much do customers owe me versus how much do I owe suppliers?
Pulls live AR and AP summaries including overdue buckets and amounts due in the next 30 days. Also runs a 60-day cashflow forecast.
get_ar_summaryget_ap_summaryget_cashflow_forecastImport this purchase invoice from the supplier: [paste invoice text or OCR output]
Creates an import job, waits for AI extraction to complete, automatically assigns expense accounts by word-overlap matching, and returns the fully processed invoice ready to confirm.
create_purchase_importShow me my monthly revenue trend for the last 6 months.
Returns a month-by-month breakdown of confirmed sales invoice totals. Useful for spotting seasonal patterns or growth trends.
get_revenue_summaryMark invoice #1042 as paid, payment received 2026-05-10, amount 1 850 EUR from main bank account.
Creates a posted payment, allocates it to the invoice, and marks the invoice as paid: all in one step. Fully audited, and reversible with cancel_payment.
get_invoicelist_accountsrecord_paymentSend all confirmed unpaid invoices from this month to customers by email.
Checks token balance, finds the matching invoices, and dispatches them all in one call. Returns a per-invoice success/failure result. Sending can wait for an admin's approval before anything goes out.
list_invoicesget_delivery_optionsbatch_send_invoicesSend a notice about our new prices starting July 1st to all customers who have purchased item X but haven't received a sales invoice in the last 6 months.
Finds the unique contact list from open invoices, drafts a personalised email from your org profile, and sends it, without you hunting for anyone's address manually. Sending can wait for an admin's approval before anything goes out.
list_invoicesget_contactsend_emailWhy won't this purchase invoice confirm? Fix it and post it.
Diagnoses the invoice row by row (VAT, totals, which VAT scenario applies), applies the matching repair to the draft, checks again, and confirms it once nothing is left.
check_purchase_invoicerepair_purchase_invoiceconfirm_purchase_invoicePrepare September's VAT return and tell me whether the Tax Board would reject anything.
Generates the KMD with its INF annexes from the books, then checks it against e-MTA's own filing rules and names the invoice behind every finding.
generate_vat_reportvalidate_vat_reportget_vat_reportWhat does a 3 000 € gross salary cost the company, and what does the employee take home?
Prices the payment under the current Estonian rules without writing anything: every tax line, the net amount, and the total employer cost.
calculate_payrollget_payroll_rulesRun October's payroll and get the salaries ready for the bank.
Previews who is paid what, stores and finalises the run, which posts the payroll journal, and gathers the salary payments into a payment run.
preview_payrollcalculate_payroll_runfinalise_payroll_runcreate_payment_runIs any apartment free from 12 to 15 November? Book the cheapest one for Jaan Tamm and tell me the price.
Checks availability with each unit's own check-in and check-out times, quotes the stay, and books it.
list_rentalsquote_reservationcreate_reservationHere is last year's balance sheet. Set us up with opening balances.
Shows what is still missing (fiscal years, periods, exchange rates, account mappings), reads the balance sheet into a balanced opening entry and posts it.
get_onboarding_statusparse_annual_reportpost_opening_balancesRevalue our USD balances at the end of the year.
Restates foreign-currency bank, receivable, payable and loan balances at the ECB rate of the balance date, shows the difference, and posts it once you agree.
preview_fx_revaluationpost_fx_revaluationSupport
Need help?
Email support
401 Unauthorized
Your token expired. Re-authenticate in Claude.ai → Settings → Connectors, or create a new API key in Trivis.
Tool not available
Your key may lack the required scope. Check Settings → Developer → MCP keys in Trivis and create a write-scoped key if needed.
Awaiting approval
Sending something outside the company, or a destructive step, can wait for an admin's approval. Check pending approvals in Trivis AI settings.