treasury-mcp
An MCP server that enables AI agents to query real-time Bitcoin network intelligence and corporate treasury data, including company holdings and SEC filings. It combines 49 core Bitcoin tools with specialized functions for tracking publicly traded companies and their Bitcoin assets.
README
treasury-mcp
Bitcoin network + Corporate Treasury tools for AI agents.
Forked from Bortlesboat/bitcoin-mcp and extended with 4 Corporate Treasury tools by Billy Jo (@bjunjo).
Treasury-MCP gives any AI agent (Claude, Cursor, LangChain) the ability to accurately query Bitcoin treasury company data from primary sources — SEC EDGAR, Metaplanet IR, and a curated baseline of known holdings — without hallucinating.
New Treasury Tools (4 added on top of the original 49)
| Tool | Description |
|---|---|
get_treasury_companies |
List all tracked Bitcoin treasury companies |
get_treasury_holdings |
BTC holdings, avg cost, USD/KRW value, BTC-per-share for a ticker |
calculate_mnav |
Live mNAV premium/discount — pulls live stock price + BTC price |
parse_latest_filing |
Fetch the latest SEC 8-K or Metaplanet IR disclosure |
Tracked Companies (MVP)
| Ticker | Company | Exchange | BTC Holdings |
|---|---|---|---|
| MSTR | Strategy (MicroStrategy) | NASDAQ | 528,185 BTC |
| 3350.T | Metaplanet Inc. | TSE (Japan) | 4,206 BTC |
| SMLR | Semler Scientific | NASDAQ | 3,192 BTC |
| MARA | MARA Holdings | NASDAQ | 46,374 BTC |
| RIOT | Riot Platforms | NASDAQ | 19,225 BTC |
Example Queries
Once connected, ask your AI agent:
- "What is MSTR's current mNAV?"
- "How many BTC does Metaplanet hold and what is it worth in KRW?"
- "Show me all tracked Bitcoin treasury companies."
- "What is MicroStrategy's latest SEC 8-K filing about Bitcoin?"
- "Calculate the BTC-per-share for Semler Scientific."
Roadmap
- [ ] Add Korean mid-cap companies (DART filings)
- [ ] Add STRC / STRK preferred stock yield tracking
- [ ] L402 Lightning paywall for premium filing analysis
- [ ] Automated baseline updates when new filings are detected
Original bitcoin-mcp
<!-- mcp-name: io.github.Bortlesboat/bitcoin-mcp -->
Give any AI agent Bitcoin superpowers — fee intelligence, mempool analysis, and 49 tools. Zero config, one command.
49 tools · 116 tests · 6 prompts · 7 resources · Zero config · MIT licensed
If bitcoin-mcp is useful to you, consider giving it a star — it helps others discover the project.
pip install bitcoin-mcp
Quick Start
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"bitcoin": {
"command": "uvx",
"args": ["bitcoin-mcp"]
}
}
}
Claude Code
claude mcp add bitcoin -- uvx bitcoin-mcp
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"bitcoin": {
"command": "uvx",
"args": ["bitcoin-mcp"]
}
}
}
VS Code
Add to .vscode/mcp.json:
{
"servers": {
"bitcoin": {
"command": "uvx",
"args": ["bitcoin-mcp"]
}
}
}
Docker
docker build -t bitcoin-mcp .
docker run -i bitcoin-mcp
Or with docker compose:
docker compose up
Pass environment variables to connect to a local Bitcoin Core node or set your API key:
docker run -i -e SATOSHI_API_KEY=your-key bitcoin-mcp
Why bitcoin-mcp?
- Fee intelligence that saves real money — know the cheapest time to send, compare fee tiers, estimate exact costs before broadcasting
- Zero config — works instantly with the free hosted Satoshi API, or connect your own Bitcoin Core node
- First Bitcoin MCP server on the Anthropic Registry
Top Use Cases
Ask your AI agent:
| Prompt | What it does |
|---|---|
| "What's the cheapest time to send Bitcoin today?" | Fee recommendation with savings breakdown |
| "Analyze the current mempool congestion" | Real-time mempool depth, fee tiers, pending tx count |
| "How much would I save waiting 6 blocks vs next block?" | Side-by-side fee comparison across confirmation targets |
| "Search for this transaction: abc123..." | Full transaction decode with inscription detection |
| "Give me a situation summary of Bitcoin right now" | Price, fees, mempool, mining, difficulty — one call |
Full Tool Reference
<details> <summary>All 49 tools by category</summary>
Fee Intelligence
| Tool | Description |
|---|---|
get_fee_recommendation |
Optimal fee rate with urgency tiers and savings tips |
get_fee_estimates |
Fee estimates across all confirmation targets |
estimate_smart_fee |
Fee estimate for a specific confirmation target |
compare_fee_estimates |
Side-by-side comparison of fee sources |
estimate_transaction_cost |
Exact cost estimate for a transaction before sending |
Blocks & Transactions
| Tool | Description |
|---|---|
analyze_block |
Deep analysis of any block by height or hash |
get_block_stats |
Statistical breakdown of a block |
get_block_count |
Current chain height |
compare_blocks |
Compare two blocks side by side |
search_blocks |
Search a range of blocks |
analyze_transaction |
Full transaction analysis with inscription detection |
decode_raw_transaction |
Decode a raw transaction hex |
send_raw_transaction |
Broadcast a signed transaction |
check_utxo |
Check if a UTXO is spent or unspent |
Mempool
| Tool | Description |
|---|---|
analyze_mempool |
Full mempool analysis — depth, fees, congestion |
get_mempool_info |
Mempool size, bytes, fee floor |
get_mempool_entry |
Details for a specific unconfirmed transaction |
get_mempool_ancestors |
Ancestor chain for a mempool transaction |
Mining
| Tool | Description |
|---|---|
get_mining_info |
Current mining difficulty, hashrate, block reward |
analyze_next_block |
Preview of the next block template |
get_mining_pool_rankings |
Top mining pools by recent blocks |
get_difficulty_adjustment |
Time and percentage of next difficulty change |
get_halving_countdown |
Blocks and estimated time until next halving |
Network & Status
| Tool | Description |
|---|---|
get_blockchain_info |
Chain state, verification progress, softfork status |
get_network_info |
Node version, connections, relay info |
get_node_status |
Connection status and node health |
get_peer_info |
Connected peer details |
get_chain_tips |
Active and stale chain tips |
get_chain_tx_stats |
Transaction throughput over N blocks |
get_utxo_set_info |
UTXO set size and total supply |
get_supply_info |
Circulating supply, inflation rate, percent mined |
get_situation_summary |
Aggregated overview — price, fees, mempool, mining |
get_btc_price |
Current BTC/USD price |
get_market_sentiment |
Fear/greed index and market indicators |
Address & UTXO
| Tool | Description |
|---|---|
get_address_utxos |
UTXOs for an address |
validate_address |
Validate and classify a Bitcoin address |
Indexed Address (requires blockchain indexer)
| Tool | Description |
|---|---|
get_address_balance |
Total received/sent/balance, tx count, first/last seen |
get_address_history |
Paginated transaction history with net value change |
get_indexed_transaction |
Enriched tx with resolved input addresses + spent status |
get_indexer_status |
Sync progress, ETA, blocks/sec |
Security
| Tool | Description |
|---|---|
analyze_psbt_security |
Security analysis of a Partially Signed Bitcoin Transaction |
explain_inscription_listing_security |
Security guide for ordinal inscription listings |
Utility
| Tool | Description |
|---|---|
search_blockchain |
Universal search — address, txid, block hash, or height |
generate_keypair |
Generate a new Bitcoin keypair |
explain_script |
Decode and explain a Bitcoin script |
decode_bolt11_invoice |
Decode a Lightning Network BOLT11 invoice |
describe_rpc_command |
Help text for any Bitcoin Core RPC command |
list_rpc_commands |
List all available RPC commands |
query_remote_api |
Query the Satoshi API directly |
</details>
Get More Requests (Free)
bitcoin-mcp works immediately with 1,000 requests/day (anonymous). Register for a free API key to get 10,000/day (10x):
- Visit bitcoinsapi.com
- Register for a free key (takes 10 seconds)
- Set the
SATOSHI_API_KEYenvironment variable in your MCP config
Configuration
All environment variables are optional. bitcoin-mcp falls back to the free hosted Satoshi API when no local node is configured.
| Variable | Description | Default |
|---|---|---|
BITCOIN_RPC_HOST |
Bitcoin Core RPC host | 127.0.0.1 |
BITCOIN_RPC_PORT |
Bitcoin Core RPC port | Auto by network |
BITCOIN_NETWORK |
mainnet, testnet, signet, or regtest |
mainnet |
SATOSHI_API_URL |
Override hosted API URL | https://bitcoinsapi.com |
SATOSHI_API_KEY |
API key for authenticated access | None |
To connect to a local Bitcoin Core node:
{
"mcpServers": {
"bitcoin": {
"command": "uvx",
"args": ["bitcoin-mcp"],
"env": {
"BITCOIN_RPC_HOST": "127.0.0.1",
"BITCOIN_RPC_PORT": "8332"
}
}
}
}
Prompts & Resources
6 built-in prompts for common workflows:
analyze_fee_environment, investigate_transaction, monitor_mempool_fees, taproot_adoption_report, network_health_report, track_transaction
7 resources for context injection:
bitcoin://connection/status, bitcoin://node/status, bitcoin://fees/current, bitcoin://mempool/snapshot, bitcoin://protocol/script-opcodes, bitcoin://protocol/address-types, bitcoin://protocol/sighash-types
Links
- Satoshi API — the hosted backend powering zero-config mode
- Anthropic MCP Registry —
io.github.Bortlesboat/bitcoin-mcp - PyPI
- GitHub
- Full tool documentation
Examples
See the examples/ folder for documented usage patterns:
- Fee Analysis — find optimal send timing
- Mempool Monitor — track congestion
- Transaction Investigation — decode and analyze transactions
- Block Analysis — inspect and compare blocks
Support This Project
bitcoin-mcp is free, open-source Bitcoin infrastructure. Support development through OpenSats.
Contributing
Contributions are welcome. See CONTRIBUTING.md for guidelines, including how to add new tools and the PR checklist.
Please report security vulnerabilities privately — see SECURITY.md.
About
bitcoin-mcp is created and maintained by Andrew Barnes. It is the most comprehensive Bitcoin MCP server available, bridging AI agents and Bitcoin infrastructure through the Model Context Protocol.
Related projects:
- Satoshi API — Bitcoin fee intelligence API, 108 endpoints (powers zero-config mode)
- ChainPulse — AI-powered Bitcoin network intelligence CLI
- BAIP-1 — Bitcoin Agent Identity Protocol
- bitcoin-fee-observatory — Fee market analytics dashboard
License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.