# com.tally-stick/tallystick (pypi · tallystick-mcp)

Read, validate and write e-invoices on your own machine. XRechnung, ZUGFeRD, Factur-X, UBL, CII.

- Trust score: 55/100 (low)
- Change this week: −15
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- pypi · `tallystick-mcp`: 55/100 (this document), [markdown](https://verifymcp.io/servers/com-tally-stick-tallystick/tallystick-mcp.md), [page](https://verifymcp.io/servers/com-tally-stick-tallystick/tallystick-mcp)

## Channel facts

- Registry: `pypi`
- Package: `tallystick-mcp`
- Version: `1.0.2`
- 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-09-20.

- **Supply Chain Security**: 37/100
  - Malware scan not yet available for this package.
  - No known CVEs affecting this package version or its production dependencies.
  - Install-script risk not yet assessed.
  - 3 of 36 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 19/100
  - Repository check failed: the declared repository URL returned HTTP 404.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 31 days ago).
  - Security-disclosure policy not yet verified: we couldn't inspect the source repository.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 721 tokens (~120/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 83/100
  - Stability observed for 25 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 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 6 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 com.tally-stick/tallystick MCP server?

com.tally-stick/tallystick runs locally as a PyPI package, launched with uvx tallystick-mcp. 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 com-tally-stick-tallystick -- uvx tallystick-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "com-tally-stick-tallystick": {
      "command": "uvx",
      "args": [
        "tallystick-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-tally-stick-tallystick": {
      "command": "uvx",
      "args": [
        "tallystick-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add com-tally-stick-tallystick -- uvx tallystick-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-tally-stick-tallystick": {
      "type": "local",
      "command": [
        "uvx",
        "tallystick-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-tally-stick-tallystick --command uvx --arg tallystick-mcp
```

### Hermes

```yaml
mcp_servers:
  com-tally-stick-tallystick:
    command: "uvx"
    args: ["tallystick-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "com-tally-stick-tallystick": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "tallystick-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-tally-stick-tallystick -t stdio -c uvx -a tallystick-mcp
```

### Other

```json
{
  "mcpServers": {
    "com-tally-stick-tallystick": {
      "command": "uvx",
      "args": [
        "tallystick-mcp"
      ]
    }
  }
}
```

## 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-09-19 (score 55, −2)

- [functional] Stability: pass → 0.80

### 2026-09-18 (score 57, 0)

- [security] Stability: 0.97 → pass

### 2026-09-17 (score 57, +1)

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

### 2026-09-14 (score 56, −14)

- [security regression] Malware scan: pass → unverified

### 2026-09-13 (score 70, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-09-12 (score 55, +1)

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

### 2026-09-10 (score 54, +1)

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

### 2026-09-08 (score 53, +1)

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

## MCP tools (6)

### `detect_invoice_format` (~79 tokens)

Detect Invoice Format

Identify an invoice file before doing anything expensive with it.

Returns the syntax (UBL, CII, Factur-X/ZUGFeRD, or a template PDF) and, for
a PDF, whether it carries embedded XML. Cheap: it sniffs rather than fully
parsing. Needs a licence key.

Input parameters:

- `path` (string, required)

### `read_invoice` (~120 tokens)

Read Invoice

Read one invoice into structured JSON.

Handles UBL, CII, Factur-X, ZUGFeRD, XRechnung and template PDFs, choosing
the right parser itself. Returns parties, dates, line items, tax breakdown
and totals, plus any validation issues found.

All amounts are STRINGS holding exact decimals, never floats. Parse them as
decimals; do not do float arithmetic on them.

Needs a licence key.

Input parameters:

- `include_raw` (boolean)
- `max_lines` (integer)
- `path` (string, required)

### `validate_invoice` (~95 tokens)

Validate Invoice

Check one invoice for internal consistency and missing mandatory fields.

Reports each finding with a code, a severity and the field it concerns:
line totals that do not sum to the stated net, a tax total that disagrees
with the rates, a missing invoice number or date. Use this before trusting
an invoice's numbers, or to explain why a received file was rejected.

Needs a licence key.

Input parameters:

- `path` (string, required)

### `read_invoices_table` (~92 tokens)

Read Invoices Table

Read a whole folder of invoices into one compact table.

Takes files, folders, or a mix; folders are searched recursively. Returns
one flat row per invoice rather than the full document, so fifty invoices
stay readable in one answer. Use read_invoice afterwards on any row that
needs its line items.

Amounts are exact decimal STRINGS. Needs a licence key.

Input parameters:

- `paths` (array, required)

### `export_invoices` (~91 tokens)

Export Invoices

Write many invoices out as one Excel workbook, CSV, JSON or QBO file.

format is one of: xlsx, csv, json, qbo. out_path is where to write on the
user's machine. Returns the path written and what went into it.

Needs a licence key.

Input parameters:

- `format` (string, required)
- `out_path` (string, required)
- `paths` (array, required)

### `build_einvoice` (~244 tokens)

Build Einvoice

Create a compliant e-invoice XML from structured data.

The other direction: data in, valid EN 16931 XML out. Supported profiles
are xrechnung-3.0, peppol-bis-3.0, en16931, nlcius, pint-aunz, pint-jp,
pint-my, pint-sg and pint-ae. syntax is "ubl" or "cii".

invoice takes: number, issue_date (YYYY-MM-DD), due_date, currency,
buyer_reference, leitweg_id, iban, payment_terms, seller and buyer objects
(name, vat, street, city, postcode, country, email, reg_no) and a lines
list (desc, qty, unit, unit_price, vat_percent).

Refuses to emit XML when a mandatory field is missing, and says which one:
a file that is silently non-compliant is worse than no file. Amounts may be
strings or numbers; they are handled as exact decimals either way.

Needs a licence key.

Input parameters:

- `invoice` (object, required)
- `out_path` (string)
- `profile` (string)
- `syntax` (string)

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/com-tally-stick-tallystick/tallystick-mcp#diagnostics

## Score history

- 2026-09-20: 55
- 2026-09-19: 55
- 2026-09-18: 57
- 2026-09-17: 57
- 2026-09-16: 56
- 2026-09-15: 56
- 2026-09-14: 56
- 2026-09-13: 70
- 2026-09-12: 55
- 2026-09-11: 54
- 2026-09-10: 54
- 2026-09-09: 53
- 2026-09-08: 53
- 2026-09-07: 52
- 2026-09-06: 67
- 2026-09-05: 66
- 2026-09-04: 66
- 2026-09-03: 65
- 2026-09-02: 65
- 2026-09-01: 49
- 2026-08-31: 64
- 2026-08-30: 64
- 2026-08-29: 63
- 2026-08-28: 63
- 2026-08-27: 62
- 2026-08-26: 58
- 2026-08-25: 56
- 2026-08-24: 56
- 2026-08-23: 56
- 2026-08-22: 56

## Common questions

### What is the com.tally-stick/tallystick MCP server?

com.tally-stick/tallystick is an MCP server listed in the public MCP registry as com.tally-stick/tallystick. Read, validate and write e-invoices on your own machine. XRechnung, ZUGFeRD, Factur-X, UBL, CII. This page covers its PyPI package (tallystick-mcp).

### Is the com.tally-stick/tallystick MCP server safe to use?

com.tally-stick/tallystick scores 55 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. 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 com.tally-stick/tallystick MCP server expose?

com.tally-stick/tallystick exposes 6 tools: detect_invoice_format, read_invoice, validate_invoice, read_invoices_table, export_invoices, build_einvoice. Their descriptions and schemas cost roughly 721 tokens of context every time the server is loaded.

### Is the com.tally-stick/tallystick MCP server still maintained?

com.tally-stick/tallystick is still listed as active in the MCP registry. We last reached this channel on 20 September 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 com.tally-stick/tallystick MCP server under?

com.tally-stick/tallystick declares the MIT 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/tallystick-mcp/
- Socket report: https://socket.dev/pypi/package/tallystick-mcp
- Website: https://tally-stick.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-tally-stick-tallystick/tallystick-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-tally-stick-tallystick/tallystick-mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-tally-stick-tallystick/tallystick-mcp
