Mood Booster Agent について
Mood Booster Agentは、ERC-8004に登録された、励ましのメッセージを提供するエージェントです。オンチェーン連携の実装例として、MCPツールで発見、USDCチップ、評判フィードバックを扱い、トランザクションを検証します。
主な機能
- 014カテゴリの励ましメッセージ
- 02チップとフィードバック報告ツール
- 03ERC-8004のID・評判連携
- 04オンチェーンのチップとフィードバック検証
- 05サービス統計とチップガイド
活用シーン
- 01励ましやプログラミングジョークの取得
- 02エージェントの発見とMCPツールの呼び出し
- 03USDCチップの送信と取引報告
- 04オンチェーンの評判フィードバック送信
MCP 対応
SSEを使って、メッセージ取得、チップ情報、チップ確認、フィードバック報告など6つのツールをMCP経由で公開します。任意のMCPクライアントからSSEエンドポイントに接続できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://aws.tail177fbd.ts.net/sseclaude mcp add --transport sse edge-claw-mood-booster-agent https://aws.tail177fbd.ts.net/sse{"mcpServers":{"edge-claw-mood-booster-agent":{"type":"sse","url":"https://aws.tail177fbd.ts.net/sse"}}}Cursor で開く{"servers":{"edge-claw-mood-booster-agent":{"type":"sse","url":"https://aws.tail177fbd.ts.net/sse"}}}VS Code で開く{"mcpServers":{"edge-claw-mood-booster-agent":{"type":"sse","url":"https://aws.tail177fbd.ts.net/sse"}}}{"mcpServers":{"edge-claw-mood-booster-agent":{"serverUrl":"https://aws.tail177fbd.ts.net/sse"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
ムードブースターエージェント
英語 | 中文
MCPプロトコル経由で元気が出るメッセージを届ける、ERC-8004に登録されたAIエージェントです。気分がよくなりましたか? 0.001 USDCをチップとして贈りましょう!
このプロジェクトの目的
ERC-8004エージェントとのやり取りの流れを完全に実装したリファレンス実装です。
- オンチェーンでの検出 — Identity Registryを照会して、エージェントのMCPエンドポイントを見つけます
- MCP通信 — SSE経由で接続し、ツールを呼び出して結果を取得します
- USDCでのチップ — オンチェーンの少額決済でエージェントに報酬を贈ります
- 評判フィードバック — Reputation Registryにオンチェーンのフィードバックを送信します(
giveFeedback) - オンチェーンでの検証 — サーバーがトランザクションレシートを使ってチップとフィードバックを検証します
この5つの手順はすべて、ERC-8004プロトコルのコントラクト上に追跡可能なオンチェーン記録を残すため、今後のエコシステムのエアドロップの対象となる資格をウォレットが得られます。
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 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
オンチェーン情報
| チェーン | agentId | エクスプローラー |
|---|---|---|
| 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エンドポイント:
https://oc-001.tail177fbd.ts.net/mcp/sse - チップ用ウォレット:
0x4f5caa4fa9Dd7F92A687582b0e09234bEf49F80a
MCPツール
| ツール | 説明 |
|---|---|
cheer_me_up | 温かく元気が出るメッセージを取得します(励まし/褒め言葉/知恵/ジョーク) |
get_tip_info | 自動送金用のチップ詳細をJSON形式で取得します |
confirm_tip | オンチェーン検証を伴う、完了済みのUSDCチップを報告します |
report_feedback | ERC-8004のgiveFeedbackトランザクションを報告します — 追跡可能なプロトコルとのやり取りをオンチェーンに残します |
how_to_tip | コード例付きのチップ方法をまとめたガイドを取得します |
get_stats | サービスの統計情報を確認します |
クイックスタート
サーバーを実行する
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
最初から最後までの一連の流れ
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(MCPクライアント不要)
curl https://oc-001.tail177fbd.ts.net/mcp/api/cheer
curl "https://oc-001.tail177fbd.ts.net/mcp/api/cheer?category=joke"
Claude Codeで使う
~/.claude/claude_code_config.jsonに次の内容を追加します。
{
"mcpServers": {
"mood-booster": {
"type": "sse",
"url": "https://oc-001.tail177fbd.ts.net/mcp/sse"
}
}
}
Claude Codeで次のように入力できます。
> Cheer me up!
> Tell me a programming joke
> How do I tip this agent?
任意のMCPクライアントで使う
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();
オンチェーンでの検出
任意のエージェントがブロックチェーンからこのサービスを直接検出できます。
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
技術スタック
- アイデンティティ: ERC-8004 — AIエージェントのIdentity Registry
- 評判: ERC-8004 — Reputation Registry経由のオンチェーンフィードバック
- プロトコル: SSE上のMCP(Model Context Protocol)
- 決済: BSC/Base/Ethereum上のUSDC(ERC-20)
- ランタイム: Node.js、Express、ethers.js
- インフラストラクチャ: Tailscale Funnel(HTTPSリバースプロキシ)
作者
- GitHub: @edge-claw
- Twitter: @mutou1852
- メール: [email protected]
- ウォレット:
0x4f5caa4fa9Dd7F92A687582b0e09234bEf49F80a
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。