ORDnet MCP Server

ORDnet MCP Server

ORDnet MCP Server enables AI agents to create permanent, censorship-resistant Web3 content on the Bitcoin SV blockchain using 1SatOrdinals. It provides tools for inscriptions, domain registration, payments, and agent identity management.

Category
访问服务器

README

ORDnet MCP Server v3.1

Enable AI agents to create Web3 content on Bitcoin SV blockchain

Version License

Overview

ORDnet MCP Server enables AI agents (Claude, GPT, etc.) to create permanent, censorship-resistant content on the Bitcoin SV blockchain using the 1SatOrdinals protocol. This is a key component of the freedom of speech infrastructure - allowing AI to autonomously publish Web3 content.

Key Features

  • 43 MCP Tools for complete blockchain content creation, payments and transfers
  • BRC-100 aligned identity (v3.0): ordnet_identity, ordnet_sign_message, ordnet_verify_message, ordnet_derive_payment_address — agent identity, off-chain signing, and per-invoice payment-address derivation as the foundation for x402
  • Agent payments: ordnet_send (P2PKH + optional OP_RETURN reference, miner fee only — x402-ready), ordnet_transfer for ordinals/domains (1SatOrdinals input-0/output-0 semantics, outpoint verified via own node)
  • Binary inscriptions via ordnet_inscribe_binary (base64 → bytes untouched); BSVmap tile claims via ordnet_bsvmap_inscribe
  • Agent conveniences: ordnet_tx_status (confirmations via own node), ordnet_price (via own CoinGecko proxy)
  • 3 MCP Prompts (prompts/list): inscribe-website, register-domain, agent-payment
  • 1SatOrdinals inscriptions (HTML, JSON, text, images, etc.)
  • SNS/OPNS domain registration (.sats, .btc, .bsv, etc.)
  • 3-tier wallet security (env vars → encrypted → plaintext; plaintext-WIF tools are disabled on the HTTP transport)
  • Agent safety layer: tx simulation via ORDnet's own node + spend limits with operator-set hard ceilings (fail-closed)
  • HTTP transport with mandatory bearer auth (ORDNET_MCP_AUTH_TOKEN, server refuses to start without it)
  • Fee structure identical to ordmail-v10-standalone-026.html: 396 sats service fees across 11 outputs / 10 addresses, miner fee 0.15 sat/byte (min. 200 sats)

Quick Start

Installation

git clone https://github.com/ORDNET/ORDnet-MCP-Server.git && cd ORDnet-MCP-Server
npm install && npm run build

Note: the package is not (yet) published on npm; install from source.

Usage with Claude Desktop

Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "ordnet": {
      "command": "npx",
      "args": ["@ordnet/mcp-server"],
      "env": {
        "ORDNET_WIF": "your-wif-private-key"
      }
    }
  }
}

Usage with OpenClaw

{
  "mcp_servers": [
    {
      "name": "ordnet",
      "command": "node",
      "args": ["/path/to/ordnet-mcp-server/dist/index.js"],
      "env": {
        "ORDNET_WIF": "your-wif-private-key"
      }
    }
  ]
}

Service Fees

Every inscription includes a total service fee of 396 satoshis, split across 11 outputs exactly as defined in src/constants.ts (SERVICE_FEE_OUTPUTS). These are the values the code actually writes:

Label Amount Address
ordiBuilder 11 sats 1HdbyucjYU2yfDFXzAQt3kCdP3VvM4tjzr
onnoBuilder 11 sats 1JKcD1kx8XeJFfd32sug1MaXfruurHTCjv
algoBuilder 11 sats 1AHEUcWuCfdRnfwNsvwZhZSetXjEuAvBot
colleagueI 11 sats 1ENW3XBoAv4KQ4FuQ4MtzNkLq82eJd12PV
protocol 22 sats 15q8YQSqUa9uTh6gh4AVixxq29xkpBBP9z
colleagueD 22 sats 1GeifRjPLWTDqL1DZ2vaqorX6pqCi9PyJB
monitor 33 sats 1EXupec98g8TDTG5cwJwH3U8V3PezvvLv8
indexer 44 sats 18RHRqQhsKKZwMnGevvnRQ8KrryAXvQUWQ
partner 66 sats 19o4rByWRvdq6zziJEfhpe4xdq5z43jYrr
founder 77 sats 1EXupec98g8TDTG5cwJwH3U8V3PezvvLv8
foundation 88 sats 1ATEXPH6FSctbZdAz8MnXCfDpCvDnFrWma
Total 396 sats 11 outputs

Miner fee is separate: 0.15 sat/byte, minimum 200 sats.

Note: ordnet_send (plain payments / x402 micropayments) carries no service fee — only the miner fee — so agent-to-agent payments stay lean.

Tools Reference

Wallet Management (6 tools)

Tool Description
ordnet_wallet_init Initialize wallet from WIF private key
ordnet_wallet_init_env Initialize from environment variable (recommended)
ordnet_wallet_status Check wallet status and balance
ordnet_wallet_balance Get balance for any BSV address
ordnet_wallet_utxos Get unspent transaction outputs
ordnet_wallet_clear Clear wallet from memory

Inscriptions (6 tools)

Tool Description
ordnet_fee_estimate Calculate fee for an inscription
ordnet_inscribe_prepare Prepare inscription (no broadcast)
ordnet_inscribe_broadcast Broadcast prepared transaction
ordnet_inscribe_html Quick HTML inscription
ordnet_inscribe_json Quick JSON inscription
ordnet_inscribe_text Quick plain text inscription

Domains (6 tools)

Tool Description
ordnet_domain_check Check domain availability
ordnet_domain_info Get domain information
ordnet_domain_search Search registered domains
ordnet_domain_register Register SNS/OPNS domain
ordnet_domain_register_sns Quick SNS registration
ordnet_domain_register_opns Quick OPNS registration

Search & Lookup (4 tools)

Tool Description
ordnet_search_inscriptions Search inscriptions
ordnet_get_inscription Get inscription details
ordnet_get_content_url Get content URLs
ordnet_validate_address Validate BSV address

Security (4 tools)

Tool Description
ordnet_security_encrypt_wallet Encrypt WIF with AES-256-GCM
ordnet_security_tier Check security tier
ordnet_security_validate_password Validate password strength
ordnet_generate_wallet Generate new random wallet

Payments (5 tools)

Tool Description
ordnet_send Plain BSV payment (miner fee only, no service fee)
ordnet_transfer Transfer an ordinal/domain to another address
ordnet_x402_quote Probe an x402-paywalled URL and parse the quote (SSRF-guarded)
ordnet_x402_fetch Pay an x402 resource in native sats and retrieve it
ordnet_derive_payment_address Derive a BRC-42 payment address (watch-only)

Identity & signing (3 tools)

Tool Description
ordnet_identity Get the wallet's identity public key
ordnet_sign_message Sign a message with the wallet key
ordnet_verify_message Verify a signed message

Utilities (11 tools)

Tool Description
ordnet_info Server information
ordnet_content_types List supported content types
ordnet_tx_simulate Decode/simulate a raw tx via ORDnet's own node
ordnet_policy_set Set spend-policy limits (within operator ceilings)
ordnet_policy_status Show the active spend policy and session total
ordnet_index_health UTXO index health
ordnet_address_watch Add an address to the watch index
ordnet_bsvmap_inscribe Inscribe a BSVmap tile
ordnet_inscribe_binary Inscribe binary content (e.g. an image)
ordnet_tx_status Look up a transaction's status
ordnet_price BSV price in fiat

Total: 45 tools.

Example: Create an HTML Inscription

User: Create a simple webpage saying "Hello from AI" and inscribe it on Bitcoin

AI: I'll create and inscribe this HTML content on the BSV blockchain.

1. First, let me initialize the wallet...
   [ordnet_wallet_init_env]
   ✓ Wallet initialized at 1ABC...

2. Creating the HTML inscription...
   [ordnet_inscribe_html] content="<html><body><h1>Hello from AI</h1></body></html>"
   
   ✓ Inscription successful!
   - TXID: abc123...
   - Inscription ID: abc123..._0
   - View: https://ordnet.io/view/abc123..._0

Supported Content Types

  • text/html;charset=utf8 - HTML web pages
  • text/plain;charset=utf8 - Plain text
  • application/json - JSON data
  • image/svg+xml - SVG graphics
  • image/png - PNG images
  • image/jpeg - JPEG images
  • image/gif - GIF animations
  • image/webp - WebP images
  • audio/mpeg - MP3 audio
  • video/mp4 - MP4 video
  • application/pdf - PDF documents

Supported Domain Extensions

Universal

  • .sats

Chain-specific

  • BTC: .btc .ord .xbt .gm .unisat .x
  • BSV: .bsv
  • DOGE: .doge .shibe
  • LTC: .ltc
  • BCH: .bch
  • BELLS: .bells
  • And more...

Security Tiers

Tier Method Security Level
Environment ORDNET_WIF env var ⭐⭐⭐ Highest
Encrypted AES-256-GCM encrypted store ⭐⭐ Medium
Plaintext Direct WIF input ⭐ Lowest

Recommendation: Always use environment variables in production.

Development

# Clone and install
git clone https://github.com/ordnet/mcp-server
cd mcp-server
npm install

# Build
npm run build

# Run the audit regression tests (SSRF guard + spend policy).
# These run straight from source with Node's type stripping:
node --experimental-strip-types test/audit-2026-08-11.test.mjs

# Start server (stdio)
npm start

# Start server (HTTP)
TRANSPORT=http PORT=3000 npm start

Transaction Structure

The inscription transaction follows the same output layout as the reference inscriber (ordmail-v10-standalone-026.html). The service-fee outputs are the 11 entries of SERVICE_FEE_OUTPUTS in src/constants.ts:

Input:   UTXO(s) (user funds)
Output 0:  1 sat    - Inscription (OP_FALSE OP_IF "ord" ... OP_ENDIF + P2PKH)
Output 1:  0 sat    - OP_RETURN "ORDnet.io"
Output 2..12:        - 11 service-fee outputs (11,11,11,11,22,22,33,44,66,77,88 = 396 sats)
Output 13: Change (if > 546 sats)

The exact per-output amounts and addresses are listed under Service Fees above and are the single source of truth (SERVICE_FEE_OUTPUTS). ordnet_send omits the fee outputs entirely.

API Endpoints Used

  • WhatsOnChain: https://api.whatsonchain.com/v1/bsv/main
  • ORDnet Registry: https://registry.ordnet.io
  • ORDnet Search: https://search.ordnet.io

License

MIT © ORDnet.io / Mister HHC B.V.

Links

  • Website: https://ordnet.io
  • Documentation: https://docs.ordnet.io
  • GitHub: https://github.com/ordnet

Environment Variables (v2.4)

Variable Required Purpose
ORDNET_WIF for wallet ops Wallet private key (WIF). On HTTP transport this is the ONLY way to load a wallet.
TRANSPORT no stdio (default) or http.
PORT no HTTP port (default 3000).
ORDNET_MCP_AUTH_TOKEN yes, when TRANSPORT=http Bearer token (min. 32 chars). Server refuses to start without it. Generate: openssl rand -hex 32.
ORDNET_POLICY_MAX_SATS_PER_TX recommended on http Operator hard ceiling per transaction. ordnet_policy_set can tighten below it, never loosen above it.
ORDNET_POLICY_MAX_SATS_PER_SESSION recommended on http Operator hard ceiling per server session.
ORDNET_UTXO_URL no Base URL of the ordnet-utxo index (default http://127.0.0.1:7002).

Known limitations

  • Wallet and spend-policy state are per server process, not per client session. Run the HTTP transport for a single trusted agent/team behind the auth token, not as a public multi-tenant service.
  • Balance and UTXO lookups use ORDnet's OWN address index (ordnet-utxo, port 7002, every UTXO node-verified) since v2.5; WhatsOnChain is a connectivity fallback only. New tools in v2.5: ordnet_index_health, ordnet_address_watch.
  • UTXO selection skips 1-sat UTXOs as ordinal protection and combines multiple inputs when needed.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选