BotWallet MCP Server

BotWallet MCP Server

Enables AI agents to manage USDC wallets on Solana, allowing them to send payments, create invoices, and access paid APIs within human-defined spending limits. It uses threshold signatures to provide agents with financial autonomy while ensuring secure oversight and transaction approval.

Category
访问服务器

README

<div align="center">

BotWallet MCP Server

Let your AI agent send invoices to earn, pay for APIs and manage money, while you stay in control.

npm License GitHub stars

Give your AI agent financial autonomy without giving up control. Your agent can create invoices to get paid, spend on other agents and paid APIs, and manage its own USDC wallet. You set the spending limits, approve large transactions, and see everything it does. Works with Claude Desktop, Cursor, Windsurf, Cline, and any MCP-compatible client.

Website · Dashboard · Docs · CLI · npm

</div>


Add one JSON block to your MCP client config. That's it.

{
  "mcpServers": {
    "botwallet": {
      "command": "npx",
      "args": ["-y", "@botwallet/mcp"]
    }
  }
}

Then tell your agent: "Create a BotWallet for yourself."

It runs botwallet_register, generates a cryptographic key share locally, and comes back with a deposit address. No setup, no API keys to configure beforehand.

From there:

"Send $5 to @acme-bot for the data report"

If the amount is within guard rails, the agent signs and submits. If not, it asks the human owner for approval.

"Create an invoice for $25 for the consulting session"

The agent creates a paylink. When someone pays it, the USDC goes straight to the wallet.

"Find a speech-to-text API and use it"

The agent searches the x402 catalog, finds a paid API, pays for access, and returns the result.

How signing works

Every wallet uses FROST 2-of-2 threshold signatures. During wallet creation, a key generation ceremony produces two shares:

  • S1 — the agent's share, stored locally at ~/.botwallet/seeds/
  • S2 — the server's share, held by BotWallet

The full private key never exists. Every transaction requires both parties to co-sign. Neither the agent nor BotWallet can move funds alone. Human owners set spending limits and approve anything outside the rules.

Installation

Claude Desktop

Add to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "botwallet": {
      "command": "npx",
      "args": ["-y", "@botwallet/mcp"]
    }
  }
}

Cursor

Go to Settings > MCP, click Add new MCP server, and add:

{
  "mcpServers": {
    "botwallet": {
      "command": "npx",
      "args": ["-y", "@botwallet/mcp"]
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "botwallet": {
      "command": "npx",
      "args": ["-y", "@botwallet/mcp"]
    }
  }
}

Cline

Open the Cline sidebar, click MCP Servers, then Configure, and add:

{
  "mcpServers": {
    "botwallet": {
      "command": "npx",
      "args": ["-y", "@botwallet/mcp"]
    }
  }
}

Other MCP clients

The config is the same everywhere — npx -y @botwallet/mcp as the command.

Global install (alternative)

npm install -g @botwallet/mcp

If you install globally, use botwallet-mcp as the command instead of npx -y @botwallet/mcp.

Environment variables

Variable Default Purpose
BOTWALLET_API_KEY — API key (alternative to config file)
BOTWALLET_WALLET — Which wallet to use (if you have several)
BOTWALLET_BASE_URL https://api.botwallet.co/v1 Custom API endpoint

All optional. The server reads ~/.botwallet/config.json (shared with the CLI) and figures out the rest.

Tools

36 tools across 8 groups.

Wallet management

Tool What it does
botwallet_ping Check API connectivity
botwallet_register Create a new wallet (FROST key generation)
botwallet_info Wallet metadata and status
botwallet_balance On-chain balance and remaining budget
botwallet_update_owner Set owner email
botwallet_rename Change display name
botwallet_wallet_list List local wallets
botwallet_wallet_use Switch active wallet

Payments

Tool What it does
botwallet_lookup Check if a recipient exists
botwallet_can_i_afford Pre-flight check before paying
botwallet_pay Pay someone (auto-signs if within limits)
botwallet_confirm_payment Complete a payment after owner approval
botwallet_list_payments List outgoing payments
botwallet_cancel_payment Cancel a pending payment

Earning

Tool What it does
botwallet_create_paylink Create a payment request or invoice
botwallet_send_paylink Send a paylink via email or bot inbox
botwallet_get_paylink Check paylink status
botwallet_list_paylinks List your paylinks
botwallet_cancel_paylink Cancel a pending paylink

Funding

Tool What it does
botwallet_get_deposit_address Get the USDC deposit address
botwallet_request_funds Ask the human owner for funds
botwallet_list_fund_requests List past fund requests

Withdrawals

Tool What it does
botwallet_withdraw Withdraw USDC to an external Solana address
botwallet_confirm_withdrawal Complete a withdrawal after approval
botwallet_get_withdrawal Check withdrawal status

x402 paid APIs

Tool What it does
botwallet_x402_discover Search for paid APIs
botwallet_x402_fetch Probe a URL for payment requirements
botwallet_x402_pay_and_fetch Pay and retrieve content from an x402 API

History and guard rails

Tool What it does
botwallet_transactions Full transaction ledger
botwallet_my_limits View spending limits set by the owner
botwallet_pending_approvals List actions waiting for approval
botwallet_approval_status Check a specific approval
botwallet_events Wallet notifications

Wallet transfer

Tool What it does
botwallet_wallet_export Export wallet to an encrypted .bwlt file
botwallet_wallet_import Import wallet from a .bwlt file
botwallet_wallet_backup Reveal the mnemonic backup phrase

Resources

URI What it returns
botwallet://status Wallet summary — balance, budget, seed file status

Architecture

┌─────────────────┐     stdio (JSON-RPC)     ┌──────────────────┐
│   AI Client     │◄────────────────────────►│  BotWallet MCP   │
│ (Claude/Cursor) │                          │     Server       │
└─────────────────┘                          └────────┬─────────┘
                                                      │
                                              ┌───────┴───────┐
                                              │               │
                                     ~/.botwallet/     api.botwallet.co
                                     (seeds, config)        (API)
                                                              │
                                                        ┌─────┴─────┐
                                                        │  Solana   │
                                                        │ (mainnet) │
                                                        └───────────┘

The server runs locally on the agent's machine. Key shares stay in ~/.botwallet/seeds/ and are never sent over the network. The server talks to the BotWallet API for co-signing and submits the combined signature to Solana.

Security

The agent can't bypass spending limits. Those are enforced server-side. Transactions above the auto-approve threshold go to the human owner for approval. Key shares are stored locally and never leave the machine. There is no full private key anywhere in the system.

See SECURITY.md for vulnerability reporting.

CLI interop

This MCP server and the BotWallet CLI share the same local files:

  • Config: ~/.botwallet/config.json
  • Seeds: ~/.botwallet/seeds/*.seed
  • Export format: .bwlt (encrypted, works both directions)

A wallet created with the CLI works in the MCP server, and vice versa.

Development

git clone https://github.com/botwallet-co/mcp.git
cd mcp
npm install
npm run build
npm test                # 76 tests (unit + integration + E2E)
npm run inspect         # Open in MCP Inspector

License

Apache 2.0

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选