Back to Directory/Developer Tools

io.github.ExpertVagabond/ordinals

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

Developer ToolsTypeScriptv0.1.2

ordinals-mcp

npm version License: MIT Node Tools

The most complete Bitcoin Ordinals MCP server. 24 tools covering inscriptions, runes, BRC-20 tokens, collections, rare sats, and marketplace data. Aggregates Hiro, Ordiscan, and Magic Eden APIs with intelligent caching and automatic failover.

The only alternative (ordiscan-mcp) has 25 npm downloads and covers a fraction of the surface. This server is the production-grade option.

Install

npx ordinals-mcp@latest

Or install globally:

npm install -g ordinals-mcp
ordinals-mcp

Configure

Add to your MCP config (claude_desktop_config.json or ~/.mcp.json):

{
  "mcpServers": {
    "ordinals": {
      "command": "npx",
      "args": ["-y", "ordinals-mcp@latest"],
      "env": {
        "HIRO_API_KEY": "your-key",
        "ORDISCAN_API_KEY": "your-key"
      }
    }
  }
}

At least one of HIRO_API_KEY or ORDISCAN_API_KEY is required. Both are free:

ProviderRate LimitGet Key
Hiro (primary)500 RPMplatform.hiro.so
Ordiscan (fallback)--ordiscan.com/docs/api
Magic Eden (optional)--docs.magiceden.io

Tools (24)

Inscriptions (5)

ToolDescriptionKey Params
get_inscriptionFull inscription details by ID or numberid
search_inscriptionsSearch inscriptions with filters (type, mime, date range)query, filters
get_inscription_contentRaw content of an inscriptionid
get_inscription_transfersTransfer history for an inscriptionid
get_inscription_traitsTraits and attributes of an inscriptionid

Address Queries (4)

ToolDescriptionKey Params
get_address_inscriptionsAll inscriptions held by a Bitcoin addressaddress
get_brc20_balancesBRC-20 token balances for an addressaddress
get_rune_balancesRune balances for an addressaddress
get_address_rare_satsRare satoshis held by an addressaddress

Runes (6)

ToolDescriptionKey Params
get_rune_infoDetailed rune metadata (etching, supply, holders)rune
list_runesList all runes with pagination and sortingoffset, limit
get_rune_holdersTop holders of a specific runerune
get_rune_activityRecent activity (mints, transfers, burns) for a runerune
get_rune_market_infoMarket data -- floor price, volume, listingsrune
get_rune_unlock_dateUnlock/availability date for time-locked runesrune

BRC-20 (3)

ToolDescriptionKey Params
get_brc20_tokenToken details (supply, limit, holders, deploy info)ticker
get_brc20_activityRecent activity for a BRC-20 tokenticker
get_brc20_holdersTop holders of a BRC-20 tokenticker

Collections (3)

ToolDescriptionKey Params
get_collection_infoCollection metadata, floor price, volumeslug
get_collection_inscriptionsInscriptions within a collectionslug
get_collection_listingsActive marketplace listings for a collectionslug

Sats & Transactions (3)

ToolDescriptionKey Params
get_sat_infoSat rarity, name, and inscription historysat_number
get_tx_inscriptionsInscriptions in a Bitcoin transactiontxid
get_tx_runesRune operations in a Bitcoin transactiontxid

Why This One?

  • 24 tools, full coverage. Inscriptions, runes, BRC-20, collections, rare sats, and marketplace data. No other Ordinals MCP covers all six categories.
  • Multi-API with automatic failover. Aggregates Hiro (primary, 500 RPM), Ordiscan (fallback), and Magic Eden (marketplace). If one API rate-limits, requests automatically route to the next.
  • Intelligent caching. TTLs tuned per data type -- sat rarity (24h), inscription metadata (5m), collection info (2m), balances (1m), marketplace listings (30s). Stale cache serves as last resort during outages.

Architecture

Request --> Cache (TTL + ETag)
  |--> HIT: return cached
  |--> MISS:
      |--> Hiro (primary, 500 RPM)
      |     |--> Success: cache + return
      |     |--> Rate limited: Ordiscan (fallback) --> Stale cache (last resort)
      |--> Magic Eden (marketplace-specific)

Environment Variables

VariableRequiredDescription
HIRO_API_KEYYes*Hiro API key (free)
ORDISCAN_API_KEYYes*Ordiscan API key (free)
MAGIC_EDEN_API_KEYNoHigher marketplace rate limits
CACHE_TTL_SECONDSNoDefault cache TTL (default: 300)

*At least one required.

Development

git clone https://github.com/ExpertVagabond/ordinals-mcp.git
cd ordinals-mcp
npm install
npm run build
npm run inspector    # MCP Inspector for testing

License

MIT -- Purple Squirrel Media

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y ordinals-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-expertvagabond-ordinals": {
      "command": "npx",
      "args": [
        "-y",
        "ordinals-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

ordinals-mcpnpm

Compatible MCP Clients

io.github.ExpertVagabond/ordinals works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More