# Onexur Manager MCP (pypi · mcp-manager.io)

MCP server for Manager.io bookkeeping: read-first with opt-in scoped task and write tools

- Trust score: 89/100 (high trust)
- Change this week: +11
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- pypi · `mcp-manager.io`: 89/100 (this document), [markdown](https://verifymcp.io/servers/onexuross-manager-mcp/mcp-manager-io.md), [page](https://verifymcp.io/servers/onexuross-manager-mcp/mcp-manager-io)

## Channel facts

- Registry: `pypi`
- Package: `mcp-manager.io`
- Version: `1.1.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised build step with no custom scripting around it.
  - 1 of 22 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to onexurOSS/mcp-manager.io).
  - Clear OSI-approved license (AGPL-3.0-or-later).
  - Actively maintained (last published 37 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 73/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 2160 tokens (~72/item across 30 items; 30 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 70/100
  - Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 71/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 30 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Onexur Manager MCP server?

Onexur Manager MCP runs locally as a PyPI package, launched with uvx mcp-manager.io. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add onexuross-manager-mcp -- uvx mcp-manager.io
```

### Cursor

```json
{
  "mcpServers": {
    "onexuross-manager-mcp": {
      "command": "uvx",
      "args": [
        "mcp-manager.io"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "onexuross-manager-mcp": {
      "command": "uvx",
      "args": [
        "mcp-manager.io"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add onexuross-manager-mcp -- uvx mcp-manager.io
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "onexuross-manager-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "mcp-manager.io"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add onexuross-manager-mcp --command uvx --arg mcp-manager.io
```

### Hermes

```yaml
mcp_servers:
  onexuross-manager-mcp:
    command: "uvx"
    args: ["mcp-manager.io"]
```

### Netclaw

```json
{
  "McpServers": {
    "onexuross-manager-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "mcp-manager.io"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add onexuross-manager-mcp -t stdio -c uvx -a mcp-manager.io
```

### Other

```json
{
  "mcpServers": {
    "onexuross-manager-mcp": {
      "command": "uvx",
      "args": [
        "mcp-manager.io"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 89, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-11-03 (score 73, −5)

- [functional] Stability: pass → 0.63

### 2026-10-29 (score 78, −15)

- [security regression] Malware scan: pass → unverified

### 2026-10-27 (score 93, +1)

- [security] Stability: 0.97 → pass

### 2026-10-25 (score 92, +1)

No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-23 (score 91, +1)

No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-20 (score 90, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-10-19 (score 74, −15)

- [security regression] Malware scan: pass → unverified

## MCP tools (30)

### `list_resources` (~40 tokens)

List Resources

List curated Manager.io capabilities. Default is read-only (30 tools). Task tools register when write scopes match; CRUD tools are deprecated unless raw scope is set.

### `get_server_info` (~104 tokens)

Get Server Info

Identify exactly which manager-mcp process you're connected to: package version, local source path, git commit (+ dirty flag), pid, process start time, registered tool count/names, transport, and effective scopes. Read-only, no Manager API call. Run this after any source edit + reload to confirm the new code is actually live -- pid and process_started_at change on a real restart even when git_sha does not (uncommitted edits), which is the reliable signal.

### `list_records` (~108 tokens)

List Records

Search/page a curated collection. Core: customers, suppliers, sales_invoices, purchase_invoices, chart_of_accounts, bank_accounts. Also writable domains when present in discovery (e.g. receipts, payments, sales_quotes). bank_accounts is the searchable collection; use bank_balances for snapshot balances.

Input parameters:

- `page_size` (integer)
- `resource` (string, required)
- `skip` (integer)
- `sort_by`
- `sort_by_desc`
- `term`

### `get_record` (~67 tokens)

Get Record

Fetch one collection record by GUID via Manager form endpoint (e.g. /customer-form/{key}). chart_of_accounts has no single form. For bank/cash account detail use resource=bank_accounts (not bank_balances).

Input parameters:

- `key` (string, required)
- `resource` (string, required)

### `get_fixed_asset` (~29 tokens)

Get Fixed Asset

Fetch one Fixed Asset form by key (read-only).

Input parameters:

- `fixed_asset_key` (string, required)

### `aged_receivables` (~62 tokens)

Aged Receivables

CURRENT customer balances only (read-only). Not an aged report and not as at any past date; rejects from_date/to_date. For a labelled as-at reconstruction use reconstructed_aged_receivables.

Input parameters:

- `from_date`
- `to_date`

### `aged_payables` (~60 tokens)

Aged Payables

CURRENT supplier balances only (read-only). Not an aged report and not as at any past date; rejects from_date/to_date. For a labelled as-at reconstruction use reconstructed_aged_payables.

Input parameters:

- `from_date`
- `to_date`

### `bank_balances` (~51 tokens)

Bank Balances

CURRENT bank/cash balances only (read-only; rejects dates). For search/drill-in of individual accounts use list_records/get_record on bank_accounts.

Input parameters:

- `from_date`
- `to_date`

### `trial_balance` (~49 tokens)

Trial Balance

Raw /trial-balance-transactions rows (read-only). NOT Manager's Trial Balance report and no account per row; see reconstructed_trial_balance.

Input parameters:

- `from_date`
- `to_date`

### `profit_and_loss` (~49 tokens)

Profit And Loss

Raw /profit-and-loss-statement-transactions rows (read-only). NOT Manager's Profit and Loss Statement; see reconstructed_profit_and_loss.

Input parameters:

- `from_date`
- `to_date`

### `balance_sheet` (~47 tokens)

Balance Sheet

Raw /balance-sheet-transactions rows (read-only). NOT Manager's Balance Sheet and no account per row; see reconstructed_trial_balance.

Input parameters:

- `from_date`
- `to_date`

### `tax_summary` (~52 tokens)

Tax Summary

Raw /tax-summary-transactions rows (read-only). No date support and not a VAT return; for dated tax rows use ledger_transactions with tax_only=true.

Input parameters:

- `from_date`
- `to_date`

### `find_records` (~84 tokens)

Find Records

Exact-match structured filter over a collection (client-side; Manager's own query API has no field-value filter, only term/sort/paging). filters is {field_name: expected_value}; every field must match exactly. Never does fuzzy/partial/amount-only matching.

Input parameters:

- `filters` (object, required)
- `max_pages` (integer)
- `resource` (string, required)

### `find_broken_invoice_references` (~92 tokens)

Find Broken Invoice References

Payments/receipts whose structured AR/AP invoice-Key line reference does not resolve to any current invoice -- the general form of a 'missing invoice' (e.g. a supplier payment structurally allocated to a Purchase Invoice Key that doesn't exist yet). Never uses the transaction's free-text description to decide this.

Input parameters:

- `from_date`
- `resource` (string, required)
- `to_date`

### `find_unallocated_transactions` (~43 tokens)

Find Unallocated Transactions

Receipts/payments with no AR/AP invoice allocation on any line.

Input parameters:

- `from_date`
- `resource` (string, required)
- `to_date`

### `find_duplicate_transactions` (~61 tokens)

Find Duplicate Transactions

Exact-match duplicate detector: Customer/Supplier + Reference + Date + total + line signature must ALL match. Partial matches are returned as unresolved, never flagged as duplicates.

Input parameters:

- `from_date`
- `resource` (string, required)
- `to_date`

### `verify_invoice_balance` (~73 tokens)

Verify Invoice Balance

Self-computed invoice balance: invoice total (its own Lines) vs. the sum of every receipt/payment line that structurally allocates to it. Does not trust any computed 'balance' field Manager may or may not expose on the form response.

Input parameters:

- `key` (string, required)
- `resource` (string, required)

### `account_ledger` (~68 tokens)

Account Ledger

Every structured Lines[] entry across all transaction types whose Account matches the given chart-of-accounts key -- the closest available view to a per-account general ledger (Manager exposes no native GL-by-account endpoint).

Input parameters:

- `account` (string, required)
- `from_date`
- `to_date`

### `bank_activity` (~69 tokens)

Bank Activity

Money-in/out for one bank/cash account, assembled from receipts (ReceivedIn), payments (PaidFrom) and transfers referencing it. Manager has no separate 'bank transaction' entity to read directly.

Input parameters:

- `bank_account_key` (string, required)
- `from_date`
- `to_date`

### `find_suspense_candidate_accounts` (~63 tokens)

Find Suspense Candidate Accounts

Chart-of-accounts rows whose structured Name matches common placeholder-account naming (suspense, uncategorised, clearing, ...). Candidates for human confirmation only -- never treated as the suspense account automatically, and never based on any transaction's free-text description.

### `general_ledger_summary` (~68 tokens)

General Ledger Summary

Single-pass general-ledger consistency check: sums every Lines[] Amount (or Debit-Credit) grouped by Account across all transaction types. overall_net should be ~0 in a balanced ledger; per_account_net surfaces accounts worth investigating.

Input parameters:

- `from_date`
- `to_date`

### `reconcile_period` (~80 tokens)

Reconcile Period

Read-only PERIOD reconciliation report composed entirely from Manager's own transaction data (no external system is consulted). Every exception carries exact Manager Keys. P&L/Balance Sheet/VAT sections surface raw transaction feeds with an explicit notice where Manager API2 does not expose computed report totals -- never a fabricated total.

Input parameters:

- `from_date`
- `to_date`

### `list_incomplete_reconstructions` (~91 tokens)

List Incomplete Reconstructions

Invoice-reconstruction attempts (propose_*_invoice_reconstruction / apply_*_invoice_reconstruction) that started but have not completed: the created invoice's key if one exists, which cited transactions have been repointed, and which remain. Calling apply again with the same proposal_token resumes from exactly this state rather than starting over. Reads only the local audit log; makes no Manager API call.

### `manager_report_catalogue` (~66 tokens)

Manager Report Catalogue

Read-only catalogue of Manager report types: which API representation exists (settings only, raw feed, current state), which date parameters exist, which views are application-only, and which MCP tool covers each. Also classifies the legacy report tools (current state vs raw feed vs reconstruction).

### `get_report_definition` (~92 tokens)

Get Report Definition

Read-only GET of a stored Manager report definition (settings only, never calculated rows). report_type is e.g. 'aged-receivables' or 'trial-balance' (without '-form'); key is the definition GUID. Manager has no list endpoint for definitions, so the key must be known. Never creates or edits definitions.

Input parameters:

- `key` (string, required)
- `report_type` (string, required)

### `ledger_transactions` (~171 tokens)

Ledger Transactions

Historical transaction data from Manager's account-level /transactions ledger (GET only). Every row names its account, type, counterparty, tax fields, debit, credit and signed amount (debit positive). Manager ignores dates on this endpoint, so from_date/to_date (YYYY-MM-DD) are filtered here; the full ledger is fetched and completeness reported. Results page with skip/limit (default 500, max 5000). Not a finished report; not an as-at balance.

Input parameters:

- `account`
- `bank_account`
- `customer`
- `from_date`
- `limit` (integer)
- `reference`
- `skip` (integer)
- `supplier`
- `tax_only` (boolean)
- `to_date`
- `transaction_type`

### `reconstructed_trial_balance` (~101 tokens)

Reconstructed Trial Balance

RECONSTRUCTED trial balance from the /transactions ledger as at a date (authoritative: false; not Manager's Trial Balance). Balance sheet accounts are cumulative to as_at; P&L accounts cover period_start..as_at (default 1 Jan of the as_at year, an assumption); earlier P&L is one prior-periods line. Reports whether debits equal credits.

Input parameters:

- `as_at` (string, required)
- `period_start`

### `reconstructed_profit_and_loss` (~61 tokens)

Reconstructed Profit And Loss

RECONSTRUCTED profit and loss by account for a period from the /transactions ledger (authoritative: false; not Manager's Profit and Loss Statement, no group layout).

Input parameters:

- `from_date` (string, required)
- `to_date` (string, required)

### `reconstructed_aged_receivables` (~88 tokens)

Reconstructed Aged Receivables

RECONSTRUCTED aged receivables as at a date from the /transactions ledger (authoritative: false; NOT Manager's Aged Receivables report). Ages by transaction date with oldest-first allocation; returns the control account total and whether party balances sum to it. Never treat as official.

Input parameters:

- `as_at` (string, required)
- `include_zero` (boolean)

### `reconstructed_aged_payables` (~71 tokens)

Reconstructed Aged Payables

RECONSTRUCTED aged payables as at a date from the /transactions ledger (authoritative: false; NOT Manager's Aged Payables report). Same method and caveats as reconstructed_aged_receivables.

Input parameters:

- `as_at` (string, required)
- `include_zero` (boolean)

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/onexuross-manager-mcp/mcp-manager-io#diagnostics

## Score history

- 2026-11-05: 89
- 2026-11-04: 73
- 2026-11-03: 73
- 2026-11-02: 78
- 2026-11-01: 78
- 2026-10-31: 78
- 2026-10-30: 78
- 2026-10-29: 78
- 2026-10-28: 93
- 2026-10-27: 93
- 2026-10-26: 92
- 2026-10-25: 92
- 2026-10-24: 91
- 2026-10-23: 91
- 2026-10-22: 90
- 2026-10-21: 90
- 2026-10-20: 90
- 2026-10-19: 74
- 2026-10-18: 89
- 2026-10-17: 73
- 2026-10-16: 88
- 2026-10-15: 72
- 2026-10-14: 50
- 2026-10-13: 35
- 2026-10-12: 50
- 2026-10-07: 35
- 2026-10-05: 68
- 2026-10-04: 67
- 2026-10-03: 67
- 2026-10-02: 66

## Common questions

### What is the Onexur Manager MCP server?

Onexur Manager MCP is listed in the public MCP registry as io.github.onexurOSS/manager-mcp. MCP server for Manager.io bookkeeping: read-first with opt-in scoped task and write tools. This page covers its PyPI package (mcp-manager.io).

### Is the Onexur Manager MCP server safe to use?

Onexur Manager MCP scores 89 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Onexur Manager MCP server expose?

Onexur Manager MCP exposes 30 tools: list_resources, get_server_info, list_records, get_record, get_fixed_asset, and 25 more. Their descriptions and schemas cost roughly 2,160 tokens of context every time the server is loaded.

### Is the Onexur Manager MCP server still maintained?

Onexur Manager MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Onexur Manager MCP server under?

Onexur Manager MCP declares the AGPL-3.0-or-later licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/mcp-manager.io/
- Socket report: https://socket.dev/pypi/package/mcp-manager.io
- Repository: https://github.com/onexurOSS/mcp-manager.io
- Changelog RSS feed: https://verifymcp.io/servers/onexuross-manager-mcp/mcp-manager-io.xml
- Changelog JSON feed: https://verifymcp.io/servers/onexuross-manager-mcp/mcp-manager-io.json
- HTML version of this page: https://verifymcp.io/servers/onexuross-manager-mcp/mcp-manager-io
