mcpField
M
MEXC MCP Server

MEXC MCP Server

ローカル
github.com/RyanLisse金融データ572 週間前に更新

MEXC MCP Server について

MEXC MCP ServerはEncore.tsを使い、MEXCの市場データ、口座情報、取引操作をMCPクライアントに公開します。市場照会と注文管理を組み合わせるワークフロー向けで、シークレット管理、レート制限、キャッシュも備えています。

主な機能

  1. 01リアルタイム価格と注文板の照会
  2. 02残高と注文履歴の取得
  3. 03注文の発注・取消・状態確認
  4. 04API認証情報の管理
  5. 05レート制限とキャッシュ

活用シーン

  1. 01取引ペアの価格と24時間統計の確認
  2. 02口座残高とポジションの確認
  3. 03ツール経由での注文発注や取消

MCP 対応

市場データ、取引、口座操作のMCPツールを提供し、クライアントはMCPリソースの一覧取得と読み取りもできます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MEXC MCP Server

Encore.ts を使用した MEXC 仮想通貨取引所連携用の Model Context Protocol(MCP)サーバー実装です。

🚀 機能

  • リアルタイムの市場データ:MEXC 取引所のライブティッカー価格、オーダーブック、24 時間統計
  • 安全な API 管理:API キーのための Encore.ts シークレット管理
  • レート制限とキャッシュ:組み込みの保護機能とパフォーマンス最適化
  • 型安全性:Encore.ts インターフェースを使用した完全な TypeScript 実装
  • テスト駆動開発:カバレッジ 90% 超の包括的なテストスイート
  • CI/CD パイプライン:テスト、リンティング、デプロイの自動化
  • コミット前フック:コード品質チェックの自動化

📋 前提条件

🛠️ ローカル開発のセットアップ

1. クローンしてインストール
git clone https://github.com/RyanLisse/mexc-mcp-server.git
cd mexc-mcp-server
bun install
2. 環境設定

プロジェクトのルートに .env ファイルを作成します。

# MEXC API Credentials
MEXC_API_KEY=your_mexc_api_key_here
MEXC_SECRET_KEY=your_mexc_secret_key_here
3. 開発ワークフロー
# Start development server
bun run dev

# Run tests (with watch mode)
bun run test:watch

# Run all quality checks
bun run check

# Format and lint code
bun run format
bun run lint:fix

🧪 テスト

# Run all tests
bun test

# Run tests with coverage
bun run test:coverage

# Run specific test file
bun test auth/auth.test.ts

# Test MEXC API connectivity
bun run test:mexc

🔧 利用可能な MCP ツール

ツール名説明入力パラメーター
mexc_get_ticker現在のティッカー価格と 24 時間統計を取得しますsymbol: string, convert?: string
mexc_get_order_book現在のオーダーブック(買い注文/売り注文)を取得しますsymbol: string, limit?: number
mexc_get_24h_stats24 時間の取引統計を取得しますsymbol?: string
mexc_test_connectivityAPI 接続とサーバー時刻をテストしますなし
mexc_test_authenticationAPI 認証をテストしますなし
mexc_get_active_symbols取引中のすべてのシンボルを取得しますlimit?: number
mexc_place_order買い注文または売り注文を発注します`symbol: string, side: 'buy'
mexc_cancel_order既存の注文をキャンセルしますsymbol: string, orderId: string
mexc_get_order_status注文のステータスと詳細を取得しますsymbol: string, orderId: string
mexc_get_account_balanceアカウント残高を取得しますなし
mexc_get_open_ordersすべての未決済注文を取得しますsymbol?: string
mexc_get_order_history注文履歴を取得しますsymbol?: string, limit?: number
mexc_get_trade_history取引の約定履歴を取得しますsymbol?: string, limit?: number

🚀 デプロイ

Encore Cloud へのデプロイ
  1. Encore CLI をインストール:

    curl -L https://encore.dev/install.sh | bash
    
  2. 認証:

    encore auth login
    
  3. シークレットを設定:

    # For staging environment
    encore secret set --env=staging MEXC_API_KEY "your_api_key"
    encore secret set --env=staging MEXC_SECRET_KEY "your_secret_key"
    
    # For production environment
    encore secret set --env=production MEXC_API_KEY "your_api_key"
    encore secret set --env=production MEXC_SECRET_KEY "your_secret_key"
    
  4. デプロイ:

    # Deploy to staging
    encore deploy --env=staging
    
    # Deploy to production
    encore deploy --env=production
    
デプロイの自動化

このプロジェクトには、自動デプロイ用の GitHub Actions ワークフローが含まれています。

  • CI パイプライン(.github/workflows/ci.yml):すべての PR とプッシュで実行

    • 型チェック
    • リンティングとフォーマット
    • テストの実行
    • セキュリティスキャン
    • ビルドの検証
  • デプロイパイプライン(.github/workflows/deploy.yml):Encore Cloud にデプロイ

    • main ブランチへのプッシュで起動
    • 環境を選択して手動デプロイ
    • ヘルスチェックの自動化
    • シークレット管理
必須の GitHub シークレット

GitHub リポジトリの設定で、以下のシークレットを設定します。

ENCORE_AUTH_TOKEN=your_encore_auth_token
ENCORE_INSTALL_ID=your_encore_install_id
MEXC_API_KEY=your_mexc_api_key
MEXC_SECRET_KEY=your_mexc_secret_key
CODECOV_TOKEN=your_codecov_token  # Optional, for coverage reports

🔒 セキュリティとシークレット管理

Encore.ts のシークレット

このプロジェクトでは、認証情報を安全に保存するため、Encore.ts の組み込みシークレット管理を使用しています。

// In shared/config.ts
import { secret } from "encore.dev/config";

// Secrets are automatically injected by Encore.ts
const mexcApiKey = secret("MEXC_API_KEY");
const mexcSecretKey = secret("MEXC_SECRET_KEY");

// For local development, use environment variables
const localConfig = {
  apiKey: process.env.MEXC_API_KEY || mexcApiKey(),
  secretKey: process.env.MEXC_SECRET_KEY || mexcSecretKey(),
};
シークレットの設定
# Set secrets for different environments
encore secret set --env=development MEXC_API_KEY "your_dev_api_key"
encore secret set --env=development MEXC_SECRET_KEY "your_dev_secret_key"

encore secret set --env=staging MEXC_API_KEY "your_staging_api_key"
encore secret set --env=staging MEXC_SECRET_KEY "your_staging_secret_key"

encore secret set --env=production MEXC_API_KEY "your_prod_api_key"
encore secret set --env=production MEXC_SECRET_KEY "your_prod_secret_key"
ベストプラクティス
  • ✅ API キーをバージョン管理にコミットしないでください
  • ✅ 環境ごとのシークレット(ステージング/本番環境)を使用してください
  • ✅ API キーを定期的にローテーションしてください
  • ✅ API の使用状況とレート制限を監視してください
  • ✅ 最小権限の原則に従ってアクセス権を設定してください

🔄 CI/CD パイプライン

コミット前フック

Husky のコミット前フックでコード品質を確保します。

# Automatically runs on git commit
- Lint-staged (format & lint staged files)
- Type checking
- Test execution
GitHub Actions
CI ワークフロー(.github/workflows/ci.yml)
  • トリガー:プルリクエスト、および main/develop へのプッシュ
  • 手順:インストール → 型チェック → リンティング → テスト → セキュリティスキャン → ビルド
デプロイワークフロー(.github/workflows/deploy.yml)
  • トリガー:main へのプッシュ、または手動実行
  • 手順:品質チェック → デプロイ → ヘルスチェック → 通知

📊 API エンドポイント

ヘルスチェックと情報
  • GET /health - サービスのヘルスチェック
  • GET /mcp/info - MCP プロトコル情報
  • GET / - API の概要
認証サービス
  • POST /auth/validate - API キーを検証
  • GET /auth/status - 認証ステータス
  • POST /auth/rate-limit - レート制限のステータス
  • GET /auth/test-mexc - MEXC 認証情報をテスト
マーケットデータサービス
  • POST /market-data/ticker - ティッカーデータを取得
  • POST /market-data/order-book - オーダーブックを取得
  • POST /market-data/24h-stats - 24 時間の統計情報を取得
  • GET /market-data/test-connectivity - 接続をテスト
  • GET /market-data/test-auth - 認証をテスト
  • POST /market-data/active-symbols - アクティブなシンボルを取得
  • GET /market-data/health - マーケットデータサービスのヘルス状態
  • GET /market-data/mcp/tools - 利用可能な MCP ツール
トレーディングサービス
  • POST /trading/place-order - 新しい注文を発注
  • POST /trading/cancel-order - 既存の注文をキャンセル
  • POST /trading/order-status - 注文ステータスを取得
  • GET /trading/open-orders - 未決済注文を取得
  • POST /trading/order-history - 注文履歴を取得
  • POST /trading/trade-history - 取引履歴を取得
  • GET /trading/health - トレーディングサービスのヘルス状態
ポートフォリオサービス
  • GET /portfolio/balance - 口座残高を取得
  • GET /portfolio/positions - 保有中のポジションを取得
  • POST /portfolio/pnl - 損益データを取得
  • GET /portfolio/health - ポートフォリオサービスのヘルス状態
ツールサービス(MCP プロトコル)
  • GET /tools/list - 利用可能なすべての MCP ツールを一覧表示
  • POST /tools/call - MCP ツールを実行
  • GET /tools/resources - MCP リソースを一覧表示
  • POST /tools/resources/read - MCP リソースの内容を読み取る

🧩 アーキテクチャ

Encore.ts サービス

このアプリケーションは、5 つの主要サービスで構成されるマイクロサービスアーキテクチャを使用して構築されています。

mexc-mcp-server/
├── encore.service.ts        # Main service definition
├── api.ts                   # Root API endpoints
├── auth/                    # Authentication service
│   ├── encore.service.ts    # Service definition
│   ├── api.ts              # Auth endpoints
│   └── auth.ts             # Auth logic
├── market-data/             # Market data service
│   ├── encore.service.ts    # Service definition
│   ├── api.ts              # Market data endpoints
│   ├── tools.ts            # MCP tools implementation
│   └── mexc-client.ts      # MEXC API client
├── trading/                 # Trading operations service
│   ├── encore.service.ts    # Service definition
│   ├── api.ts              # Trading endpoints
│   └── tools.ts            # Trading MCP tools
├── portfolio/               # Portfolio management service
│   ├── encore.service.ts    # Service definition
│   ├── api.ts              # Portfolio endpoints
│   └── tools.ts            # Portfolio MCP tools
└── tools/                   # MCP tools aggregation service
    ├── encore.service.ts    # Service definition
    └── api.ts              # MCP protocol endpoints
サービスの依存関係
  • auth:基本的な認証とレート制限
  • market-data:リアルタイムのマーケットデータ(auth に依存)
  • trading:注文管理(auth、market-data に依存)
  • portfolio:口座とポジションの追跡(auth、trading に依存)
  • tools:MCP プロトコルの実装(すべてのサービスを統合)

🤝 貢献

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します:git checkout -b feature/amazing-feature
  3. コーディング規約に従って変更を加えます
  4. テストを実行します:bun test
  5. Conventional Commits に従ってコミットします:git commit -m "feat: add amazing feature"
  6. ブランチにプッシュします:git push origin feature/amazing-feature
  7. プルリクエストを作成します
開発規約
  • ✅ 厳格モードの TypeScript
  • ✅ テスト駆動開発(TDD)
  • ✅ ファイルは 500 行未満
  • ✅ 型安全性を確保する Encore.ts インターフェース
  • ✅ Conventional Commits
  • ✅ 新機能のテストカバレッジは 90% 以上
  • ✅ リントとフォーマットには Biome.js を使用

📝 ライセンス

MIT ライセンスの詳細については、LICENSE ファイルを参照してください。

🆘 サポート

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。