Limitless MCP Server について
Limitless MCP Serverは、Base上のLimitless Exchange予測市場にAI取引エージェントを接続するMCPサーバーです。市場データやウォレット、注文、ポジションを操作でき、セルフホスト可能ですが、Quantishチームによる保守は終了しています。
主な機能
- 01予測市場の検索と発見
- 02板情報と価格履歴の確認
- 03暗号化ウォレットの作成・インポート
- 04注文の発注・取消とポジション管理
- 05トークン承認と送金の管理
活用シーン
- 01暗号資産やスポーツの予測市場検索
- 02市場の板情報や価格履歴の確認
- 03ウォレット管理と指値注文の実行
- 04ポジション、損益、取引履歴の追跡
MCP 対応
ウォレット、市場検索、取引、ポジション、送金を扱う34のMCPツールを、対応クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Limitless MCP サーバー
Limitless Exchange を介した Base 上の予測市場取引
Model Context Protocol(MCP)を使用して、Limitless 予測市場向けの AI 搭載取引エージェントを構築します
⚠️ お知らせ:Quantish はサービスを終了します。 Quantish プラットフォーム(quantish.live)は閉鎖されます。この MCP サーバーはセルフホスト可能で、独立して引き続き動作しますが、Quantish チームによる本プロジェクトの保守および更新は終了します。予測市場分野でリアルタイムのデータインフラストラクチャが必要なものを構築している場合は、polynode.devをご覧ください。
特長
-
安全なウォレット管理
- 暗号化された秘密鍵ストレージを備えた、新しい Base ウォレットの生成
- Bring Your Own Wallet(BYOW) - クライアント側の暗号化により、既存のウォレットをインポート
- 秘密鍵は保存前に AES-256-GCM で暗号化されます
-
Limitless 市場へのフルアクセス
- Limitless Exchange API を介したリアルタイムの市場検索
- 政治、スポーツ、暗号資産など、すべての予測市場にアクセス
- ライブ注文板データと価格履歴
- 市場検索のためのセマンティック検索
-
取引操作
- EIP-712 署名認証による指値注文の発注
- 注文のキャンセル(単一、複数、またはすべて)
- トークン承認(USDC、CTF)の確認と設定
- 損益計算を含むポジション追跡
-
AI エージェントとの連携
- MCP(Model Context Protocol)を完全サポート
- Claude、Cursor IDE、その他の MCP 対応 AI ツールで動作
- カテゴリ別に整理された、すぐに使える取引ツールを34個提供
-
エンタープライズセキュリティ
- すべての機密データを AES-256-GCM で暗号化
- SHA-256 ハッシュを使用した API キー認証
- B2B 連携向けプラットフォームパートナーシステム
- レート制限とリクエストログ記録
クイックスタート
1. MCP を設定(Cursor IDE)
~/.cursor/mcp.jsonに追加します:
{
"mcpServers": {
"limitless": {
"url": "https://limitless-mcp-server-production.up.railway.app/mcp",
"headers": {
"x-api-key": "YOUR_API_KEY"
}
}
}
}
2. API キーを取得
MCP ツール経由:
{
"tool": "limitless_signup",
"args": {
"externalId": "your-unique-id"
}
}
3. 取引を開始
"Search for bitcoin prediction markets"
"Buy 10 YES shares at $0.60 on the BTC market"
"Show my current positions"
"Cancel my open orders"
利用可能な MCP ツール(全34個)
注: 他の MCP との名前の衝突を避けるため、すべてのツール名には
limitless_が接頭辞として付いています。
認証とセットアップ(6個のツール)
| ツール | 説明 |
|---|---|
limitless_signup | 新しい Base ウォレットでアカウントを作成 |
limitless_request_api_key | 新しい API キーを取得(HMAC 署名が必要) |
limitless_setup_wallet | 新しい Base ウォレットを生成 |
limitless_import_wallet | 既存のウォレットをインポート(暗号化済み) |
limitless_get_wallet_import_instructions | 安全なウォレットエクスポートの手順 |
limitless_import_private_key | 秘密鍵を直接インポート |
ウォレット情報(4個のツール)
| ツール | 説明 |
|---|---|
limitless_get_wallet_info | ウォレットのアドレスと種類を取得 |
limitless_get_wallet_status | 残高を含むウォレットの全ステータスを取得 |
limitless_get_balances | ETH と USDC の残高を確認 |
limitless_get_deposit_address | 入金用アドレスを取得 |
市場検索(6個のツール)
| ツール | 説明 |
|---|---|
limitless_get_markets | ページネーション付きで有効な市場の一覧を取得 |
limitless_search_markets | 市場のセマンティック検索 |
limitless_get_market | 取引会場を含む市場の詳細を取得 |
limitless_get_orderbook | 買い注文と売り注文を含む注文板を取得 |
limitless_get_price_history | 過去の価格データ |
limitless_get_categories | 市場カテゴリの一覧を取得 |
取引(8 個のツール)
| ツール | 説明 |
|---|---|
limitless_place_order | 指値注文を発注します |
limitless_cancel_order | 1 件の注文をキャンセルします |
limitless_cancel_all_orders | 市場のすべての注文をキャンセルします |
limitless_get_orders | 自分の注文一覧を取得します |
limitless_check_approvals | トークンの承認状況を確認します |
limitless_set_approvals | トークンの承認を設定します |
limitless_get_locked_balance | 注文でロックされている USDC を取得します |
limitless_get_quote | 約定価格を見積もります |
ポジション(4 個のツール)
| ツール | 説明 |
|---|---|
limitless_get_positions | 損益付きのアクティブなポジションを取得します |
limitless_get_trades | 取引履歴を取得します |
limitless_get_portfolio_history | ポートフォリオの全履歴を取得します |
limitless_sync_positions | API からポジションを同期します |
送金(3 個のツール)
| ツール | 説明 |
|---|---|
limitless_send_eth | 別のアドレスに ETH を送金します |
limitless_send_usdc | 別のアドレスに USDC を送金します |
limitless_export_private_key | ウォレットの秘密鍵をエクスポートします |
API キー管理(3 個のツール)
| ツール | 説明 |
|---|---|
limitless_list_api_keys | 自分の API キー一覧を取得します |
limitless_create_api_key | 新しい API キーを作成します |
limitless_revoke_api_key | API キーを無効にします |
セルフホスティング
前提条件
- Node.js 20+
- PostgreSQL 15+
- Base RPC へのアクセス(mainnet.base.org)
インストール
# Clone the repository
git clone https://github.com/joinQuantish/limitless-mcp.git
cd limitless-mcp
# Install dependencies
npm install
# Copy environment template
cp .env.example .env
# Edit .env with your values (see Environment Variables below)
# Generate Prisma client
npx prisma generate
# Push database schema
npx prisma db push
# Build and start
npm run build
npm start
環境変数
次の内容で .env ファイルを作成します。
# Database (PostgreSQL)
DATABASE_URL="postgresql://user:password@host:5432/limitless_mcp?schema=public"
# Encryption (generate with: openssl rand -hex 32)
ENCRYPTION_KEY="your-64-character-hex-encryption-key-here"
# Blockchain - Base L2
BASE_RPC_URL="https://mainnet.base.org"
# Limitless Exchange API
LIMITLESS_API_URL="https://api.limitless.exchange"
# Server
PORT=3003
NODE_ENV=production
# Admin API Key (generate with: openssl rand -hex 32)
ADMIN_API_KEY="your-admin-api-key-here"
# Optional: Bot signing secret for returning user verification
BOT_SIGNING_SECRET=""
Docker へのデプロイ
# Build the image
docker build -t limitless-mcp .
# Run the container
docker run -d \
-p 3003:3003 \
-e DATABASE_URL="postgresql://..." \
-e ENCRYPTION_KEY="..." \
-e ADMIN_API_KEY="..." \
-e BASE_RPC_URL="https://mainnet.base.org" \
-e LIMITLESS_API_URL="https://api.limitless.exchange" \
-e NODE_ENV=production \
limitless-mcp
Railway へのデプロイ
# Install Railway CLI
npm install -g @railway/cli
# Login and initialize
railway login
railway init
# Add PostgreSQL via Railway dashboard
# Set environment variables
railway variables set DATABASE_URL="postgresql://..."
railway variables set ENCRYPTION_KEY="$(openssl rand -hex 32)"
railway variables set ADMIN_API_KEY="$(openssl rand -hex 32)"
railway variables set BASE_RPC_URL="https://mainnet.base.org"
railway variables set LIMITLESS_API_URL="https://api.limitless.exchange"
railway variables set NODE_ENV="production"
# Deploy
railway up
API リファレンス
ヘルスチェック
curl https://your-server/health
レスポンス:
{
"status": "healthy",
"timestamp": "2026-01-17T12:00:00.000Z",
"version": "1.0.0",
"service": "limitless-mcp",
"database": "connected",
"environment": "production"
}
MCP エンドポイント
# List available tools
curl -X POST https://your-server/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
# Call a tool (authenticated)
curl -X POST https://your-server/mcp \
-H "Content-Type: application/json" \
-H "x-api-key: pk_limitless_..." \
-d '{
"jsonrpc":"2.0",
"id":1,
"method":"tools/call",
"params":{
"name":"limitless_get_balances",
"arguments":{}
}
}'
市場データ API
# Get active markets
curl "https://your-server/api/markets?limit=10&page=1"
# Search markets
curl "https://your-server/api/markets/search?query=bitcoin&limit=5"
# Get market details
curl "https://your-server/api/markets/your-market-slug"
# Get orderbook
curl "https://your-server/api/markets/your-market-slug/orderbook"
セキュリティアーキテクチャ
クリックしてセキュリティの詳細を表示
保存データの暗号化
すべての機密データは AES-256-GCM を使用して暗号化されます。
- 秘密鍵はデータベースに保存する前に暗号化されます
- セッショントークンは固有の IV で暗号化されます
- API シークレットは暗号化されます(照合用に SHA-256 ハッシュのみを保存)
API キーのセキュリティ
API Key Format: pk_limitless_<32 base64url chars>
API Secret Format: sk_limitless_<43 base64url chars>
- キーは保存前に SHA-256 でハッシュ化されます(平文で保存されることはありません)
- シークレットは AES-256-GCM で暗号化されます
crypto.timingSafeEqualを使用してタイミング攻撃に安全な比較を行います
プラットフォーム分離(B2B)
プラットフォームパートナー向け:
- プラットフォーム管理者キー:
plt_limitless_*/psk_limitless_* - すべてのクエリはデータベースレベルで platformId によってスコープが設定されます
- 監査証跡のためのアクティビティログ
- ユーザー数の上限はプラットフォームごとに適用されます
レート制限
- API キーごとに毎分 60 リクエスト(一般)
- ユーザー一覧表示は毎分 30 リクエスト(プラットフォーム管理者)
- プラットフォーム登録は毎時 5 リクエスト
セキュアなウォレットのインポート(BYOW)
既存の MetaMask/ハードウェアウォレットを安全にインポートします。
ステップ 1:秘密鍵をエクスポートする
MetaMask で、「Settings」>「Security」>「Export Private Key」を選択します。
ステップ 2:ローカルで暗号化する
const crypto = require('crypto');
const privateKey = 'YOUR_PRIVATE_KEY_WITHOUT_0x_PREFIX';
const password = 'YourSecurePassword123!'; // min 12 chars
const salt = crypto.randomBytes(32);
const iv = crypto.randomBytes(16);
const derivedKey = crypto.scryptSync(password, salt, 32, { N: 16384, r: 8, p: 1 });
const cipher = crypto.createCipheriv('aes-256-gcm', derivedKey, iv);
let encrypted = cipher.update(privateKey, 'utf8', 'hex');
encrypted += cipher.final('hex');
const authTag = cipher.getAuthTag().toString('hex');
console.log({
encryptedKey: `${encrypted}:${authTag}`,
salt: salt.toString('hex'),
iv: iv.toString('hex'),
publicKey: 'YOUR_WALLET_ADDRESS'
});
ステップ 3:SDK にインポートする
{
"tool": "limitless_import_wallet",
"args": {
"encryptedKey": "...",
"salt": "...",
"iv": "...",
"publicKey": "0x...",
"password": "YourSecurePassword123!"
}
}
セキュリティに関する注意:生の秘密鍵がお使いのマシンから外部に送信されることは決してありません。暗号化されたバンドルのみがサーバーに送信され、パスワードがなければ復号できません。
関連リソース
| リソース | URL |
|---|---|
| Limitless Exchange | https://limitless.exchange |
| Limitless API ドキュメント | https://api.limitless.exchange/api-v1 |
| Base チェーンエクスプローラー | https://basescan.org |
| Base USDC コントラクト | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 |
ライセンス
PolyForm Noncommercial 1.0.0 © Quantish
サポート
- 問題報告:GitHub Issues
- メール:[email protected]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。