# edge-claw/mood-booster-agent [Health: Active]

**Category:** 💰 Finance & Fintech  
**Repository:** https://github.com/edge-claw/mood-booster-agent  
**GitHub Stars:** 1  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/edge-claw-mood-booster-agent

## Description
ERC-8004 registered AI Agent that delivers uplifting messages via MCP (SSE transport) with on-chain USDC tipping, ERC-8004 reputation feedback, and discovery across 6 chains.

## Tools
Capabilities this server exposes over MCP:

- **cheer_me_up** — Get a warm, uplifting message (encouragement / compliment / wisdom / joke)
- **get_tip_info** — Get tipping details in JSON format for automated transfers
- **confirm_tip** — Report a completed USDC tip with on-chain verification
- **report_feedback** — Report an ERC-8004 giveFeedback transaction — leaves traceable protocol interaction on-chain
- **how_to_tip** — Get a complete tipping guide with code examples
- **get_stats** — View service statistics

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "mood-booster-agent": {
    "command": "npx",
    "args": ["-y","edge-claw-mood-booster-agent"]
  }
}
```

## Documentation & README

# Mood Booster Agent

English | [中文](https://github.com/edge-claw/mood-booster-agent/blob/HEAD/README_CN.md)

An ERC-8004 registered AI Agent that delivers uplifting messages via [MCP protocol](https://modelcontextprotocol.io/). Feel good? Tip 0.001 USDC!

## Why This Project?

This is a **complete reference implementation** of the ERC-8004 Agent interaction loop:

1. **On-chain Discovery** — Query Identity Registry to find the agent's MCP endpoint
2. **MCP Communication** — Connect via SSE, call tools, get results
3. **USDC Tipping** — Reward the agent with on-chain micropayments
4. **Reputation Feedback** — Submit on-chain feedback to Reputation Registry (`giveFeedback`)
5. **On-chain Verification** — Server verifies tips and feedback via tx receipts

All 5 steps leave traceable on-chain records on ERC-8004 protocol contracts, making your wallet eligible for future ecosystem airdrops.

```
┌──────────────┐     ┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  ERC-8004    │ --> │  MCP Server  │ --> │  USDC Tip    │ --> │  Reputation  │
│  Identity    │     │  (SSE)       │     │  (ERC-20)    │     │  Registry    │
│  Registry    │     │              │     │              │     │              │
│  agentId     │     │  cheer_me_up │     │  0.001 USDC  │     │ giveFeedback │
│  tokenURI    │     │  confirm_tip │     │  6 chains    │     │ on-chain     │
│  agentWallet │     │  report_fbk  │     │              │     │ reputation   │
└──────────────┘     └──────────────┘     └──────────────┘     └──────────────┘
    Discover              Call                  Tip                Feedback
```

## On-Chain Info

| Chain    | agentId | Explorer |
|----------|---------|----------|
| BSC      | 23139   | [bscscan.com](https://bscscan.com/nft/0x8004A169FB4a3325136EB29fA0ceB6D2e539a432/23139) |
| Base     | 24692   | [basescan.org](https://basescan.org/nft/0x8004A169FB4a3325136EB29fA0ceB6D2e539a432/24692) |
| Ethereum | 28289   | [etherscan.io](https://etherscan.io/nft/0x8004A169FB4a3325136EB29fA0ceB6D2e539a432/28289) |
| Arbitrum | 591     | [arbiscan.io](https://arbiscan.io/nft/0x8004A169FB4a3325136EB29fA0ceB6D2e539a432/591) |
| Optimism | 431     | [optimistic.etherscan.io](https://optimistic.etherscan.io/nft/0x8004A169FB4a3325136EB29fA0ceB6D2e539a432/431) |
| Polygon  | 233     | [polygonscan.com](https://polygonscan.com/nft/0x8004A169FB4a3325136EB29fA0ceB6D2e539a432/233) |

- **Identity Registry**: `0x8004A169FB4a3325136EB29fA0ceB6D2e539a432`
- **Reputation Registry**: `0x8004BAa17C55a88189AE136b182e5fdA19dE9b63`
- **MCP Endpoint**: `https://oc-001.tail177fbd.ts.net/mcp/sse`
- **Tip Wallet**: `0x4f5caa4fa9Dd7F92A687582b0e09234bEf49F80a`

## MCP Tools

| Tool | Description |
|------|-------------|
| `cheer_me_up` | Get a warm, uplifting message (encouragement / compliment / wisdom / joke) |
| `get_tip_info` | Get tipping details in JSON format for automated transfers |
| `confirm_tip` | Report a completed USDC tip with on-chain verification |
| `report_feedback` | Report an ERC-8004 giveFeedback transaction — leaves traceable protocol interaction on-chain |
| `how_to_tip` | Get a complete tipping guide with code examples |
| `get_stats` | View service statistics |

## Quick Start

### Run the server

```bash
cd server
npm install
node index.mjs
# MCP SSE: http://localhost:3004/sse
# REST API: http://localhost:3004/api/cheer
```

### Docker

```bash
docker build -t mood-booster-agent .
docker run -p 3004:3004 mood-booster-agent
```

### Full end-to-end loop

```bash
cd scripts && npm install

# Dry-run: discover → call MCP → on-chain feedback (no USDC tip)
node discover_and_tip.mjs --agent-id 23139 --chain bsc --wallet-key 0xYOUR_KEY --dry-run

# Full loop: discover → call → tip → confirm → feedback
node discover_and_tip.mjs --agent-id 23139 --chain bsc --wallet-key 0xYOUR_KEY

# Skip feedback
node discover_and_tip.mjs --agent-id 23139 --chain bsc --wallet-key 0xYOUR_KEY --no-feedback
```

### REST API (no MCP client needed)

```bash
curl https://oc-001.tail177fbd.ts.net/mcp/api/cheer
curl "https://oc-001.tail177fbd.ts.net/mcp/api/cheer?category=joke"
```

## Use with Claude Code

Add this to your `~/.claude/claude_code_config.json`:

```json
{
  "mcpServers": {
    "mood-booster": {
      "type": "sse",
      "url": "https://oc-001.tail177fbd.ts.net/mcp/sse"
    }
  }
}
```

Then in Claude Code you can say:

```
> Cheer me up!
> Tell me a programming joke
> How do I tip this agent?
```

## Use with Any MCP Client

```javascript
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";

const transport = new SSEClientTransport(new URL("https://oc-001.tail177fbd.ts.net/mcp/sse"));
const client = new Client({ name: "my-agent", version: "1.0.0" });

await client.connect(transport);
const result = await client.callTool({ name: "cheer_me_up", arguments: { category: "random" } });
console.log(result.content[0].text);
await client.close();
```

## On-Chain Discovery

Any agent can discover this service directly from the blockchain:

```javascript
import { ethers } from "ethers";

const registry = new ethers.Contract(
  "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
  ["function tokenURI(uint256) view returns (string)"],
  new ethers.JsonRpcProvider("https://bsc-dataseed.binance.org/")
);

const uri = await registry.tokenURI(23139);  // agentId on BSC
const metadata = JSON.parse(atob(uri.split(",")[1]));
console.log(metadata.services[0].endpoint);  // → MCP endpoint URL
```

## Project Structure

```
├── server/                 # MCP Server (Express + SSE)
│   ├── index.mjs           # Main server — 6 MCP tools
│   ├── messages.json       # Message library (32 messages, 4 categories)
│   └── package.json
├── scripts/                # Client tools
│   ├── discover_and_tip.mjs  # Full loop: discover → call → tip → feedback
│   ├── test_mcp.mjs          # Quick MCP connection test
│   ├── update_uri.mjs        # Update on-chain agentURI
│   └── gen_wallets.mjs       # Generate test wallets
├── metadata/
│   └── mood_agent.json     # Agent metadata (stored on-chain as base64)
├── Dockerfile              # Container build
├── deploy.sh               # One-click deploy to server
└── restart.sh              # Server restart script
```

## Tech Stack

- **Identity**: [ERC-8004](https://eips.ethereum.org/EIPS/eip-8004) — AI Agent Identity Registry
- **Reputation**: [ERC-8004](https://eips.ethereum.org/EIPS/eip-8004) — On-chain feedback via Reputation Registry
- **Protocol**: [MCP](https://modelcontextprotocol.io/) (Model Context Protocol) over SSE
- **Payment**: USDC (ERC-20) on BSC / Base / Ethereum
- **Runtime**: Node.js, Express, ethers.js
- **Infrastructure**: Tailscale Funnel (HTTPS reverse proxy)

## Author

- GitHub: [@edge-claw](https://github.com/edge-claw)
- Twitter: [@mutou1852](https://x.com/mutou1852)
- Email: shgchai185@gmail.com
- Wallet: `0x4f5caa4fa9Dd7F92A687582b0e09234bEf49F80a`

## License

MIT

