papertax
REMOTE · PAPERTAX.XYZ
Hyperliquid tax reports and Koinly/CTC exports for agents
Available components
Last scanned (2 hours ago)
Scores higher than 81% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Finance and Payments
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. How we score → Why this is hard to score →
Endpoint Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability52
- AI-judged instruction clarity (good).Pass
- 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. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management67
- Stability observed for 20 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage96
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 88% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 +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.
- 3 Nov 26 +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.
- 1 Nov 26 +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.
- 30 Oct 26 +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.
- 28 Oct 26 +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.
- 26 Oct 26 0
- Endpoint reachability: reachable → not serving MCP ▼ security
- Stability: 0.30 → unverified ▼ security
- Authorization: partial → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Tool “get_top_traders” was removed ▼ security
- Tool “get_games” was removed ▼ security
- Tool “get_papertrade_positions” was removed ▼ security
- Tool “get_papertrade_results” was removed ▼ security
- 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 security
- Schema quality: 386 → 594 ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Endpoint reachability: not serving MCP → reachable ▲ functional
- First check of Schema quality: unverified functional
- Server version: 0.16.0 → 0.17.0 functional
- “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” cosmetic
- 24 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- 22 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://papertax.xyz/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=papertax.xyz | CN=YR1,O=Let's Encrypt,C=US | 16 Oct 2026 | 14 Jan 2027 | RSA 2048 | SHA256-RSA | 6a0a62bd23b71c8e0dc910a0a0e2379b7e6 |
| SANs: papertax.xyz | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of papertax.xyz. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| xyz. | present | 3599, 18130 | 8, 8 | Verified |
| papertax.xyz. | present | 20950 | 8 | Verified |
| papertax.xyz. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: https://pbs.twimg.com; connect-src 'self' https://rpc.hyperliquid-testnet.xyz wss://api.hyperliquid.xyz https://exchange.papertrade.xyz https://rpc.hyperliquid.xyz wss://relay.walletconnect.org https://rpc.walletconnect.org https://pulse.walletconnect.org https://verify.walletconnect.org https://verify.walletconnect.com; frame-src 'self' https://verify.walletconnect.org https://verify.walletconnect.com; frame-ancestors 'none'; base-uri 'self'; form-action 'self' https://checkout.stripe.com https://billing.stripe.com; object-src 'none'; upgrade-insecure-requests |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=(), usb=(), interest-cohort=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://papertax.xyz/mcp | Verified | 200 | |
| http (plaintext) | http://papertax.xyz/mcp | HTTPS enforced | 308 | https://papertax.xyz/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
buy_report Buy a tax report ~486
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 |
No output schema declared.
No examples provided.
create_verified_pnl Create a verified PnL link ~444
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | 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… |
No output schema declared.
No examples provided.
explain_tax_treatment Explain default tax treatment ~105
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.
| Name | Type | Req | Description |
|---|---|---|---|
| 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 |
No output schema declared.
No examples provided.
export_tax_file Export a tax file ~612
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | 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 |
No output schema declared.
No examples provided.
get_ledger_events Ledger events ~704
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | 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… |
No output schema declared.
No examples provided.
get_tax_summary Tax summary for a wallet ~545
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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | 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 |
No output schema declared.
No examples provided.
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.
remote · papertax.xyz
claude mcp add --transport http awakeweb3-papertax 'https://papertax.xyz/mcp'
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.