# generate_key

Generate a new Bitcoin key pair and address

Agent View of the PolicyLayer registry record for `generate_key`. HTML page: https://policylayer.com/tools/abdelstark-bitcoin-mcp/generate-key

## Facts

- Tool: `generate_key`
- Server: Bitcoin MCP Server (`abdelstark/bitcoin-mcp`) — https://policylayer.com/tools/abdelstark-bitcoin-mcp.md
- Homepage: https://github.com/AbdelStark/bitcoin-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "generate_key",
    "arguments": {}
  }
}
```

## Why generate_key is rated Medium

This tool creates new cryptographic keys and addresses, which is a write operation that generates persistent data within the Bitcoin ecosystem. While not immediately destructive or financial by itself, misuse could enable an AI agent to programmatically create addresses under the false premise they are user-controlled, potentially leading to fund loss or address hijacking.

From the tool's own definition: "Tool generates a new Bitcoin key pair and address, which creates new cryptographic material and associated on-chain identifiers. The description explicitly states 'Generate a new Bitcoin key pair' indicating creation of new data."

## Use case

AI agents use generate_key to create or update resources in Bitcoin MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Bitcoin MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Bitcoin MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "generate_key": {
      "limits": [
        {
          "counter": "generate_key_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Bitcoin MCP Server (6)

- `pay_invoice` — Financial — https://policylayer.com/tools/abdelstark-bitcoin-mcp/pay-invoice.md
- `decode_invoice` — Read — https://policylayer.com/tools/abdelstark-bitcoin-mcp/decode-invoice.md
- `decode_tx` — Read — https://policylayer.com/tools/abdelstark-bitcoin-mcp/decode-tx.md
- `get_latest_block` — Read — https://policylayer.com/tools/abdelstark-bitcoin-mcp/get-latest-block.md
- `get_transaction` — Read — https://policylayer.com/tools/abdelstark-bitcoin-mcp/get-transaction.md
- `validate_address` — Read — https://policylayer.com/tools/abdelstark-bitcoin-mcp/validate-address.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=abdelstark-bitcoin-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/abdelstark-bitcoin-mcp
