mcp-python-bitcoinlib
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_private_keyA | Generate a random private key and return it as a 32-byte hex string. |
| privkey_to_wifB | Convert a private key (hex) to WIF format. |
| wif_to_privkeyA | Convert a WIF-encoded private key back to hex. |
| privkey_to_pubkeyB | Get the public key from a private key. |
| pubkey_to_addressC | Convert a public key to an address. |
| pubkey_to_p2sh_p2wpkh_redeemscriptC | Get the P2SH-P2WPKH redeemScript for a public key. |
| address_to_scriptC | Get the script from an address. |
| create_transactionB | Create an unsigned Bitcoin transaction. |
| serialize_transactionC | Serialize and deserialize a transaction. |
| sign_transactionC | Sign a transaction input with a private key. |
| parse_scriptA | Parse a script into its opcodes. |
| create_p2pkh_scriptB | Create a P2PKH script from a public key hash. |
| create_p2wpkh_scriptB | Create a P2WPKH script from a public key hash. |
| sha256_hexC | Compute SHA256 hash. |
| ripemd160_hexA | Compute RIPEMD160 hash. |
| hash160_hexA | Compute Hash160 (SHA256 then RIPEMD160). |
| hash256_hexB | Compute double SHA256. |
| verify_signatureB | Verify an ECDSA signature. |
| sign_messageC | Sign a message with a private key. |
| validate_addressB | Validate a Bitcoin address for a given network. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_networks | Get list of available Bitcoin networks. |
| get_address_types | Get list of supported address types. |
TDQS
Scored across 20 tools
Each tool has a clearly distinct purpose: hashing functions target specific algorithms, key operations are separated, address and script creation focus on different types, and transaction operations are distinct from signing. No two tools overlap in functionality.
All tools use consistent snake_case naming with a verb-noun pattern (e.g., create_p2pkh_script, sign_transaction). Hash functions follow a uniform 'algorithm_hex' pattern. No mixing of conventions or ambiguous names.
With 20 tools, the server covers essential Bitcoin operations without being bloated. Each tool serves a specific need, from key generation and address conversion to transaction creation and signing. The count is appropriate for a comprehensive Bitcoin library.
The tool set covers major Bitcoin workflows: key management, address generation (P2PKH, P2WPKH, P2SH-P2WPKH), transaction creation and signing, message signing, hashing, and validation. Minor gaps like explicit bech32 address or multisig script creation are absent but non-critical for most use cases.