# io.github.ExpertVagabond/ordinals (npm · ordinals-mcp)

Bitcoin Ordinals MCP Server — inscriptions, runes, BRC-20, collections & rare sats

- Trust score: 70/100 (medium)
- Change this week: +24
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `ordinals-mcp`: 70/100 (this document), [markdown](https://verifymcp.io/servers/expertvagabond-ordinals/ordinals-mcp.md), [page](https://verifymcp.io/servers/expertvagabond-ordinals/ordinals-mcp)

## Channel facts

- Registry: `npm`
- Package: `ordinals-mcp`
- Version: `0.1.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-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 140 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 81/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 1623 tokens (~67/item across 24 items; 24 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add expertvagabond-ordinals -- npx -y ordinals-mcp
```

### Codex

```bash
codex mcp add expertvagabond-ordinals -- npx -y ordinals-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "expertvagabond-ordinals": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "ordinals-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add expertvagabond-ordinals --command npx --arg -y --arg ordinals-mcp
```

### Hermes

```yaml
mcp_servers:
  expertvagabond-ordinals:
    command: "npx"
    args: ["-y", "ordinals-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "expertvagabond-ordinals": {
      "command": "npx",
      "args": [
        "-y",
        "ordinals-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-08-02 (score 70, +26)

- [security improvement] Malware scan: unverified → pass
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] Stability: unverified → 0.23

### 2026-08-01 (score 44, +16)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 28, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 46)

First indexed and scored.

## MCP tools (24)

### `get_inscription` (~61 tokens)

Get detailed metadata for a Bitcoin Ordinals inscription by its ID or number. Returns owner address, content type, sat rarity, genesis info, and more.

Input parameters:

- `id` (string, required): Inscription ID ({txid}i{index}) or inscription number

### `search_inscriptions` (~172 tokens)

Search and list Bitcoin Ordinals inscriptions with filters. Filter by address, MIME type, sat rarity, block range, inscription number range, recursive/cursed status.

Input parameters:

- `address` (string): Filter by owner Bitcoin address
- `cursed` (boolean): Filter cursed inscriptions
- `from_block` (number): Start block height
- `from_number` (number): Start inscription number
- `limit` (number): Results per page (max 60)
- `mime_type` (string): Filter by MIME type (e.g., image/png, text/plain)
- `offset` (number): Pagination offset
- `rarity` (string): Filter by sat rarity
- `recursive` (boolean): Filter recursive inscriptions
- `to_block` (number): End block height
- `to_number` (number): End inscription number

### `get_inscription_content` (~57 tokens)

Get the raw content of a Bitcoin Ordinals inscription. Returns text content directly or base64-encoded binary data with content type.

Input parameters:

- `id` (string, required): Inscription ID ({txid}i{index}) or inscription number

### `get_inscription_transfers` (~79 tokens)

Get the transfer history for a Bitcoin Ordinals inscription. Shows each transfer with block, address, transaction, and timestamp.

Input parameters:

- `id` (string, required): Inscription ID ({txid}i{index}) or inscription number
- `limit` (number): Results per page (max 60)
- `offset` (number): Pagination offset

### `get_address_inscriptions` (~80 tokens)

Get all Ordinals inscriptions owned by a Bitcoin address. Returns inscription IDs, numbers, content types, and sat rarity.

Input parameters:

- `address` (string, required): Bitcoin address (bc1p..., bc1q..., 1..., 3...)
- `limit` (number): Results per page (max 60)
- `offset` (number): Pagination offset

### `get_brc20_balances` (~66 tokens)

Get BRC-20 token balances for a Bitcoin address. Returns available, transferrable, and overall balance for each token.

Input parameters:

- `address` (string, required): Bitcoin address
- `limit` (number): Results per page
- `offset` (number): Pagination offset

### `get_rune_balances` (~61 tokens)

Get Rune token balances for a Bitcoin address. Returns rune name, symbol, and balance for each rune held.

Input parameters:

- `address` (string, required): Bitcoin address
- `limit` (number): Results per page
- `offset` (number): Pagination offset

### `get_address_rare_sats` (~79 tokens)

Get rare satoshis held by a Bitcoin address. Returns sat ordinal number, rarity level (uncommon/rare/epic/legendary/mythic), and UTXO location.

Input parameters:

- `address` (string, required): Bitcoin address
- `limit` (number): Results per page
- `offset` (number): Pagination offset

### `get_sat_info` (~61 tokens)

Get information about a specific satoshi by its ordinal number. Returns rarity level, epoch, cycle, period, name, and any inscription on it.

Input parameters:

- `ordinal` (string, required): Satoshi ordinal number (e.g., 1857578125803250)

### `get_brc20_token` (~63 tokens)

Get details for a BRC-20 token by ticker. Returns max supply, minted supply, mint limit, decimals, deploy inscription, and transaction count.

Input parameters:

- `ticker` (string, required): BRC-20 token ticker (e.g., ordi, sats)

### `get_rune_info` (~61 tokens)

Get details for a Bitcoin Rune by name. Returns symbol, divisibility, supply, premine, mint terms, and etching transaction.

Input parameters:

- `name` (string, required): Rune name (e.g., UNCOMMON•GOODS or UNCOMMONGOODS)

### `get_collection_info` (~57 tokens)

Get details for an Ordinals collection. Returns name, description, inscription count, floor price, volume, and owner count.

Input parameters:

- `slug` (string, required): Collection slug/symbol (e.g., bitcoin-puppets, nodemonkes)

### `get_collection_inscriptions` (~60 tokens)

List inscriptions in an Ordinals collection. Returns inscription IDs, numbers, content types, and owners.

Input parameters:

- `limit` (number): Results per page
- `offset` (number): Pagination offset
- `slug` (string, required): Collection slug/symbol

### `get_collection_listings` (~63 tokens)

Get active marketplace listings for an Ordinals collection on Magic Eden. Returns listed inscriptions with prices in BTC.

Input parameters:

- `collection_symbol` (string, required): Collection symbol on Magic Eden
- `limit` (number): Results per page
- `offset` (number): Pagination offset

### `get_inscription_traits` (~50 tokens)

Get trait information for a collection inscription. Returns trait types and values (e.g., background, body, eyes).

Input parameters:

- `id` (string, required): Inscription ID ({txid}i{index})

### `get_rune_market_info` (~56 tokens)

Get market data for a Bitcoin Rune. Returns price in USD, market cap, and 24h volume.

Input parameters:

- `name` (string, required): Rune name (e.g., UNCOMMON•GOODS or UNCOMMONGOODS)

### `list_runes` (~58 tokens)

List Bitcoin Runes with pagination. Returns rune name, symbol, supply, divisibility, mint terms, and etching info.

Input parameters:

- `limit` (number): Results per page (max 60)
- `offset` (number): Pagination offset

### `get_rune_holders` (~70 tokens)

Get top holders of a Bitcoin Rune. Returns addresses and balances sorted by amount held.

Input parameters:

- `limit` (number): Results per page
- `name` (string, required): Rune name (e.g., UNCOMMON•GOODS or UNCOMMONGOODS)
- `offset` (number): Pagination offset

### `get_rune_activity` (~79 tokens)

Get recent activity (mints, transfers, burns) for a Bitcoin Rune. Returns operation type, addresses, amounts, and timestamps.

Input parameters:

- `limit` (number): Results per page
- `name` (string, required): Rune name (e.g., UNCOMMON•GOODS or UNCOMMONGOODS)
- `offset` (number): Pagination offset

### `get_rune_unlock_date` (~43 tokens)

Check when a rune name becomes available for etching. Returns unlock block height and estimated date.

Input parameters:

- `name` (string, required): Rune name to check availability for

### `get_brc20_activity` (~91 tokens)

Get BRC-20 token activity (deploy, mint, transfer events). Filter by ticker, address, or operation type.

Input parameters:

- `address` (string): Filter by Bitcoin address
- `limit` (number): Results per page
- `offset` (number): Pagination offset
- `operation` (string): Filter by operation type
- `ticker` (string): Filter by BRC-20 ticker

### `get_brc20_holders` (~72 tokens)

Get top holders of a BRC-20 token. Returns addresses and balances sorted by amount held.

Input parameters:

- `limit` (number): Results per page
- `offset` (number): Pagination offset
- `ticker` (string, required): BRC-20 token ticker (e.g., ordi, sats)

### `get_tx_inscriptions` (~42 tokens)

Get all Ordinals inscriptions contained in a Bitcoin transaction. Returns inscription IDs, numbers, and content types.

Input parameters:

- `txid` (string, required): Bitcoin transaction ID

### `get_tx_runes` (~42 tokens)

Get all Rune transfers in a Bitcoin transaction. Returns rune names, amounts, addresses, and operation types.

Input parameters:

- `txid` (string, required): Bitcoin transaction ID

## Diagnostics

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

## Score history

- 2026-08-03: 70
- 2026-08-02: 70
- 2026-08-01: 44
- 2026-07-31: 28
- 2026-07-30: 46
- 2026-07-28: 46
- 2026-07-27: 46

## Links

- npm package: https://www.npmjs.com/package/ordinals-mcp
- Socket report: https://socket.dev/npm/package/ordinals-mcp
- Repository: https://github.com/ExpertVagabond/ordinals-mcp
- Changelog RSS feed: https://verifymcp.io/servers/expertvagabond-ordinals/ordinals-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/expertvagabond-ordinals/ordinals-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/expertvagabond-ordinals/ordinals-mcp
