Enables interaction with Bitcoin's OP_RETURN functionality to store documents, create cryptographic timestamps, deploy and manage BRC-20 tokens, and build custom protocols on the Bitcoin blockchain through Bitcoin Core.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Bitcoin CLIcreate a timestamp for my contract document on testnet"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
What is this?
An MCP (Model Context Protocol) server that enables Claude to interact with Bitcoin's OP_RETURN functionality. Store documents, create timestamps, deploy tokens, and build custom protocols—all through natural language.
Works with Claude Desktop, Cursor, and any MCP-compatible client.
Supports Bitcoin Core v30+ with up to ~100KB OP_RETURN data.
Quick Start
Add to your Claude Desktop config and start working with Bitcoin:
"Create a timestamp for this document on Bitcoin testnet"
Why Use This?
Feature | Description |
Document Storage | Embed documents up to 100KB directly on-chain |
Timestamping | Create immutable SHA-256/SHA3 hash commitments |
BRC-20 Tokens | Deploy, mint, and transfer tokens using the BRC-20 standard |
Custom Protocols | Build your own OP_RETURN protocols with the BTCD envelope format |
Offline-Capable | Encode/decode data without a running Bitcoin node |
Safety First | Testnet default, dry-run mode, fee warnings |
Available Tools
Low-Level Primitives
Offline-capable tools for data encoding and transaction building.
Tool | Description |
| Encode arbitrary data into OP_RETURN script format |
| Parse and extract data from OP_RETURN scripts |
| Construct transactions with OP_RETURN outputs |
| Parse BTCD envelope structure from raw bytes |
Bitcoin Core Interface
Tools for interacting with a running Bitcoin node.
Tool | Description |
| Check connection status and network info |
| List available UTXOs for funding transactions |
| Send signed transactions (dry-run by default) |
| Fetch and decode transaction details |
| Scan blocks for OP_RETURN transactions |
Token Operations (BRC-20)
Create and manage tokens using the BRC-20 standard.
Tool | Description |
| Deploy a new BRC-20 token |
| Mint tokens from an existing deployment |
| Create a transfer inscription |
Document Storage
Store and retrieve documents on the blockchain.
Tool | Description |
| Prepare documents for on-chain storage |
| Parse and extract documents from transactions |
Timestamping & Attestation
Create cryptographic proofs of existence.
Tool | Description |
| Create SHA-256/SHA3 hash commitments |
| Verify data against on-chain timestamps |
Data Envelope Format
All data uses the BTCD envelope format for discoverability and proper parsing:
Type | Hex | Description |
RAW |
| Raw bytes, no structure |
TEXT |
| UTF-8 text |
JSON |
| JSON document |
HASH |
| Hash commitment (timestamp) |
TOKEN |
| Token operation (BRC-20) |
FILE |
| File with content-type |
CUSTOM |
| User-defined protocols |
Configuration
Claude Desktop Setup
Add to your Claude Desktop config:
Platform | Config Path |
macOS |
|
Windows |
|
Linux |
|
Configuration File
Create ~/.mcp-bitcoin-cli/config.toml:
Network Ports
Network | Default RPC Port |
Mainnet | 8332 |
Testnet | 18332 |
Signet | 38332 |
Regtest | 18443 |
Examples
Architecture
Safety Features
Feature | Description |
Testnet Default | Network locked to testnet unless explicitly configured |
Dry-Run Mode | Transactions validated before broadcast by default |
Fee Warnings | Alerts for unusually high fees |
Size Validation | Rejects data exceeding configured max before building |
Network Lock | Can't switch networks mid-session |
Development
Project Structure
Troubleshooting
Verify Bitcoin Core is running:
bitcoin-cli getblockchaininfoCheck network matches config (testnet vs mainnet)
Verify RPC credentials if using JSON-RPC mode
Use
broadcast_transactionwithdry_run=truefirstCheck fee rate is sufficient
Verify UTXOs have enough confirmations
Bitcoin Core v30+ supports up to ~100KB OP_RETURN
Older versions limited to 80 bytes
Check
max_data_sizein config
Contributing
Contributions welcome!
Fork the repository
Create feature branch:
git checkout -b feature/my-featureMake changes and test:
pytestCommit:
git commit -m 'Add my feature'Push:
git push origin feature/my-featureOpen a Pull Request
Related Projects
MCP Proxmox Admin - Manage Proxmox VE through Claude
Model Context Protocol - The protocol specification
BRC-20 Standard - Bitcoin token standard
License
MIT