# papertax (remote · papertax.xyz)

Hyperliquid tax reports and Koinly/CTC exports for agents

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

## Components

- remote · `papertax.xyz`: 80/100 (this document), [markdown](https://verifymcp.io/servers/awakeweb3-papertax/papertax.md), [page](https://verifymcp.io/servers/awakeweb3-papertax/papertax)

## Channel facts

- Endpoint: `https://papertax.xyz/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.17.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, 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.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 52/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 3564 tokens (~594/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**: 67/100
  - Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 96/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 88% of tool parameters carry a description.
- **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 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the papertax MCP server?

papertax is a hosted endpoint at https://papertax.xyz/mcp, so there is nothing to install locally. 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 --transport http awakeweb3-papertax 'https://papertax.xyz/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "awakeweb3-papertax": {
      "url": "https://papertax.xyz/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "awakeweb3-papertax": {
      "type": "http",
      "url": "https://papertax.xyz/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.awakeweb3-papertax]
url = "https://papertax.xyz/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "awakeweb3-papertax": {
      "type": "remote",
      "url": "https://papertax.xyz/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add awakeweb3-papertax --url 'https://papertax.xyz/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  awakeweb3-papertax:
    url: "https://papertax.xyz/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "awakeweb3-papertax": {
      "Transport": "http",
      "Url": "https://papertax.xyz/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add awakeweb3-papertax -t streamable-http -u 'https://papertax.xyz/mcp'
```

### Other

```json
{
  "mcpServers": {
    "awakeweb3-papertax": {
      "type": "http",
      "url": "https://papertax.xyz/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## 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 80, +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.

### 2026-11-03 (score 79, +1)

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

### 2026-11-01 (score 78, +1)

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

### 2026-10-30 (score 77, +1)

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

### 2026-10-28 (score 76, +1)

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

### 2026-10-26 (score 75, 0)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Stability: 0.30 → unverified
- [security regression] Authorization: partial → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] Transport: pass → fail
- [security regression] Tool “get_top_traders” was removed
- [security regression] Tool “get_games” was removed
- [security regression] Tool “get_papertrade_positions” was removed
- [security regression] Tool “get_papertrade_results” was removed
- [security regression] Tool “preview_papertrade_close” was removed
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_ledger_events” rewrote its description, which is the text the model reads
- [security] Tool “get_tax_summary” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 386 → 594
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional improvement] Endpoint reachability: not serving MCP → reachable
- [functional] First check of Schema quality: unverified
- [functional] Server version: 0.16.0 → 0.17.0
- [cosmetic] “export_tax_file” added an optional parameter “trade_history_account”
- [cosmetic] “export_tax_file” added an optional parameter “trade_history_csv”
- [cosmetic] “get_ledger_events” added an optional parameter “trade_history_account”
- [cosmetic] “get_ledger_events” added an optional parameter “trade_history_csv”
- [cosmetic] “get_tax_summary” added an optional parameter “trade_history_account”
- [cosmetic] “get_tax_summary” added an optional parameter “trade_history_csv”
- [cosmetic] “get_ledger_events” reworded the description of “venue”

### 2026-10-24 (score 75, +1)

- [security] The server rewrote its instructions, which are the text every model session reads

### 2026-10-22 (score 74, +1)

- [security] The server rewrote its instructions, which are the text every model session reads

## MCP tools (6)

### `get_tax_summary` (~545 tokens)

Tax summary for a wallet

Free. Per-venue realised gains and losses, fees, funding, liquidations, open positions and items needing review for one wallet and tax year (subaccounts included automatically), plus trading analytics (fee and funding drag, liquidation review, net after costs by market and month). For live wallets, report gives the event count, the full report's price for this caller, whether they already have access, and how to buy it.

Input parameters:

- `address` (string, required): Public Hyperliquid wallet address
- `jurisdiction` (string): Used when tax_year is not given. AU = 1 Jul–30 Jun; US, CA, JP and ES = calendar year; UK = 6 Apr–5 Apr; NZ = 1 Apr–31 Mar
- `sample` (boolean): Return deterministic sample data instead of reading Hyperliquid
- `tax_year` (string): Tax year. AU-2027 = Australia · FY 2026–27; AU-2026 = Australia · FY 2025–26; US-2026 = United States · 2026; US-2025 = United States · 2025; UK-2027 = United Kingdom · 2026–27; UK-2026 = United King…
- `trade_history_account` (string): Optional: the subaccount address the trade history file belongs to (from coverage.subaccounts). Omit for the main account's file.
- `trade_history_csv` (string): Optional: the text of a trade history CSV the user exported from Hyperliquid (Trade History, Export as CSV). Hyperliquid's API serves only about a wallet's most recent 10,000 fills, so for very activ…
- `unlock_token` (string): Unlock token returned by buy_report (or the website after paying), for wallets bought without an API key

### `get_ledger_events` (~704 tokens)

Ledger events

Individual ledger rows with default tax classification: perp opens, closes, liquidations and funding (main account and subaccounts); spot and HIP-4 outcome buys and sells; vault deposits and withdrawals; staking rewards; HyperEVM swaps, protocol deposits, loans and liquidity positions; transfers; papertrade mints and staking; anything unrecognised, flagged for review. Filter by event type or venue. Without paid access, live wallets return the first 10 rows.

Input parameters:

- `address` (string, required): Public Hyperliquid wallet address
- `jurisdiction` (string): Used when tax_year is not given. AU = 1 Jul–30 Jun; US, CA, JP and ES = calendar year; UK = 6 Apr–5 Apr; NZ = 1 Apr–31 Mar
- `limit` (integer)
- `sample` (boolean): Return deterministic sample data instead of reading Hyperliquid
- `save_wallet` (boolean): With a Trader or Accountant plan API key: add this wallet to the plan if it is not on it yet (uses one of the plan's 10 wallets or a client seat). Without it, a wallet not on the plan gets the previe…
- `tax_year` (string): Tax year. AU-2027 = Australia · FY 2026–27; AU-2026 = Australia · FY 2025–26; US-2026 = United States · 2026; US-2025 = United States · 2025; UK-2027 = United Kingdom · 2026–27; UK-2026 = United King…
- `trade_history_account` (string): Optional: the subaccount address the trade history file belongs to (from coverage.subaccounts). Omit for the main account's file.
- `trade_history_csv` (string): Optional: the text of a trade history CSV the user exported from Hyperliquid (Trade History, Export as CSV). Hyperliquid's API serves only about a wallet's most recent 10,000 fills, so for very activ…
- `type` (string)
- `unlock_token` (string): Unlock token returned by buy_report (or the website after paying), for wallets bought without an API key
- `venue` (string): Venue key: hl (perps), hip3:<dex> (e.g. hip3:xyz), spot, outcome (HIP-4 outcome markets), vault, staking, evm (HyperEVM), pt (papertrade), fork, core (deposits and transfers); a subaccount's venues a…

### `export_tax_file` (~612 tokens)

Export a tax file

Koinly universal CSV, Crypto Tax Calculator advanced CSV, Cryptact custom file (JST, priced in yen by Cryptact), plain-text accountant summary, or the audit pack (audit = JSON with every figure tied to its transaction hash, a rules version and a data fingerprint; auditpdf = the printable PDF). Live wallets need paid access (API key or paid report). Large files are cut short with a download link.

Input parameters:

- `address` (string, required): Public Hyperliquid wallet address
- `format` (string)
- `jurisdiction` (string): Used when tax_year is not given. AU = 1 Jul–30 Jun; US, CA, JP and ES = calendar year; UK = 6 Apr–5 Apr; NZ = 1 Apr–31 Mar
- `sample` (boolean): Return deterministic sample data instead of reading Hyperliquid
- `save_wallet` (boolean): With a Trader or Accountant plan API key: add this wallet to the plan if it is not on it yet (uses one of the plan's 10 wallets or a client seat). Without it, a wallet not on the plan gets the previe…
- `tax_year` (string): Tax year. AU-2027 = Australia · FY 2026–27; AU-2026 = Australia · FY 2025–26; US-2026 = United States · 2026; US-2025 = United States · 2025; UK-2027 = United Kingdom · 2026–27; UK-2026 = United King…
- `trade_history_account` (string): Optional: the subaccount address the trade history file belongs to (from coverage.subaccounts). Omit for the main account's file.
- `trade_history_csv` (string): Optional: the text of a trade history CSV the user exported from Hyperliquid (Trade History, Export as CSV). Hyperliquid's API serves only about a wallet's most recent 10,000 fills, so for very activ…
- `unlock_token` (string): Unlock token returned by buy_report (or the website after paying), for wallets bought without an API key

### `explain_tax_treatment` (~105 tokens)

Explain default tax treatment

papertax's default treatment notes for Australia, the US, the UK, Canada, New Zealand, Japan or Spain, optionally for one event type. Not tax advice.

Input parameters:

- `event_type` (string)
- `jurisdiction` (string): Used when tax_year is not given. AU = 1 Jul–30 Jun; US, CA, JP and ES = calendar year; UK = 6 Apr–5 Apr; NZ = 1 Apr–31 Mar

### `create_verified_pnl` (~444 tokens)

Create a verified PnL link

Read a wallet's results for one tax year from the chain and return a public, signed link (https://papertax.xyz/v/…) with a share image, for posting on X or anywhere else. Free, and nothing is stored. Dollar amounts are included only when amounts is true. With private true (the default) the wallet address is left out of the link and the page; with private false the page shows it, so check with the user first. It proves what the wallet did, not who owns it.

Input parameters:

- `address` (string, required): Public Hyperliquid wallet address
- `amounts` (boolean): Include net result, gains, losses and fees
- `jurisdiction` (string): Used when tax_year is not given. AU = 1 Jul–30 Jun; US, CA, JP and ES = calendar year; UK = 6 Apr–5 Apr; NZ = 1 Apr–31 Mar
- `private` (boolean): Leave the wallet address out of the link and page
- `tax_year` (string): Tax year. AU-2027 = Australia · FY 2026–27; AU-2026 = Australia · FY 2025–26; US-2026 = United States · 2026; US-2025 = United States · 2025; UK-2027 = United Kingdom · 2026–27; UK-2026 = United King…

### `buy_report` (~486 tokens)

Buy a tax report

Buy the full report for one wallet and tax year ($29 up to 500 events, $59 up to 5,000, $99 above; upgrades charge the difference). method "card" charges the account owner's saved card: needs Authorization: Bearer ptx_… and the owner's opt-in; set max_price_cents to cap it. method "usdc" returns a quote: send exactly that USDC amount on HyperEVM (chain 999) to the given address, then call again with quote_id and tx_hash. (x402 clients can instead pay in USDC on Base or Solana at GET https://papertax.xyz/api/buy?address=…&year=….) Returns an unlock_token and export links. This spends money: confirm with the user first.

Input parameters:

- `address` (string): Public Hyperliquid wallet address
- `max_price_cents` (integer): Card only: refuse if the price is higher than this
- `method` (string)
- `quote_id` (string): USDC step 2: the quote_id from step 1
- `tax_year` (string): Tax year. AU-2027 = Australia · FY 2026–27; AU-2026 = Australia · FY 2025–26; US-2026 = United States · 2026; US-2025 = United States · 2025; UK-2027 = United Kingdom · 2026–27; UK-2026 = United King…
- `tx_hash` (string): USDC step 2: the HyperEVM transaction hash of the transfer

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/awakeweb3-papertax/papertax#diagnostics

## Score history

- 2026-11-05: 80
- 2026-11-04: 79
- 2026-11-03: 79
- 2026-11-02: 78
- 2026-11-01: 78
- 2026-10-31: 77
- 2026-10-30: 77
- 2026-10-29: 76
- 2026-10-28: 76
- 2026-10-27: 75
- 2026-10-26: 75
- 2026-10-25: 75
- 2026-10-24: 75
- 2026-10-23: 74
- 2026-10-22: 74
- 2026-10-21: 73
- 2026-10-20: 73
- 2026-10-19: 72
- 2026-10-18: 70
- 2026-10-17: 69
- 2026-10-16: 69

## Common questions

### What is the papertax MCP server?

papertax is an MCP server listed in the public MCP registry as io.github.AwakeWeb3/papertax. Hyperliquid tax reports and Koinly/CTC exports for agents. This page covers its hosted endpoint (https://papertax.xyz/mcp).

### Is the papertax MCP server safe to use?

papertax scores 80 out of 100 on VerifyMCP. 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 papertax MCP server expose?

papertax exposes 6 tools: get_tax_summary, get_ledger_events, export_tax_file, explain_tax_treatment, create_verified_pnl, buy_report. Their descriptions and schemas cost roughly 2,896 tokens of context every time the server is loaded.

### Does the papertax MCP server require authentication?

No. We connected to papertax without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the papertax MCP server still maintained?

papertax 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.

## Links

- Remote endpoint: https://papertax.xyz/mcp
- Website: https://papertax.xyz/
- Changelog RSS feed: https://verifymcp.io/servers/awakeweb3-papertax/papertax.xml
- Changelog JSON feed: https://verifymcp.io/servers/awakeweb3-papertax/papertax.json
- HTML version of this page: https://verifymcp.io/servers/awakeweb3-papertax/papertax
