Bitcoin Wallet MCP Server logo

Bitcoin Wallet MCP Server

by marcopesani

This is a Model Context Protocol (MCP) server that allows AI agents to interact with a Bitcoin wallet. It provides functionalities to manage Bitcoin transactions and wallet information.

View on GitHub

Last updated: N/A

Bitcoin Wallet MCP Server

A Model Context Protocol (MCP) server that enables AI agents to interact with a Bitcoin wallet.

Features

  • get_address: Display a Bitcoin address to receive a payment
  • get_balance: Display the current balance of the wallet
  • send_transaction: Send a transaction to a specific address

Setup

  1. Install dependencies:
pnpm install
  1. Set environment variables:
export WALLET_PASSWORD="your-secure-password"
  1. Build the project:
pnpm build
  1. Run the server:
pnpm start

Development

  • Run in development mode with the MCP CLI:
pnpm dev
  • Run with the MCP Inspector:
pnpm inspect

Architecture

This is a simple SPV (Simplified Payment Verification) Bitcoin wallet that:

  • Stores a single private key encrypted in the OS keychain
  • Uses the password from WALLET_PASSWORD env var for key encryption
  • Follows a stateless-ready architecture where all network data is fetched on-demand

Security Notes

  • The wallet password must be provided via environment variable
  • The private key is stored encrypted in the OS keychain
  • Never logs sensitive information like private keys or mnemonics
  • All operations are performed in memory and cleaned up after use