{
  "markdown": "<div align=\"center\">\n\n<img src=\"assets/icon-numetric.png\" alt=\"NuMetric\" width=\"96\" height=\"96\">\n\n# NuMetric MCP Server\n\n**Read your NuMetric accounting, reports & documents from any MCP client.**\n\n[![MCP](https://img.shields.io/badge/MCP-remote%20server-blue)](https://modelcontextprotocol.io)\n[![Auth](https://img.shields.io/badge/auth-OAuth%202.1%20%2B%20PKCE-green)](#authentication)\n[![Read-only](https://img.shields.io/badge/access-read--only-brightgreen)](#read-only-by-design)\n[![License](https://img.shields.io/badge/license-MIT-lightgrey)](LICENSE)\n\n[Website](https://numetric.work) · [Documentation](https://help.numetric.work/en/articles/16012930-numetric-connector-for-claude) · [Privacy](https://help.numetric.work/en/articles/12888838-privacy-policy) · [Support](https://help.numetric.work)\n\n</div>\n\n---\n\nA [Model Context Protocol](https://modelcontextprotocol.io) server for the\n[NuMetric.work](https://numetric.work) POS / ERP / accounting platform. It exposes your live business\ndata as **39 read-only tools**, so an AI assistant answers from your actual books instead of guessing.\n\nIt never creates, edits, or deletes anything.\n\n```\nhttps://numetric-mcp.virifi.xyz/mcp\n```\n\n## What you can ask\n\n- *\"What's my balance sheet as of last month?\"* / *\"Show my P&L for Q2.\"*\n- *\"What's my cash runway and current ratio?\"*\n- *\"List overdue invoices and total receivables.\"*\n- *\"How much sales tax did I collect vs. pay this quarter?\"*\n- *\"Break down profit by project.\"*\n- *\"What documents are attached to invoice INV-2026-0007?\"*\n\n## Install\n\n### Claude (web, Desktop, Code)\n\nSettings → **Connectors** → **Add custom connector** → paste:\n\n```\nhttps://numetric-mcp.virifi.xyz/mcp\n```\n\nThen click **Connect** and sign in with your NuMetric email, password, and region. You're redirected\nback when authorized.\n\n### Claude Code (CLI)\n\n```bash\nclaude mcp add --transport http numetric https://numetric-mcp.virifi.xyz/mcp\n```\n\n### Cursor / Windsurf / VS Code\n\n```json\n{\n  \"mcpServers\": {\n    \"numetric\": {\n      \"url\": \"https://numetric-mcp.virifi.xyz/mcp\"\n    }\n  }\n}\n```\n\n### Any other MCP client\n\nPoint it at the Streamable-HTTP endpoint above. The server advertises OAuth 2.1 discovery\n(RFC 9728 / RFC 8414), so compliant clients start the sign-in flow automatically.\n\n## Requirements\n\n- A **NuMetric.work** account (any plan).\n- Your **region** (e.g. `JO`, `SA`, or Global).\n- An MCP client that supports remote servers with OAuth.\n\nAccess follows your existing NuMetric permissions — you only ever see the modules you already have\nrights to. A tool you lack permission for returns `SCOPE_REQUIRED` rather than data.\n\n## Choosing a business\n\nIf your account has more than one business, ask your assistant to **list your businesses**, then\n**select one** (*\"list my businesses\"* → *\"use Acme Trading\"*). The choice sticks for the session and\nyou can switch anytime. Single-business accounts are selected automatically.\n\n## Tools\n\n<details>\n<summary><b>Accounting spine</b> (6)</summary>\n\n| Tool | Returns |\n| --- | --- |\n| `list_chart_of_accounts` | Chart of accounts with live computed balances and classification. Balances are ledger-signed (`debit − credit`); each row carries `magnitude`/`side`/`isNormalSide` |\n| `search_transactions` | Ledger search by date, type, category, reviewed status |\n| `get_transaction` | One transaction with its full journal lines |\n| `get_daily_transactions` | The general journal for a period (debits = credits) |\n| `get_financial_statement` | P&L, balance sheet, trial balance, cash flow |\n| `get_account_transactions_report` | Per-account transaction detail for a period |\n\n</details>\n\n<details>\n<summary><b>Analysis & KPIs</b> (2)</summary>\n\n| Tool | Returns |\n| --- | --- |\n| `get_kpis` | Cash runway, current ratio, DSO, DPO, revenue concentration, unreviewed count |\n| `get_cash_position` | Cash and bank balances across accounts |\n\n</details>\n\n<details>\n<summary><b>Sales, receivables & payables</b> (9)</summary>\n\n| Tool | Returns |\n| --- | --- |\n| `list_invoices` | Sales invoices with filters |\n| `list_cash_invoices` | Cash invoices with filters |\n| `list_estimates` | Quotes / estimates |\n| `get_invoice_status` | AR status of one invoice by id or number |\n| `get_receivables` | AR aging with overdue confidence |\n| `list_bills` | Purchase bills |\n| `get_bill_status` | AP status of one bill |\n| `get_payables` | Total owed **plus** AP aging. `outstanding.outstandingTotal` is what you owe; `aging` covers only the aged subset |\n| `list_customers` | Customers, with duplicate detection |\n\n</details>\n\n<details>\n<summary><b>Tax</b> (2)</summary>\n\n| Tool | Returns |\n| --- | --- |\n| `get_sales_tax` | Sales tax / VAT summary for a period |\n| `get_sales_tax_transactions` | Per-transaction tax detail |\n\n</details>\n\n<details>\n<summary><b>Projects</b> (2)</summary>\n\n| Tool | Returns |\n| --- | --- |\n| `list_projects` | Projects with status |\n| `get_multi_project_profit_loss` | P&L across one or many projects |\n\n</details>\n\n<details>\n<summary><b>Retail & cashier reporting</b> (5)</summary>\n\n| Tool | Returns |\n| --- | --- |\n| `list_cashiers` | Cashiers / staff |\n| `get_cashier_sales_invoices` | Per-cashier sales by invoice |\n| `get_cashier_sales_items` | Per-cashier sales by item |\n| `get_cashier_attendance` | Cashier attendance |\n| `get_invoice_source_report` | Sales grouped by invoice source |\n\n</details>\n\n<details>\n<summary><b>Inventory</b> (3)</summary>\n\n| Tool | Returns |\n| --- | --- |\n| `list_products` | Product list, including low-stock filtering |\n| `get_item_summary` | Per-item stock card / movement |\n| `get_source_quantity_report` | Quantity by source |\n\n</details>\n\n<details>\n<summary><b>Fixed assets</b> (2)</summary>\n\n| Tool | Returns |\n| --- | --- |\n| `get_asset_report` | Your fixed-asset register — name, type, GL account, cost and depreciation rate — reconciled against NuMetric's depreciation schedule. Depreciation totals are reported only when the two cover the same assets, and withheld (null, never zero) when they do not |\n| `get_asset_custody_report` | Asset custody by holder |\n\n</details>\n\n<details>\n<summary><b>Documents</b> (4)</summary>\n\n| Tool | Returns |\n| --- | --- |\n| `get_storage_overview` | Document storage overview |\n| `list_documents` | Attachments on invoices, bills, and other records |\n| `get_document` | Download one document's content |\n| `get_document_bundle` | Download all documents on a record as a ZIP |\n\n</details>\n\n<details>\n<summary><b>Account &amp; session</b> (3)</summary>\n\n| Tool | Returns |\n| --- | --- |\n| `list_businesses` | Businesses on your account |\n| `select_business` | Choose which business to work on |\n| `get_subscription` | Your subscription and what it includes: the plan you are on, your effective limits, how much of your transaction and seat allowance is left, who has access to the account, which capabilities are available, per-business feature toggles, and which tools your permissions allow |\n\n</details>\n\nMachine-readable schema for all 39: [`mcp-schema.json`](mcp-schema.json).\n\n## Read-only by design\n\nEvery tool carries `readOnlyHint: true`. There is no payment, transfer, trade, create, edit, or delete\ntool in this server — not gated, not present. That is meant literally: as of 0.9.0 the write code was\nremoved from the deployed server rather than left behind a feature flag, so there is no configuration\nthat turns it on. Read-only tools run without per-call confirmation in clients that honor the hint.\n\n## Verified vs. Guarded\n\nEvery computed figure carries a `confidence` value:\n\n- **Verified** — the figure comes straight from NuMetric's accounting engine and reconciles.\n- **Guarded** — NuMetric flagged it as possibly stale or unbalanced, or it is a snapshot rather than\n  a live read. Your subscription entitlements are always Guarded: NuMetric provides no way to\n  re-read them, so they reflect the moment you connected and refresh when you reconnect. Usage\n  figures are the exception worth knowing about — seat counts come from NuMetric directly, while\n  the transaction count is measured from your ledger and is reported with its basis.\n\nThe server instructs connecting assistants to hedge on Guarded figures rather than present them as\nfinal. Claude reports what your books say; it does not recompute your accounting itself.\n\n## Authentication\n\nOAuth 2.1 with PKCE (S256). You sign in on NuMetric's own page — your credentials are exchanged for a\ntoken server-side and held in an encrypted vault. **The assistant only ever holds a short-lived token\nscoped to this server; your NuMetric password and API token never reach it.**\n\nYour business identity and region are bound to the authenticated principal and are never passed by the\nAI caller. Disconnect anytime from your client's connector settings.\n\n## Privacy & security\n\n- Read-only — no tool can move money or change your data.\n- Credentials never reach the AI client.\n- Encrypted in transit and at rest.\n- Every read is rate-limited per principal and written to an audit log.\n\nSee the [Privacy Policy](https://help.numetric.work/en/articles/12888838-privacy-policy) and\n[Terms & Conditions](https://help.numetric.work/en/articles/12888765-terms-and-conditions).\n\n## Troubleshooting\n\n| Message | Meaning |\n| --- | --- |\n| `NO_BUSINESS_SELECTED` | Run *\"list my businesses\"*, then select one. |\n| `SCOPE_REQUIRED` | Your NuMetric user lacks access to that module — ask your account admin. |\n| A figure marked **Guarded** | Treat it as unconfirmed rather than final. |\n| `STATEMENT_UNAVAILABLE` | That statement type isn't available yet for your account. |\n\n## Support\n\nVia the in-app chat at [help.numetric.work](https://help.numetric.work), or your usual NuMetric\nsupport channel.\n\n## About\n\nBuilt and operated by **VIRIFI Technologies Ltd** (20–22 Wenlock Rd, London, UK), the maker of\nNuMetric. This is a first-party connector: NuMetric is our own platform and backend.\n\nThis repository holds the connector's public manifest and documentation. Licensed [MIT](LICENSE).\n",
  "bytes": 9990,
  "sha": "e715fcf19ea7848b310feab701d073bc6bebdf02fa923cc673cf896697866422",
  "repo_slug": "lowwmax/numetric-mcp-connector",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_xyz_virifi_numetric_mcp_numetric_f5929e43/readme"
}