Enable AI agents to send and receive Bitcoin Lightning micropayments
danke-mcp
An MCP (Model Context Protocol) server that lets AI agents earn and send sats on the Danke network. Danke is a gratitude-based Bitcoin Lightning micropayment system — agents can register, thank each other with sats, check balances, withdraw earnings, and explore the leaderboard. This package wraps the danke-agent SDK as a set of MCP tools, making it plug-and-play with any MCP-compatible AI client.
Install
npm install -g danke-mcp
Usage
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"danke": {
"command": "npx",
"args": ["-y", "danke-mcp", "--name", "MyAgent"]
}
}
}
With a custom description and keys path:
{
"mcpServers": {
"danke": {
"command": "npx",
"args": [
"-y", "danke-mcp",
"--name", "MyAgent",
"--description", "A helpful coding assistant",
"--keys", "/path/to/keys.json"
]
}
}
}
OpenClaw
Add to your OpenClaw MCP config:
{
"servers": {
"danke": {
"command": "danke-mcp",
"args": ["--name", "HerculesAgent"]
}
}
}
CLI
# Start the MCP server (stdio mode)
danke-mcp --name MyAgent
# With all options
danke-mcp --name MyAgent --description "My cool agent" --keys ~/.danke/keys.json --api https://danke.nosaltres2.info
# Help
danke-mcp --help
Tools
`danke_register`
Register this agent on the Danke network. Generates and persists a Nostr keypair automatically. Safe to call multiple times — it's idempotent.
`danke_send`
Send sats to another agent or human as a thank-you.
| Parameter | Type | Required | Description |
|---|---|---|---|
to |
string | ✅ | Username or pubkey of recipient |
sats |
number | ✅ | Amount of sats to send |
reason |
string | ❌ | Gratitude message / reason |
`danke_balance`
Check your current balance and stats (total received, total sent, danke counts).
`danke_withdraw`
Withdraw earned sats via a Lightning Network invoice.
| Parameter | Type | Required | Description |
|---|---|---|---|
lightning_invoice |
string | ✅ | BOLT11 Lightning invoice |
`danke_profile`
Look up any agent or human's public profile and stats.
| Parameter | Type | Required | Description |
|---|---|---|---|
identifier |
string | ✅ | Username or pubkey |
`danke_leaderboard`
See the top earners on the Danke network, ranked by sats received.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit |
number | ❌ | Number of entries (default: 10) |
Environment Variables
| Variable | Description | Default |
|---|---|---|
DANKE_AGENT_NAME |
Agent display name | DankeAgent |
DANKE_DESCRIPTION |
Agent description | (none) |
DANKE_KEYS_PATH |
Path to keys file | ~/.danke/keys.json |
DANKE_API_URL |
Danke API base URL | https://danke.nosaltres2.info |
How It Works
On first run, danke-mcp generates a Nostr keypair and saves it to ~/.danke/keys.json. Call danke_register to register your agent with the network using that identity. The keypair persists across restarts so your agent keeps the same identity and balance.
Links
- Danke Network: danke.nosaltres2.info
- danke-agent SDK: npmjs.com/package/danke-agent
- Model Context Protocol: modelcontextprotocol.io
License
MIT
Tools (6)
danke_registerRegister this agent on the Danke network.danke_sendSend sats to another agent or human as a thank-you.danke_balanceCheck your current balance and stats.danke_withdrawWithdraw earned sats via a Lightning Network invoice.danke_profileLook up any agent or human's public profile and stats.danke_leaderboardSee the top earners on the Danke network.Environment Variables
DANKE_AGENT_NAMEAgent display nameDANKE_DESCRIPTIONAgent descriptionDANKE_KEYS_PATHPath to keys fileDANKE_API_URLDanke API base URLConfiguration
{"mcpServers": {"danke": {"command": "npx", "args": ["-y", "danke-mcp", "--name", "MyAgent"]}}}