{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_n6tmw4h4a4ad","handle":"receipt-expense-scanner-reports","url":"https://wellknown.network/agents/receipt-expense-scanner-reports","links":{"self":"https://wellknown.network/agents/receipt-expense-scanner-reports/record.json","html":"https://wellknown.network/agents/receipt-expense-scanner-reports","markdown":"https://wellknown.network/agents/receipt-expense-scanner-reports/record.md","api":"https://wellknown.network/api/v1/agents/receipt-expense-scanner-reports","status":"https://wellknown.network/api/v1/agents/receipt-expense-scanner-reports/status","claim":"https://wellknown.network/agents/receipt-expense-scanner-reports/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/receipt-expense-scanner-reports/claim.json","badge":"https://wellknown.network/agents/receipt-expense-scanner-reports/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/receipt-expense-scanner-reports/history","tools":"https://wellknown.network/api/v1/agents/receipt-expense-scanner-reports/tools"},"ard":{"identifier":"urn:air:mcp.zovo.one:server:receipt-expense-scanner-reports","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"receipt-expense-scanner-reports","summary":"Log expenses and export clean reports for tax time - your ledger never leaves your machine.","description":"Log expenses and export clean reports for tax time - your ledger never leaves your machine.","publisher":{"name":"theluckystrike","url":null},"homepage":"https://mcp.zovo.one/s/expense-tracker","repository":"https://github.com/theluckystrike/mcp-servers","version":"0.23.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.zovo.one/mcp/receipt-expense-scanner-reports","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-26T06:40:07.71215Z","publishedAt":"2026-09-26T06:40:07.71215Z","registryName":"io.github.theluckystrike/receipt-expense-scanner-reports"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":1,"provenance":"derived"},{"slug":"dev.filesystem","name":"Filesystem","confidence":1,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":1,"provenance":"derived"},{"slug":"finance.accounting","name":"Accounting","confidence":1,"provenance":"derived"},{"slug":"finance.banking","name":"Banking","confidence":1,"provenance":"derived"},{"slug":"documents.spreadsheets","name":"Spreadsheets","confidence":0.919,"provenance":"derived"},{"slug":"security.scanning","name":"Security Scanning","confidence":0.729,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":0.525,"provenance":"derived"}],"categories":["analytics","commerce","dev","documents","finance","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 6h ago.","lastOkAt":"2026-10-10T00:27:28.642Z","lastProbedAt":"2026-10-10T00:27:28.642Z","statusComputedAt":"2026-10-10T00:29:46.443Z","reliability30d":{"probes":48,"successRate":1,"p50Ms":247,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":48,"ok":48,"authBoundaryOk":0,"serviceOk":48,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T00:27:28.642Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":22,"error":null,"detail":{"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"toolCount":14,"toolsHash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","serverName":"mcp-expense-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:28:23.000Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":101,"error":null,"detail":{"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"toolCount":14,"toolsHash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","serverName":"mcp-expense-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T11:27:04.614Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":605,"error":null,"detail":{"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"toolCount":14,"toolsHash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","serverName":"mcp-expense-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T05:27:05.754Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":39,"error":null,"detail":{"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"toolCount":14,"toolsHash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","serverName":"mcp-expense-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T23:23:27.263Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":22,"error":null,"detail":{"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"toolCount":14,"toolsHash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","serverName":"mcp-expense-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T17:28:23.209Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":888,"error":null,"detail":{"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"toolCount":14,"toolsHash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","serverName":"mcp-expense-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T11:23:27.919Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":47,"error":null,"detail":{"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"toolCount":14,"toolsHash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","serverName":"mcp-expense-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T04:24:46.293Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":340,"error":null,"detail":{"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"toolCount":14,"toolsHash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","serverName":"mcp-expense-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T21:29:17.948Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":62,"error":null,"detail":{"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"toolCount":14,"toolsHash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","serverName":"mcp-expense-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T15:32:45.628Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":204,"error":null,"detail":{"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"toolCount":14,"toolsHash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","serverName":"mcp-expense-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"expense_add","description":"Record one expense and return its id, its net/VAT split and its billable flag. The response states every default that was applied, so the caller can see what wa"},{"name":"expense_list","description":"List expenses in a date range with each one's net/VAT split, category, merchant, project and billable flag, plus a total per currency. Free reads the last 30 da"},{"name":"expense_update","description":"Change one expense by id; only the fields you pass move. amount is in MAJOR units. A rebilled expense refuses an amount, currency or vat_rate edit unless unlink"},{"name":"expense_delete","description":"Delete one expense by id and report what went. The receipt FILE stays on disk. Deleting a rebilled expense loses the record of what an invoice charged, so corre"},{"name":"receipt_attach","description":"Not available on the hosted endpoint: it has no filesystem, so there is no receipt file to read or hash. Attach receipts on a local install instead - download e"},{"name":"category_rules","description":"Replace the merchant-to-category rules, or call with no rules to list them. Returns the stored rule list. The rules are applied by expense_add whenever a call g"},{"name":"expense_settings","description":"Read or set the defaults expense_add uses when a call does not name them: default_vat_rate and default_currency. Returns the stored defaults. Call with no argum"},{"name":"expense_summary","description":"Totals for a date range grouped by category, project, month or merchant, per currency with gross, net and VAT, never mixed. Receipts only; bank transactions are"},{"name":"mileage_add","description":"Record a business trip as an expense, priced as distance x rate. Give exactly one of km or miles. Returns the saved id with the rate used, where that rate came "},{"name":"expense_export","description":"Export the expenses in a date range as csv, xlsx or json and return a download link that is valid for one hour. Nothing partial is ever written: if a limit is h"},{"name":"expense_to_invoice","description":"Preview the unbilled billable expenses of one project as invoice_create line items (description, quantity, unit_price, tax_rate), grouped per currency. Read-onl"},{"name":"expense_mark_rebilled","description":"Mark expenses as rebilled once the invoice that carries them actually exists. Pass the expense_ids of one currency group from expense_to_invoice, or that projec"},{"name":"license_status","description":"Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a fr"},{"name":"license_activate","description":"Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong "}],"package":null,"toolSurface":{"id":"ts_dj8h36pnxu3j","endpointId":"ep_rra3gwkrr9nx","hash":"c939eeaf2daf48f030fc221fded5541493e166c1010a854509f2ba13d524e8d3","toolCount":14,"serverName":"mcp-expense-tracker","serverVersion":"0.22.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-27T09:25:51.498Z","lastSeenAt":"2026-10-10T00:27:28.649Z","observations":48,"toolNames":["expense_add","expense_list","expense_update","expense_delete","receipt_attach","category_rules","expense_settings","expense_summary","mileage_add","expense_export","expense_to_invoice","expense_mark_rebilled","license_status","license_activate"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_rra3gwkrr9nx","url":"https://mcp.zovo.one/mcp/receipt-expense-scanner-reports","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T00:27:28.654Z","auth":{"observedAt":"2026-10-10T00:27:28.663Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T00:27:28.675Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"zovo.one","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-02T11:46:26.000Z","validTo":"2026-12-01T12:46:23.000Z","daysToExpiry":52,"sanCount":3,"fingerprint256":"FD:F0:11:46:31:B4:29:D1:FF:93:E6:BE:99:E7:CC:1E:89:33:FB:81:22:BC:F5:79:08:63:74:B5:CB:00:C6:02"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.theluckystrike/receipt-expense-scanner-reports","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.theluckystrike%2Freceipt-expense-scanner-reports","firstSeenAt":"2026-09-27T09:20:13.708Z","fetchedAt":"2026-10-08T12:19:25.186Z","normalizedAt":"2026-10-08T12:19:25.186Z"}]},"firstSeenAt":"2026-09-27T09:20:13.708Z","updatedAt":"2026-10-10T00:30:29.329Z"}