# @cryptoapis-io/mcp-transactions-data

> MCP server for transaction lookup across EVM, UTXO, Solana, XRP, Kaspa via Crypto APIs

Latest version **0.4.0** (published 2026-09-24) · MIT license · 0 weekly downloads

## Install

```sh
npm install @cryptoapis-io/mcp-transactions-data
pnpm add @cryptoapis-io/mcp-transactions-data
yarn add @cryptoapis-io/mcp-transactions-data
bun add @cryptoapis-io/mcp-transactions-data
```

Provides the command `cryptoapis-mcp-transactions-data`.

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.4.0 |
| Published | 2026-09-24 |
| First published | 2026-03-02 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 95.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Crypto APIs, Inc. |
| Maintainers | crypto-apis |
| Keywords | mcp, cryptoapis, blockchain, transactions, evm, utxo, solana, xrp, kaspa |

## Links

- npm: https://www.npmjs.com/package/@cryptoapis-io/mcp-transactions-data
- Repository: https://github.com/CryptoAPIs-io/cryptoapis-mcp-transactions-data
- Homepage: https://github.com/CryptoAPIs-io/cryptoapis-mcp-transactions-data#readme
- Issues: https://github.com/CryptoAPIs-io/cryptoapis-mcp-transactions-data/issues
- npm.io page: https://npm.io/package/@cryptoapis-io/mcp-transactions-data

## Dependencies (3)

- [zod](https://npm.io/package/zod.md) ^3.25.0
- [@cryptoapis-io/mcp-shared](https://npm.io/package/@cryptoapis-io/mcp-shared.md) 0.4.0
- [@modelcontextprotocol/sdk](https://npm.io/package/@modelcontextprotocol/sdk.md) ^1.27.1

## Alternatives

- [@gemini-wallet/core](https://npm.io/package/@gemini-wallet/core.md) — 515.6K weekly downloads
- [utility](https://npm.io/package/utility.md) — 416.6K weekly downloads
- [@primno/dpapi](https://npm.io/package/@primno/dpapi.md) — 7.2K weekly downloads
- [pi-readseek](https://npm.io/package/pi-readseek.md) — 3.7K weekly downloads
- [@emilia-protocol/verify](https://npm.io/package/@emilia-protocol/verify.md) — 1.1K weekly downloads

## Recent versions

- 0.4.0 (latest) — 2026-09-24
- 0.3.0 — 2026-03-13
- 0.2.4 — 2026-03-05
- 0.2.3 — 2026-03-05
- 0.2.2 — 2026-03-05
- 0.2.1 — 2026-03-04
- 0.2.0 — 2026-03-04
- 0.1.0 — 2026-03-02

## README

# @cryptoapis-io/mcp-transactions-data

MCP server for [Crypto APIs](https://cryptoapis.io/) Transactions Data product. Look up transaction details by hash across EVM, UTXO, Solana, XRP, and Kaspa blockchains.

> **API Version:** Compatible with Crypto APIs version **2024-12-12**

## Features

- UTXO: Get transaction details and raw transaction data (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash)
- EVM: Get transaction details, internal transactions, token transfers, and logs (Ethereum, Ethereum Classic, BSC, Polygon, Avalanche (C-Chain), Arbitrum, Base, Optimism, Tron)
- Solana: Get transaction details by signature
- XRP: Get transaction details
- Kaspa: Get transaction details by transaction ID

## Prerequisites

- Node.js 18+
- [Crypto APIs](https://cryptoapis.io/) account and API key ([sign up](https://app.cryptoapis.io/signup) | [get API key](https://app.cryptoapis.io/api-keys))

## Installation

```bash
npm install @cryptoapis-io/mcp-transactions-data
```

Or install all Crypto APIs MCP servers: `npm install @cryptoapis-io/mcp`

## Usage

```bash
# Run with API key
npx @cryptoapis-io/mcp-transactions-data --api-key YOUR_API_KEY

# Or use environment variable
export CRYPTOAPIS_API_KEY=YOUR_API_KEY
npx @cryptoapis-io/mcp-transactions-data

# HTTP transport (listens on 127.0.0.1; see "Exposing the server beyond localhost")
npx @cryptoapis-io/mcp-transactions-data --transport http --port 3000 --api-key YOUR_API_KEY
```

### Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS, `%APPDATA%\Claude\claude_desktop_config.json` on Windows):

```json
{
  "mcpServers": {
    "cryptoapis-transactions-data": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-transactions-data"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

### Cursor

Add to `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global):

```json
{
  "mcpServers": {
    "cryptoapis-transactions-data": {
      "command": "npx",
      "args": ["-y", "@cryptoapis-io/mcp-transactions-data"],
      "env": {
        "CRYPTOAPIS_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

### MCP Inspector

```bash
npx @modelcontextprotocol/inspector npx @cryptoapis-io/mcp-transactions-data --api-key YOUR_API_KEY
```

### n8n

1. Start the server in HTTP mode:
   ```bash
   npx @cryptoapis-io/mcp-transactions-data --transport http --port 3000 --api-key YOUR_API_KEY
   ```
2. In your n8n workflow, add an **AI Agent** node
3. Under **Tools**, add an **MCP Client Tool** and set the URL to `http://localhost:3000/mcp`

> **n8n in Docker:** `localhost` inside the container is not your machine. Start the server with `--host 0.0.0.0` and `MCP_AUTH_TOKEN` set (see [Exposing the server beyond localhost](#exposing-the-server-beyond-localhost)), use `http://host.docker.internal:3000/mcp` as the URL, and add an `Authorization: Bearer <token>` header to the MCP Client Tool credential.

> All servers default to port 3000. Use `--port` to assign different ports when running multiple servers.

## Available Tools

### `transactions_data_utxo`

UTXO transaction details (Bitcoin, Bitcoin Cash, Litecoin, Dogecoin, Dash, Zcash).

| Action | Description |
|--------|-------------|
| `get-transaction-details` | Get transaction details by hash |
| `get-raw-transaction-data` | Get raw transaction data by hash |

### `transactions_data_evm`

EVM transaction details (Ethereum, Ethereum Classic, BSC, Polygon, Avalanche (C-Chain), Arbitrum, Base, Optimism, Tron).

| Action | Description |
|--------|-------------|
| `get-transaction-details` | Get transaction details by hash |
| `list-internal-transactions` | List internal transactions by hash |
| `list-token-transfers` | List token transfers by hash |
| `list-logs` | List event logs by hash |

### `transactions_data_solana`

Solana transaction details (mainnet, devnet).

| Parameter | Description |
|-----------|-------------|
| `network` | Network (mainnet, devnet) |
| `transactionHash` | Transaction signature |

### `transactions_data_xrp`

XRP transaction details (mainnet, testnet).

| Parameter | Description |
|-----------|-------------|
| `network` | Network (mainnet, testnet) |
| `transactionHash` | Transaction hash |

### `transactions_data_kaspa`

Kaspa transaction details (mainnet).

| Parameter | Description |
|-----------|-------------|
| `network` | Network (mainnet) |
| `transactionId` | Transaction ID |

## CLI Arguments

| Argument | Description | Default |
|----------|-------------|---------|
| `--api-key` | Crypto APIs API key | `CRYPTOAPIS_API_KEY` env var |
| `--transport` | Transport type: `stdio` or `http` | `stdio` |
| `--host` | HTTP host (use `0.0.0.0` to accept remote connections — requires an auth token with `--api-key`) | `127.0.0.1` |
| `--auth-token` | Bearer token callers must send (`Authorization: Bearer <token>`); prefer the `MCP_AUTH_TOKEN` env var | `MCP_AUTH_TOKEN` env var |
| `--allowed-hosts` | Comma-separated `Host` header allowlist for non-loopback binds | — |
| `--port` | HTTP port | `3000` |
| `--path` | HTTP path | `/mcp` |
| `--stateless` | Enable stateless HTTP mode | `false` |

### HTTP API Key Modes

When using HTTP transport, the server supports two API key modes:

- **With `--api-key`:** The key is used for all requests. `x-api-key` request headers are ignored.
- **Without `--api-key`:** Each request must include an `x-api-key` header with a valid Crypto APIs key. This enables hosting a public server where each user provides their own key.

```bash
# Per-request key mode (multi-tenant)
npx @cryptoapis-io/mcp-transactions-data --transport http --port 3000
# Clients send x-api-key header with each request
```

### Exposing the server beyond localhost

HTTP mode listens on `127.0.0.1` by default, so only processes on the same machine can reach it.
To accept connections from other machines or containers, bind explicitly and protect the port:

```bash
# Startup-key mode: callers must present the token (the server refuses to start without one)
export MCP_AUTH_TOKEN=$(openssl rand -hex 32)
npx @cryptoapis-io/mcp-transactions-data --transport http --host 0.0.0.0 --port 3000 --api-key YOUR_API_KEY \
  --allowed-hosts mcp.internal.example
# Clients send: Authorization: Bearer $MCP_AUTH_TOKEN

# Per-request key mode: no startup key, every request must carry the caller's own x-api-key
npx @cryptoapis-io/mcp-transactions-data --transport http --host 0.0.0.0 --port 3000
```

`--allowed-hosts` restricts the `Host` header (DNS rebinding protection) when not bound to loopback. Prefer `MCP_AUTH_TOKEN` over `--auth-token`: command-line arguments are visible in the process list.

> Stdio transport always requires an API key at startup.

## Important: API Key Required

> **Warning:** Making requests without a valid API key — or with an incorrect one — may result in your IP being banned from the Crypto APIs ecosystem. Always ensure a valid API key is configured before starting any server.

## Remote MCP Server

Crypto APIs provides an official remote MCP server with all tools available via HTTP Streamable transport at [https://ai.cryptoapis.io/mcp](https://ai.cryptoapis.io/mcp). Pass your API key via the `x-api-key` header — no installation required.

## License

MIT

---
_Source: https://npm.io/package/@cryptoapis-io/mcp-transactions-data · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
