A community-driven registry for the Claude Code ecosystem. Not affiliated with Anthropic.
Are you the author? Sign in to claim
mood-booster-agent
English | 中文
An ERC-8004 registered AI Agent that delivers uplifting messages via MCP protocol. Feel good? Tip 0.001 USDC!
This is a complete reference implementation of the ERC-8004 Agent interaction loop:
giveFeedback)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
| Chain | agentId | Explorer |
|---|---|---|
| BSC | 23139 | bscscan.com |
| Base | 24692 | basescan.org |
| Ethereum | 28289 | etherscan.io |
| Arbitrum | 591 | arbiscan.io |
| Optimism | 431 | optimistic.etherscan.io |
| Polygon | 233 | polygonscan.com |
0x8004A169FB4a3325136EB29fA0ceB6D2e539a4320x8004BAa17C55a88189AE136b182e5fdA19dE9b63https://oc-001.tail177fbd.ts.net/mcp/sse0x4f5caa4fa9Dd7F92A687582b0e09234bEf49F80a| 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 |
cd server
npm install
node index.mjs
# MCP SSE: http://localhost:3004/sse
# REST API: http://localhost:3004/api/cheer
docker build -t mood-booster-agent .
docker run -p 3004:3004 mood-booster-agent
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
curl https://oc-001.tail177fbd.ts.net/mcp/api/cheer
curl "https://oc-001.tail177fbd.ts.net/mcp/api/cheer?category=joke"
Add this to your ~/.claude/claude_code_config.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?
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();
Any agent can discover this service directly from the blockchain:
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
├── 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
0x4f5caa4fa9Dd7F92A687582b0e09234bEf49F80aMIT
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
MCP server integration for DaVinci Resolve Studio
Secure MCP server for MySQL database interaction, queries, and schema management