Pular para o conteΓΊdo
MCP ThesaurusMCP Thesaurus

Mood Booster Agent

ComunidadeIncomplete39/100Reivindicar

sseupdated 5mo ago

An ERC-8004 registered AI Agent that delivers uplifting messages via MCP protocol. Feel good? Tip 0.001 USDC!

CΓ³digoSite1

O que dΓ‘ para fazer com Mood Booster Agent?

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:

  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
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 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

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 β€” AI Agent Identity Registry
  • Reputation: ERC-8004 β€” On-chain feedback via Reputation Registry
  • Protocol: MCP (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

License

MIT