billy-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BILLY_API_TOKEN | Yes | Your Billy personal access token from billy.dk Settings → Access tokens |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| billy_whoamiA | Get the current Billy organization (sanity check the token, see org settings). READ-ONLY. |
| billy_update_organizationA | Update fields on the organization. WRITE — requires confirm:true. Pass any subset of: { name, registrationNo, vatNo, street, zipcode, city, countryId, email, phone, paymentTermsDays, defaultTaxMode, salesTaxPeriod, isVatExempted, ... } |
| billy_list_invoicesB | List invoices. READ-ONLY. Filters: state (draft/approved/paid), contactId, sinceDate, untilDate. |
| billy_get_invoiceB | Fetch one invoice including line items. READ-ONLY. |
| billy_create_invoiceA | Create a new invoice (default state: draft). WRITE — requires confirm:true. Shape: { contactId, entryDate, currencyId, lines: [{ productId, description, quantity, unitPrice, taxRateId? }], paymentTermsDays?, lineDescription? } |
| billy_update_invoiceA | Update an existing invoice. WRITE — requires confirm:true. |
| billy_delete_invoiceA | Delete a draft invoice. WRITE — requires confirm:true. Approved/paid invoices cannot be deleted. |
| billy_approve_invoiceA | Approve a draft invoice (draft → approved). WRITE — requires confirm:true. Required before sending or marking paid. |
| billy_send_invoiceA | Send an invoice by email via Billy. WRITE — requires confirm:true. Email payload: { to: ['email'], cc?, bcc?, subject?, message?, attachPdf? } |
| billy_list_billsC | List bills/expenses. READ-ONLY. |
| billy_get_billB | Fetch one bill (expense). READ-ONLY. |
| billy_create_billA | Create a new bill. WRITE — requires confirm:true. Shape: { contactId, entryDate, currencyId, lines: [{ accountId, description, amount, taxRateId? }] } |
| billy_update_billB | Update an existing bill. WRITE — requires confirm:true. |
| billy_delete_billB | Delete a draft bill. WRITE — requires confirm:true. |
| billy_approve_billA | Approve a draft bill. WRITE — requires confirm:true. |
| billy_list_contactsC | List contacts. READ-ONLY. |
| billy_get_contactB | Fetch one contact. READ-ONLY. |
| billy_create_contactA | Create a new contact. WRITE — requires confirm:true. Shape: { name, isCustomer, isSupplier, countryId, street?, city?, zipcode?, registrationNo?, email?, phone? } |
| billy_update_contactA | Update an existing contact. WRITE — requires confirm:true. |
| billy_delete_contactA | Delete a contact. WRITE — requires confirm:true. Contacts with associated invoices/bills cannot be deleted. |
| billy_list_contact_personsC | List contact persons. READ-ONLY. |
| billy_create_contact_personA | Create a contact person. WRITE — requires confirm:true. Shape: { contactId, name, email?, phone?, isPrimary? } |
| billy_list_productsC | List products (your sellable items/services). READ-ONLY. |
| billy_get_productC | Fetch one product. READ-ONLY. |
| billy_create_productA | Create a product/service. WRITE — requires confirm:true. Shape: { name, productNo?, description?, prices: [{ unitPrice, currencyId }], salesAccountId?, salesTaxRulesetId? } |
| billy_update_productA | Update an existing product. WRITE — requires confirm:true. |
| billy_delete_productA | Delete a product. WRITE — requires confirm:true. |
| billy_list_accountsC | List the chart of accounts. READ-ONLY. |
| billy_get_accountA | Fetch one account. READ-ONLY. |
| billy_create_accountB | Create a new account in the chart of accounts. WRITE — requires confirm:true. |
| billy_update_accountC | Update an existing account. WRITE — requires confirm:true. |
| billy_list_account_groupsA | List the account-group hierarchy. READ-ONLY. |
| billy_get_bank_accountA | Fetch one bank account by id. READ-ONLY. (Billy v2 does not support listing all bank accounts — look up the default via billy_whoami.) |
| billy_create_bank_accountA | Create a bank account in Billy. WRITE — requires confirm:true. |
| billy_list_bank_paymentsC | List bank payments (records of money in/out tied to invoices/bills). READ-ONLY. |
| billy_create_bank_paymentA | Create a bank payment. WRITE — requires confirm:true. Used to mark invoices/bills as paid. Shape: { entryDate, cashSide: 'debit'|'credit', cashAmount, cashAccountId, contraAccountId, associations: [{ subjectType, subjectId, amount }] } |
| billy_list_bank_linesA | List bank statement lines. READ-ONLY. REQUIRES accountId. Default returns UNMATCHED lines (the actionable state). |
| billy_get_bank_lineB | Fetch one bank line. READ-ONLY. |
| billy_match_bank_lineA | Reconcile a bank line with an invoice/bill/bank payment. WRITE — requires confirm:true. |
| billy_unmatch_bank_lineA | Remove a bank-line reconciliation. WRITE — requires confirm:true. |
| billy_list_daybooksB | List daybooks. READ-ONLY. |
| billy_list_daybook_transactionsB | List manual daybook transactions (journal entries). READ-ONLY. |
| billy_create_daybook_transactionA | Create a manual journal entry. WRITE — requires confirm:true. Shape: { daybookId, entryDate, description, lines: [{ accountId, side: 'debit'|'credit', amount, taxRateId? }] } |
| billy_list_tax_ratesA | List configured tax rates. READ-ONLY. |
| billy_list_tax_rulesetsA | List tax rulesets. READ-ONLY. |
| billy_list_sales_tax_returnsC | List MOMS/VAT returns. READ-ONLY. |
| billy_get_sales_tax_returnB | Fetch one MOMS/VAT return. READ-ONLY. |
| billy_report_profit_lossC | P&L report. READ-ONLY. |
| billy_report_balanceC | Balance sheet at a point in time. READ-ONLY. |
| billy_report_sales_taxC | MOMS/VAT report. READ-ONLY. |
| billy_report_invoiced_salesB | Invoiced sales by contact/product. READ-ONLY. |
| billy_list_postingsC | List ledger postings. READ-ONLY. |
| billy_list_action_streamC | Recent activity log entries. READ-ONLY. |
| billy_list_webhooksB | List webhooks. READ-ONLY. |
| billy_create_webhookA | Create a webhook. WRITE — requires confirm:true. Shape: { url, event, isActive? } |
| billy_delete_webhookA | Remove a webhook. WRITE — requires confirm:true. |
| billy_list_currenciesB | List currencies. READ-ONLY. |
| billy_list_countriesA | List countries. READ-ONLY. |
| billy_list_payment_terms_modesA | List payment-terms modes. READ-ONLY. |
| billy_list_unitsB | List product units. READ-ONLY. |
| billy_upload_fileA | Upload a file (receipt or invoice PDF, or image) from a local path to Billy. WRITE — requires confirm:true. Billy only accepts PDF, JPG, JPEG, PNG, GIF — convert other formats first. Returns the file metadata including the id, which you then pass to billy_attach_file_to_bill or billy_attach_file_to_invoice. MIME type is auto-detected from the extension. |
| billy_list_filesB | List files uploaded to Billy. READ-ONLY. |
| billy_get_fileB | Fetch metadata for one file (incl. downloadUrl). READ-ONLY. |
| billy_attach_file_to_billA | Attach an uploaded file (receipt PDF, etc.) to a bill. WRITE — requires confirm:true. |
| billy_attach_file_to_invoiceA | Attach an uploaded file to an invoice. WRITE — requires confirm:true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cimalys/billy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server