yuki-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| YUKI_API_KEY | No | Your Yuki API key. Either this or YUKI_API_KEYS_FILE must be provided for full functionality. | |
| YUKI_DOMAIN_ID | No | The administration GUID to use. Optional, can be set later via tool calls. | |
| YUKI_API_KEYS_FILE | No | Path to a JSON file mapping administration IDs to API keys. Overrides YUKI_API_KEY for administration-specific calls. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_administrationsA | List all Yuki administrations (companies) accessible with the configured API key. Run this first to discover the correct administrationID to pass to other tools. |
| get_administration_idA | Look up the GUID of a Yuki administration by its exact name. Use this to resolve an administration name to the ID required by other tools. For a full list of administrations and IDs use get_administrations. |
| reload_keysA | Reload the administrationId → apiKey map from the JSON keys file without restarting the MCP server. Use after a new key has been generated externally (for example via a |
| search_relationsA | Search for Yuki relations (customers/suppliers) by name, code, VAT number, or other fields. Returns up to 100 contacts per page with IDs, codes, names, and contact details. Omit searchValue (or pass an empty string) to retrieve all contacts. |
| get_sales_invoicesA | Retrieve outstanding (unpaid) sales invoices from Yuki. Returns debtor name, reference, due date, open amount, and currency for each item. Optionally filter by due date cutoff using dateOutstanding. |
| get_purchase_invoicesA | Retrieve outstanding (unpaid) purchase invoices from Yuki. Returns creditor name, reference, due date, open amount, and currency for each item. Optionally filter by due date cutoff using dateOutstanding. |
| get_transactionsA | Retrieve all journal entries for a specific GL account code within a date range. Use this for bank transactions (find the bank GL code with get_gl_accounts first). Returns date, description, debit/credit amounts, and counterpart GL account. |
| get_transaction_detailsA | Check whether an outstanding item (invoice) with a given reference still exists in Yuki and retrieve its current open amount and status. |
| get_gl_accountsA | Retrieve all GL accounts (grootboekrekeningen) with their balance at a given date. Use this to find account codes (e.g. bank account codes) or get a financial snapshot. Defaults to today's date if no date is provided. |
| get_gl_accounts_fiscalA | Retrieve all GL accounts with their balance including fiscal corrections (fiscale stand). Use this for balance sheet and P&L views that must match Yuki fiscal reports. For the commercial/operational view use get_gl_accounts instead. |
| get_net_revenueA | Retrieve net revenue (netto-omzet) for an administration within a date range. Set fiscal=true to include fiscal corrections (matches Yuki fiscal reports). |
| get_gl_account_schemeA | Retrieve the complete GL account scheme (rekeningschema) for an administration. Returns every account code with its type, subtype, description, and active/inactive status. Use this to validate GL codes before booking or to build account pickers. For current balances use get_gl_accounts instead. |
| get_period_tableA | Retrieve the fiscal period table (periodeoverzicht) for a given fiscal year. Returns period numbers, names, and start/end dates. Use this to translate a transaction date into a period name for reports (e.g. "tot welke periode zijn afschrijvingen verwerkt"). |
| get_gl_transactions_detailedA | Retrieve detailed transaction data for a GL account within a date range. Returns richer fields than get_transactions: document type, archive folder, fiscal period ID, project code, and mutation user. Leave glAccountCode empty to fetch all accounts. Use this to find the last period in which a depreciation or salary booking was made. |
| get_transaction_documentA | Download the source document (PDF) for a booked transaction, returned as base64. Use the transaction ID from get_gl_transactions_detailed. Returns fileName and base64-encoded fileData. |
| get_missing_invoicesA | Retrieve bank payments that still need a matching purchase invoice — equivalent to "Postbus → Ontbrekende facturen" in the Yuki web interface. Returns creditor name, open amount, date, and bank description for each unmatched payment. Use upload_document or process_purchase_invoice to resolve items in this list. |
| get_start_balancesA | Retrieve opening balances (beginbalansen) per GL account for a fiscal year. Returns accountID, accountDescription, and startBalance for each GL account. Use this for year-over-year balance verification. |
| process_sales_invoiceA | Create and book a new sales invoice in Yuki. Accepts invoice header, contact, and line items. Optionally sends the invoice to the customer by email. Returns the Yuki response including the assigned document ID. |
| process_purchase_invoiceA | Book an incoming purchase invoice in Yuki. Accepts invoice totals, supplier contact, and line items. Optionally attach the original PDF as a base64 string. Returns the Yuki response including the assigned document ID. |
| process_journalA | Post a general journal entry (memoriaal) in Yuki for bank reconciliation, corrections, or custom bookings. IMPORTANT: all entry amounts must sum to exactly 0 (positive = debit, negative = credit). Yuki will reject the entry if this rule is violated. |
| upsert_contactA | Create or update a contact (customer or supplier) in Yuki. When contactCode matches an existing record it will be updated; otherwise a new contact is created. Returns the Yuki response with the contact ID. |
| upload_documentA | Upload a document (PDF) to the Yuki archive with financial metadata. Use this to attach source documents to purchase invoices or store receipts. The document must be provided as a base64-encoded string. Call get_document_folders first to find the correct folder ID. |
| upload_document_from_pathA | Upload a PDF from a local file path to the Yuki archive. Reads and encodes the file internally — no need to pass base64 strings. Use this instead of upload_document when the file is available on disk. Call get_document_folders first to find the correct folder ID. |
| list_documentsA | List documents in a Yuki archive folder. Returns document IDs, file names, dates, and amounts. Call get_document_folders first to find the correct folder ID. Use the returned document ID with get_document or download_document. |
| search_documentsB | Search for documents in a Yuki archive folder by text. Call get_document_folders first to find the folderID. searchOption filters which field to match: All (default), Contact, Subject, Tag, Creator, or Type. tabID scopes the search to a folder tab — use 0 to search all tabs. |
| get_documentA | Retrieve metadata for a single archived document by its Yuki document ID. Returns file name, folder, date, amount, and status. Use list_documents or search_documents to find document IDs. To download the file binary use download_document. |
| download_documentA | Download an archived document from Yuki as a base64-encoded string. Use list_documents or search_documents to find the document ID first. Returns fileName and fileDataBase64. |
| get_cost_categoriesA | List available cost categories (GL cost accounts) for document uploads. Use the returned GL codes as the costCategory parameter in upload_document. |
| get_document_foldersA | List all archive folders in the Yuki administration. Use this to find the correct folder ID to pass to upload_document. |
| get_workflowA | Retrieve the Yuki backoffice workflow items for an administration. These are documents (purchase and sales invoices) that could not be processed automatically and are waiting to be reviewed and booked by the accountant. |
| get_outstanding_questionsA | Retrieve outstanding backoffice questions for an administration in Yuki. These are questions raised by the accountant that require a response before the related documents can be processed. |
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/CodeMill-Solutions/yuki-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server