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) │
└─────────────────┘ └─────────────────┘
🚀 クイックスタート
ローカル開発環境
- リポジトリをクローン
git clone https://github.com/YOUR_USERNAME/metamask-mcp-server.git
cd metamask-mcp-server
- 簡易版サーバーを起動
python3 simple_metamask_server.py
- HTTPサーバーを起動
python3 -m http.server 8080
- ブラウザでアクセス
http://localhost:8080/simple_client_demo.html
本番環境(EC2)
- EC2インスタンスに接続
ssh -i your-key.pem ubuntu@your-ec2-ip
- デプロイスクリプトを実行
chmod +x deploy.sh
./deploy.sh
- ブラウザでアクセス
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/connect | MetaMask接続 |
| 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設定: クロスオリジンリクエスト制御
- 入力検証: パラメータの検証
- ログ記録: 全操作のログ記録
- エラーハンドリング: 適切なエラー処理
🤝 貢献
プルリクエストやイシューの報告を歓迎します!
- このリポジトリをフォーク
- フィーチャーブランチを作成 (
git checkout -b feature/amazing-feature) - 変更をコミット (
git commit -m 'Add some amazing feature') - ブランチにプッシュ (
git push origin feature/amazing-feature) - プルリクエストを作成
📝 ライセンス
このプロジェクトはMITライセンスの下で公開されています。
🙏 謝辞
このプロジェクトは、MetaMask連携とMCPサーバー開発の学習を通じて作成されました。ブロックチェーン技術の普及に貢献できれば幸いです。
⭐ このプロジェクトが役に立ったら、スターを付けてください!