cryptotaxedge

US tax classification for on-chain transactions: category, treatment, confidence, review flags.

使うべきか

品質と安全性

B
説明の品質
93%
スキーマの完全性
98%
命名の品質
80%
ポイズニングのリスク
60%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(4)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainclassify_transaction 内
  • MEDIUMTool description contains URL to non-standard domainclassify_batch 内
  • LOWTool 'lookup_contract' description lacks action verblookup_contract 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,350トークン数(ツール定義)
~4.7 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.84%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "cryptotaxedge": {
      "url": "https://mcp.cryptotaxedge.com/"
    }
  }
}

リモートエンドポイント

https://mcp.cryptotaxedge.com/streamable-http

できること

ツール一覧

ツール(4)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢classify_transaction(tx_hash, chain, contract_address, function_selector)

Classify a single blockchain transaction using CryptoTaxEdge's multi-source consensus engine, the same engine and serve semantics as the public REST /v1/classify endpoint. Returns the /v1 contract fields: category (the open vocabulary the engine emits, for example swap, transfer, staking, reward, airdrop, income_receipt, fee_payment, borrow, repay, collateral_supply, collateral_withdraw, liquidity_add, liquidity_remove, wrap, unwrap, liquid_staking_mint, bridge_transfer, nft_mint, spam, unclassified; the full set with house treatments is at https://cryptotaxedge.com/standard/#categories and grows additively, so branch exhaustive logic on treatment, never on category), treatment (closed enum: disposal, income, non_taxable, expense, needs_review; needs_review means no treatment is asserted and taxable is null), taxable, confidence, needs_review, ledger_action, protocol, description (plain-English reasoning, also returned as explanation for existing clients) and, on hash lookups, assets (sent, received, gas). Works for EVM chains and Solana. Provide tx_hash (chain optional, auto-detected), or contract_address + function_selector + chain for a rule-library tuple lookup.

入力スキーマ

{
  "type": "object",
  "properties": {
    "tx_hash": {
      "type": "string",
      "description": "Transaction hash (0x-prefixed 66-char for EVM, base-58 for Solana). Either tx_hash OR contract_address is required."
    },
    "chain": {
      "type": "string",
      "description": "Chain slug (e.g. \"ethereum\", \"polygon\", \"bsc\", \"arbitrum\", \"base\", \"optimism\", \"avalanche\", \"solana\"). Optional for tx_hash lookups; the engine auto-detects the chain. REQUIRED for contract_address lookups."
    },
    "contract_address": {
      "type": "string",
      "description": "(Optional) 0x-prefixed contract address the transaction called. With function_selector + chain, performs a rule-library tuple lookup."
    },
    "function_selector": {
      "type": "string",
      "description": "(Optional) 0x-prefixed 4-byte function selector (first 4 bytes of tx input data)."
    }
  },
  "required": []
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "description": "Canonical category. Open vocabulary that only grows additively; tolerate unfamiliar values and branch exhaustive logic on treatment instead. Full set with house treatments: https://cryptotaxedge.com/standard/#categories"
    },
    "treatment": {
      "type": "string",
      "enum": [
        "disposal",
        "income",
        "non_taxable",
        "expense",
        "needs_review"
      ],
      "description": "Closed five-value tax treatment enum, safe to switch on exhaustively. needs_review means no treatment is asserted."
    },
    "taxable": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "null when needs_review"
    },
    "confidence": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "needs_review": {
      "type": "boolean"
    },
    "ledger_action": {
      "type": [
        "string",
        "null"
      ],
      "description": "Suggested ledger label for posting, same field as REST /v1."
    },
    "protocol": {
      "type": [
        "string",
        "null"
      ]
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "Plain-English reasoning for the verdict, same field as REST /v1."
    },
    "explanation": {
      "type": [
        "string",
        "null"
      ],
      "description": "Deprecated alias of description, kept for existing clients."
    },
    "assets": {
      "type": "object",
      "description": "Net asset movements, same shape as REST /v1: sent and received legs plus the gas leg (null when not attributable). Present when the engine response carries them.",
      "properties": {
        "sent": {
          "type": "array"
        },
        "received": {
          "type": "array"
        },
        "gas": {
          "type": [
            "object",
            "null"
          ]
        }
      }
    }
  },
  "required": [
    "category",
    "treatment",
    "confidence",
    "needs_review"
  ]
}
🟢lookup_contract(address, chain)

Look up a smart contract in CryptoTaxEdge's registry. Returns protocol metadata, contract type, verified ABI availability, label, and category hints. Use before deciding whether to classify a tx.

入力スキーマ

{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Contract address (0x-prefixed 42-char for EVM)."
    },
    "chain": {
      "type": "string",
      "description": "Chain slug (e.g. \"ethereum\", \"polygon\", \"arbitrum\"). EVM only."
    }
  },
  "required": [
    "address",
    "chain"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "protocol": {
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "type": [
        "string",
        "null"
      ]
    },
    "category": {
      "type": [
        "string",
        "null"
      ]
    },
    "chain": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
🟢classify_batch(transactions, engagement_id, firm_id)

Classify a batch of blockchain transactions (up to 100) using CryptoTaxEdge's classification engine. Built for accounting platforms integrating CryptoTaxEdge as their classification layer. Returns per-transaction: category (the open vocabulary the engine emits, for example swap, transfer, staking, reward, airdrop, income_receipt, fee_payment, borrow, repay, collateral_supply, collateral_withdraw, liquidity_add, liquidity_remove, wrap, unwrap, liquid_staking_mint, bridge_transfer, nft_mint, spam, unclassified; the full set with house treatments is at https://cryptotaxedge.com/standard/#categories and grows additively, so branch exhaustive logic on treatment, never on category), treatment (closed enum: disposal, income, non_taxable, expense, needs_review; needs_review means no treatment is asserted), tax_category (the engine's stored treatment value, kept for existing hosts), taxable, confidence score, needs_review, ledger_action, protocol, description (plain-English reasoning, also returned as explanation for existing clients), assets (sent, received, gas) and a reliability envelope with an explicit route-to-review flag. Complex multi-step transactions (flash loans, batch NFT sales, bridges, DCA programs) additionally return a per-leg breakdown and a preparer-ready memo with IRS citations. EVM + Solana. Pass engagement_id / firm_id to apply firm-specific classification policy when configured.

入力スキーマ

{
  "type": "object",
  "properties": {
    "transactions": {
      "type": "array",
      "description": "Array of transactions to classify (max 100 per call).",
      "maxItems": 100,
      "items": {
        "type": "object",
        "properties": {
          "tx_id": {
            "type": "string",
            "description": "(Optional) your own ID for this tx; echoed back so you can correlate results to your records."
          },
          "tx_hash": {
            "type": "string",
            "description": "Transaction hash (0x-prefixed 66-char for EVM, base-58 for Solana)."
          },
          "chain": {
            "type": "string",
            "description": "Chain slug (e.g. \"ethereum\", \"polygon\", \"bsc\", \"arbitrum\", \"base\", \"optimism\", \"avalanche\", \"solana\"). Optional; CryptoTaxEdge auto-detects the chain if omitted."
          }
        },
        "required": [
          "tx_hash"
        ]
      }
    },
    "engagement_id": {
      "type": "string",
      "description": "(Optional) host-side engagement identifier. Reserved for firm-policy + engagement-record correlation. No effect today; forward-compatible."
    },
    "firm_id": {
      "type": "string",
      "description": "(Optional) host-side firm identifier. When firm classification policy is configured, applies that firm's confidence thresholds + CoA overrides."
    }
  },
  "required": [
    "transactions"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string",
            "description": "Canonical category. Open vocabulary that only grows additively; tolerate unfamiliar values and branch exhaustive logic on treatment instead. Full set with house treatments: https://cryptotaxedge.com/standard/#categories"
          },
          "treatment": {
            "type": "string",
            "enum": [
              "disposal",
              "income",
              "non_taxable",
              "expense",
              "needs_review"
            ],
            "description": "Closed five-value tax treatment enum, safe to switch on exhaustively. needs_review means no treatment is asserted."
          },
          "taxable": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "null when needs_review"
          },
          "confidence": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "needs_review": {
            "type": "boolean"
          },
          "ledger_action": {
            "type": [
              "string",
              "null"
            ],
            "description": "Suggested ledger label for posting, same field as REST /v1."
          },
          "protocol": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Plain-English reasoning for the verdict, same field as REST /v1."
          },
          "explanation": {
            "type": [
              "string",
              "null"
            ],
            "description": "Deprecated alias of description, kept for existing clients."
          },
          "assets": {
            "type": "object",
            "description": "Net asset movements, same shape as REST /v1: sent and received legs plus the gas leg (null when not attributable). Present when the engine response carries them.",
            "properties": {
              "sent": {
                "type": "array"
              },
              "received": {
                "type": "array"
              },
              "gas": {
                "type": [
                  "object",
                  "null"
                ]
              }
            }
          }
        },
        "required": [
          "category",
          "treatment",
          "confidence",
          "needs_review"
        ]
      }
    }
  },
  "required": [
    "results"
  ]
}
🟢map_to_chart_of_accounts(transactions, chart_of_accounts)

Map classified blockchain transactions into journal-entry-ready ledger lines against a chart of accounts. For each transaction (up to 100): debit account, credit account, optional gain/loss plug account, memo (protocol + reasoning), confidence, and a route-to-review flag, plus category roll-ups with the governing US tax authority (IRC §1001, §61, Rev. Rul. 2019-24, Rev. Rul. 2023-14, etc.). Pass your own chart_of_accounts (array of {name, type}) and the tool maps to YOUR account names; omit it for a standard crypto-treasury chart. Suggested, non-binding entries: the ledger platform owns amounts, cost basis, and posting.

入力スキーマ

{
  "type": "object",
  "properties": {
    "transactions": {
      "type": "array",
      "maxItems": 100,
      "description": "Transactions to classify + map (max 100 per call).",
      "items": {
        "type": "object",
        "properties": {
          "tx_id": {
            "type": "string",
            "description": "Your row id, echoed back."
          },
          "hash": {
            "type": "string",
            "description": "On-chain transaction hash (0x…64 hex)."
          },
          "chain": {
            "type": "string",
            "description": "Chain slug, e.g. ethereum, polygon, base, arbitrum, optimism, bsc, avalanche."
          },
          "fiat_amount": {
            "type": "number",
            "description": "Optional fiat value for the roll-ups."
          }
        },
        "required": [
          "hash"
        ]
      }
    },
    "chart_of_accounts": {
      "type": "array",
      "description": "Optional: your chart of accounts as [{name, type}]. Account names are pattern-matched per role (digital assets, income, fees, realized G/L, collateral, LP positions, loan payable). Omit for the standard chart.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        }
      }
    }
  },
  "required": [
    "transactions"
  ]
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "account": {
      "type": [
        "string",
        "null"
      ]
    },
    "mapping_basis": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 4 件
検証済みバージョンは記録されていませんツール 4 件