npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@flowindex/agent-wallet

v0.1.8

Published

MCP server for Flow blockchain wallet — local keys, cloud wallet, passkey signing for AI agents

Readme

@flowindex/agent-wallet

MCP server that gives AI agents a Flow blockchain wallet -- local keys, cloud wallet, or passkey signing with 70 built-in Cadence templates.

Quick Start

Add to claude_desktop_config.json:

Zero-config (cloud wallet, interactive login)

{
  "mcpServers": {
    "flow-wallet": {
      "command": "npx",
      "args": ["@flowindex/agent-wallet"]
    }
  }
}

The agent will use wallet_login to generate a login URL. Open it in your browser, authenticate with your FlowIndex account, and the agent receives a wallet token automatically.

Cloud wallet (pre-authenticated)

Generate a wallet API key at flowindex.io/developer/wallet, then:

{
  "mcpServers": {
    "flow-wallet": {
      "command": "npx",
      "args": ["@flowindex/agent-wallet"],
      "env": {
        "FLOWINDEX_TOKEN": "wk_your_wallet_api_key_here",
        "APPROVAL_REQUIRED": "false"
      }
    }
  }
}

Mnemonic (headless, local signing)

{
  "mcpServers": {
    "flow-wallet": {
      "command": "npx",
      "args": ["@flowindex/agent-wallet"],
      "env": {
        "FLOW_MNEMONIC": "your twelve word mnemonic phrase ...",
        "FLOW_ADDRESS": "0x1234567890abcdef",
        "FLOW_NETWORK": "mainnet",
        "APPROVAL_REQUIRED": "false"
      }
    }
  }
}

Private Key (headless, local signing)

{
  "mcpServers": {
    "flow-wallet": {
      "command": "npx",
      "args": ["@flowindex/agent-wallet"],
      "env": {
        "FLOW_PRIVATE_KEY": "deadbeef...",
        "FLOW_ADDRESS": "0x1234567890abcdef",
        "FLOW_SIG_ALGO": "ECDSA_secp256k1",
        "FLOW_HASH_ALGO": "SHA2_256",
        "FLOW_NETWORK": "mainnet"
      }
    }
  }
}

Environment Variables

| Variable | Default | Description | |---|---|---| | FLOW_NETWORK | mainnet | mainnet or testnet | | FLOW_MNEMONIC | -- | BIP-39 mnemonic for local signing | | FLOW_PRIVATE_KEY | -- | Hex private key for local signing | | FLOW_ADDRESS | -- | Flow address (required for local signing) | | FLOW_KEY_INDEX | 0 | Account key index | | FLOW_SIG_ALGO | ECDSA_secp256k1 | ECDSA_P256 or ECDSA_secp256k1 | | FLOW_HASH_ALGO | SHA2_256 | SHA2_256 or SHA3_256 | | EVM_PRIVATE_KEY | -- | Separate EVM key (derives from Flow key if unset) | | EVM_ACCOUNT_INDEX | 0 | BIP-44 account index for EVM key derivation | | FLOWINDEX_TOKEN | -- | FlowIndex API token for cloud wallet | | FLOWINDEX_URL | https://flowindex.io | FlowIndex API base URL | | APPROVAL_REQUIRED | true | Require confirmation before signing transactions | | ETHERSCAN_API_KEY | -- | For EVM contract ABI lookup |

Available Tools (23)

Wallet (3)

| Tool | Description | |---|---| | wallet_status | Show current wallet address, network, and signer type | | wallet_login | Start cloud wallet login (returns URL for user to open) | | wallet_login_status | Check if cloud wallet login completed |

Templates (4)

| Tool | Description | |---|---| | list_templates | List available Cadence templates by category | | get_template | Read a template's Cadence source code | | execute_script | Run a read-only Cadence script (no signing) | | execute_template | Execute a transaction template (requires signing) |

Approval (3)

| Tool | Description | |---|---| | confirm_transaction | Approve a pending transaction for signing | | cancel_transaction | Reject a pending transaction | | list_pending | List all transactions waiting for approval |

Flow Queries (5)

| Tool | Description | |---|---| | get_account | Get account info (balance, keys, contracts) | | get_flow_balance | Get FLOW token balance for an address | | get_ft_balance | Get fungible token balance by vault path | | get_nft_collection | List NFTs in a collection | | get_transaction | Get transaction result and status |

EVM (8)

| Tool | Description | |---|---| | evm_wallet_address | Show the EVM (COA) address | | evm_get_balance | Get native FLOW balance on EVM | | evm_get_token_balance | Get ERC-20 token balance | | evm_transfer | Transfer FLOW on EVM | | evm_transfer_erc20 | Transfer ERC-20 tokens | | evm_read_contract | Call a read-only EVM contract function | | evm_write_contract | Call a state-changing EVM contract function | | evm_get_transaction | Get EVM transaction receipt |

Signing Modes

| Mode | Config | Headless | Description | |---|---|---|---| | Local (mnemonic) | FLOW_MNEMONIC + FLOW_ADDRESS | Yes | BIP-39 HD wallet, key never leaves process | | Local (private key) | FLOW_PRIVATE_KEY + FLOW_ADDRESS | Yes | Raw hex key, key never leaves process | | Cloud (token) | FLOWINDEX_TOKEN | Yes | FlowIndex-managed custodial wallet | | Cloud (interactive) | (no key env vars) | No | Browser-based login, user approves in wallet |

Approval Flow

When APPROVAL_REQUIRED=true (the default), transactions follow a two-step flow:

  1. Agent calls execute_template -- the transaction is queued as "pending" and returns a pendingId
  2. Agent calls confirm_transaction with the pendingId -- the transaction is signed, sent, and the result returned

The agent can also call cancel_transaction to reject, or list_pending to see all queued transactions. Set APPROVAL_REQUIRED=false for fully autonomous headless operation.

Passkey Approval (cloud wallet with passkey signing)

When using cloud wallet with passkey-linked accounts, transactions require browser-based approval:

  1. Agent calls execute_template -- a passkey approval request is created
  2. The agent receives an approve_url (e.g., wallet.flowindex.io/approve/abc-123)
  3. The agent shows the URL to the user
  4. User opens the URL, reviews the transaction, and approves with their passkey (WebAuthn)
  5. The agent polls for completion and receives the signature

This flow ensures physical user interaction is required for every transaction signed with a passkey.

Template Categories (70 templates)

| Category | Count | Examples | |---|---|---| | base | 10 | create-account, transfer-flow, add-key, remove-key | | token | 14 | setup-ft-vault, transfer-ft, get-ft-balance, get-ft-supply | | collection | 12 | setup-nft-collection, transfer-nft, get-nft-ids, get-nft-metadata | | bridge | 10 | bridge-nft-to-evm, bridge-ft-to-evm, bridge-nft-from-evm | | evm | 10 | create-coa, fund-coa, call-evm-contract, get-coa-balance | | hybrid-custody | 8 | setup-child-account, publish-to-parent, redeem-account | | lost-and-found | 6 | get-redeemable-types, redeem-all, deposit-ft-to-lost-and-found |

Security

  • Keys never leave the process. Local signing uses in-memory keys derived from mnemonic or raw key. No keys are sent over the network.
  • Template-based execution. Transactions use audited Cadence templates from the Flow Reference Wallet, not arbitrary user code.
  • Two-step approval. By default, every transaction requires explicit confirmation before signing.
  • Network isolation. FCL is configured per-network with correct contract addresses -- no cross-network accidents.
  • No persistent state. The server is stateless between restarts. Pending approvals are lost on restart.

Development

# Install dependencies
bun install

# Build
bun run build

# Dev mode (watch)
bun run dev

# Run directly (without build)
bun run start

# Type check
bun run lint

# Inspect with MCP Inspector
bun run inspect