metamask-mcp-server

macnishio/metamask-mcp-server

3.1

If you are the rightful owner of metamask-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

MetaMask MCP Server is a production-ready server that integrates with MetaMask, providing a remotely accessible API.

MetaMask MCP Server

🚀 概要

MetaMask連携MCPサーバーは、実際のMetaMaskと連携し、リモートからアクセス可能なAPIを提供する本番稼働対応のサーバーです。

✨ 機能

  • 実際のMetaMask連携 - ブラウザからMetaMaskに直接接続
  • WebSocket通信 - リアルタイムデータ同期
  • RESTful API - 標準的なWeb API
  • 本番稼働対応 - EC2でのデプロイメント
  • セキュリティ対策 - レート制限、CORS、ログ記録

🏗️ アーキテクチャ

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   ブラウザ      │    │   EC2サーバー    │    │   Ethereum      │
│   (MetaMask)    │◄──►│   (MCP Server)  │◄──►│   RPC Nodes     │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │
         │                       │
         ▼                       ▼
┌─────────────────┐    ┌─────────────────┐
│   WebSocket     │    │   REST API      │
│   (リアルタイム) │    │   (HTTP)        │
└─────────────────┘    └─────────────────┘

🚀 クイックスタート

ローカル開発環境

  1. リポジトリをクローン
git clone https://github.com/YOUR_USERNAME/metamask-mcp-server.git
cd metamask-mcp-server
  1. 簡易版サーバーを起動
python3 simple_metamask_server.py
  1. HTTPサーバーを起動
python3 -m http.server 8080
  1. ブラウザでアクセス
http://localhost:8080/simple_client_demo.html

本番環境(EC2)

  1. EC2インスタンスに接続
ssh -i your-key.pem ubuntu@your-ec2-ip
  1. デプロイスクリプトを実行
chmod +x deploy.sh
./deploy.sh
  1. ブラウザでアクセス
http://your-ec2-ip:8080/production_client.html

📋 必要な環境

  • Python: 3.8以上
  • ブラウザ: Chrome, Firefox, Edge(MetaMask対応)
  • MetaMask: ブラウザ拡張機能
  • EC2: Ubuntu 20.04 LTS以上(本番環境)

📡 API エンドポイント

基本情報

  • ベースURL: http://localhost:8080 (ローカル) / http://your-ec2-ip:8080 (本番)
  • WebSocket: ws://localhost:8080/ws (ローカル) / ws://your-ec2-ip:8080/ws (本番)

エンドポイント一覧

メソッドエンドポイント説明
GET/api/statusサーバー状態
GET/api/healthヘルスチェック
POST/api/connectMetaMask接続
GET/api/accountsアカウント一覧
GET/api/balance残高取得
GET/api/networkネットワーク情報
POST/api/switch_networkネットワーク切り替え
POST/api/send_transactionトランザクション送信
POST/api/sign_messageメッセージ署名
GET/api/transaction_historyトランザクション履歴

📊 ファイル構成

metamask-mcp-server/
├── production_metamask_server.py  # 本番用サーバー
├── production_client.html         # 本番用クライアント
├── simple_metamask_server.py     # 簡易版サーバー
├── simple_client_demo.html       # 簡易版クライアント
├── mcp_client_demo.html          # MCPクライアントデモ
├── metamask_mcp_server.py        # MCPサーバー(完全版)
├── mcp_config.json               # MCP設定ファイル
├── requirements.txt              # Python依存関係
├── deploy.sh                     # EC2デプロイスクリプト
├── Dockerfile                    # Docker設定
├── docker-compose.yml            # Docker Compose設定
├── nginx.conf                    # Nginx設定
├── MCP_README.md                 # MCP詳細ドキュメント
└── README.md                     # このファイル

🔒 セキュリティ

  • レート制限: API呼び出し回数制限
  • CORS設定: クロスオリジンリクエスト制御
  • 入力検証: パラメータの検証
  • ログ記録: 全操作のログ記録
  • エラーハンドリング: 適切なエラー処理

🤝 貢献

プルリクエストやイシューの報告を歓迎します!

  1. このリポジトリをフォーク
  2. フィーチャーブランチを作成 (git checkout -b feature/amazing-feature)
  3. 変更をコミット (git commit -m 'Add some amazing feature')
  4. ブランチにプッシュ (git push origin feature/amazing-feature)
  5. プルリクエストを作成

📝 ライセンス

このプロジェクトはMITライセンスの下で公開されています。

🙏 謝辞

このプロジェクトは、MetaMask連携とMCPサーバー開発の学習を通じて作成されました。ブロックチェーン技術の普及に貢献できれば幸いです。


⭐ このプロジェクトが役に立ったら、スターを付けてください!