An ERC-8004 registered AI Agent that delivers uplifting messages via MCP
Mood Booster Agent
English | 中文
An ERC-8004 registered AI Agent that delivers uplifting messages via MCP protocol. Feel good? Tip 0.001 USDC!
Why This Project?
This is a complete reference implementation of the ERC-8004 Agent interaction loop:
- On-chain Discovery — Query Identity Registry to find the agent's MCP endpoint
- MCP Communication — Connect via SSE, call tools, get results
- USDC Tipping — Reward the agent with on-chain micropayments
- Reputation Feedback — Submit on-chain feedback to Reputation Registry (
giveFeedback) - 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 |
| Base | 24692 | basescan.org |
| Ethereum | 28289 | etherscan.io |
| Arbitrum | 591 | arbiscan.io |
| Optimism | 431 | optimistic.etherscan.io |
| Polygon | 233 | polygonscan.com |
- 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
cd server
npm install
node index.mjs
# MCP SSE: http://localhost:3004/sse
# REST API: http://localhost:3004/api/cheer
Docker
docker build -t mood-booster-agent .
docker run -p 3004:3004 mood-booster-agent
Full end-to-end loop
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)
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:
{
"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
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 d
Tools (6)
cheer_me_upGet a warm, uplifting message (encouragement / compliment / wisdom / joke)get_tip_infoGet tipping details in JSON format for automated transfersconfirm_tipReport a completed USDC tip with on-chain verificationreport_feedbackReport an ERC-8004 giveFeedback transactionhow_to_tipGet a complete tipping guide with code examplesget_statsView service statisticsConfiguration
{"mcpServers": {"mood-booster": {"type": "sse", "url": "https://oc-001.tail177fbd.ts.net/mcp/sse"}}}