mcpField
M
Mcp Server Upstox

Mcp Server Upstox

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

Mcp Server Upstox について

Mcp Server Upstoxは、インド株式の調査や分析向けに、Upstoxの市場・口座データをAIエージェントへ提供します。テクニカル指標や口座情報を扱い、すべて読み取り専用です。

主な機能

  1. 01リアルタイム価格と銘柄検索
  2. 02履歴および日中の市場データ
  3. 03テクニカル指標とローソク足パターン
  4. 04読み取り専用の口座・ポートフォリオ情報

活用シーン

  1. 01現在の価格や取引量の確認
  2. 02指標やサポート水準の分析
  3. 03保有銘柄、ポジション、利用可能証拠金の確認

MCP 対応

このMCPサーバーは、Upstoxの市場データ、テクニカル分析機能、読み取り専用の口座情報をツールとしてMCPクライアントに公開します。stdioとHTTPに対応し、リモート利用ではBYOKを使用できます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Upstox MCP サーバー:インド株式市場向けグローバル Model Context Protocol 📈

README の画像

GitHub Star License: MIT Python Support MCP Version

公式スタイルの Upstox MCP サーバーは、Upstox Trading API向けに高性能な**Model Context Protocol(MCP)統合を提供します。Claude Desktop、Cursor IDEなどの AI エージェントや、独自の LLM アプリケーションから、リアルタイムのインド株式市場データ(NSE、BSE、MCX)への安全なアクセス、高度なテクニカル分析(RSI、MACD、ボリンジャーバンド)**の実行、ポートフォリオ情報の管理を、厳格な読み取り専用モードで行えます。

Nifty 50、Bank Nifty、数千銘柄のインド株を対象とした、アルゴリズム取引、市場分析、自動リサーチに最適化されています。

📖 Modern AI Day で紹介されました: AI の USB ポート:Claude をリアルタイムの市場データに接続

🌐 ライブデモインスタンス: https://mcp-server-upstox.onrender.com/mcp


🛠️ 技術スタック


⚡ クイックスタート(リモート BYOK)

**Bring Your Own Key(BYOK)**に対応しているため、Claude Desktop をリモートインスタンスに数秒で接続できます。

{
  "mcpServers": {
    "Upstox-Remote": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp-server-upstox.onrender.com/mcp",
        "--header", "X-Upstox-API-Key:YOUR_API_KEY",
        "--header", "X-Upstox-API-Secret:YOUR_API_SECRET",
        "--header", "X-Upstox-Access-Token:YOUR_ACCESS_TOKEN"
      ]
    }
  }
}

🚀 機能

📊 市場データ
  • リアルタイム株価 - market_get_live_quote
  • 銘柄検索 - market_search_instruments
  • 過去データ - market_get_historical_data(カスタム期間)
  • 日中足 - market_get_intraday_candles
📈 テクニカル分析
  • 詳細な指標 - RSI、MACD、ADX、ボリンジャーバンドなどの個別ツール
  • フィボナッチ水準 - analysis_calculate_fibonacci_levels
  • ローソク足パターン - analysis_analyze_candlestick_patterns
  • スマートコンテキスト - analysis_get_technical_analysis(スーパー ツール)
👤 アカウント管理(読み取り専用)
  • 証拠金の詳細 - account_get_user_margin
  • 注文一覧 - account_get_order_book
  • 取引履歴 - account_get_trade_history
  • ポートフォリオ - 保有銘柄とポジションの一覧
🤖 MCP ネイティブ
  • AI を最優先した設計 - AI エージェント専用に構築
  • ツールベースのアーキテクチャ - 自然言語を API 呼び出しに変換
  • マルチユーザー対応 - 安全な「Bring Your Own Key(BYOK)」アーキテクチャ
  • 会話型インターフェース - 複雑な API の知識は不要

⚠️ 安全に関する注意

この MCP サーバーは厳格な読み取り専用です
❌ 注文の発注なし
❌ 注文の変更なし
❌ 資金の振替なし
❌ 取引操作なし

お客様の安全とセキュリティを守るため、取引エンドポイントは意図的に除外されています。


📦 インストール

前提条件
  • Python 3.10 以降
  • Upstox 取引アカウント
  • Upstox API 認証情報
1️⃣ リポジトリをクローン
git clone https://github.com/ravikant1918/mcp-server-upstox.git
cd mcp-server-upstox
2️⃣ 仮想環境を作成(推奨)
python -m venv venv

# On macOS/Linux
source venv/bin/activate

# On Windows
venv\Scripts\activate
3️⃣ 依存関係のインストール
pip install -e .
4️⃣ インストールの確認
upstox-mcp --version

🔐 設定

Upstox API 認証情報の取得
  1. Upstox Developer Console にログイン

  2. アプリを作成

    • 「My Apps」に移動
    • 「Create App」をクリック
    • 詳細を入力:
      • アプリ名:「MCP Server」
      • リダイレクト URL:http://localhost:8000/callback
      • 読み取り専用の権限を選択
  3. API キーを取得

    • API Key と API Secret を控えます
  4. アクセストークンを生成

    • Upstox OAuth フローに従います
    • または、Upstox のトークン生成ツールを使用します
    • トークンの有効期間は24時間です(毎日更新が必要です)
環境設定

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

# Required
UPSTOX_ACCESS_TOKEN=your_access_token_here

# Optional (for token auto-refresh)
UPSTOX_API_KEY=your_api_key
UPSTOX_API_SECRET=your_api_secret

セキュリティのベストプラクティス:

  • .env ファイルをバージョン管理にコミットしないでください
  • .env を .gitignore に追加します
  • トークンを定期的にローテーションします
  • 読み取り専用の API スコープのみを使用します

▶️ サーバーの起動

オプション A — 標準入出力(Claude Desktop 用)

ローカルの AI エージェントで使用する場合のデフォルトモードです:

upstox-mcp
# or
upstox-mcp --transport stdio
オプション B — HTTP モード(Cursor またはリモートアクセス用)

ウェブベースの AI エージェントにおすすめです:

upstox-mcp --transport http
# Server will start on http://localhost:8000

カスタムポート:

upstox-mcp --transport http --port 8080
オプション C — Docker でのデプロイ
Docker Compose を使用(推奨)
# Build and run
docker-compose up -d

# View logs
docker-compose logs -f

# Stop
docker-compose down
Docker CLI を使用
# Build image
docker build -t upstox-mcp .

# Run container
docker run -d \
  -p 8000:8000 \
  --env-file .env \
  --name upstox-mcp \
  upstox-mcp

# View logs
docker logs -f upstox-mcp

# Stop container
docker stop upstox-mcp

サーバーは http://localhost:8000/mcp で利用できます。


🔌 MCP クライアントの設定

Claude Desktop

設定ファイルの場所:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json

設定:

{
  "mcpServers": {
    "Upstox": {
      "command": "/absolute/path/to/venv/bin/upstox-mcp",
      "args": ["--transport", "stdio"],
      "env": {
        "UPSTOX_ACCESS_TOKEN": "YOUR_ACCESS_TOKEN"
      }
    }
  }
}

絶対パスの確認方法:

# On macOS/Linux
which upstox-mcp

# On Windows (PowerShell)
(Get-Command upstox-mcp).Path
Cursor IDE
  1. Cursor の設定を開きます
  2. Features → MCP に移動します
  3. 新しいサーバーを追加します:
    • Name:Upstox
    • Type:HTTP
    • URL:http://localhost:8000/mcp
リモート MCP(mcp-remote 経由)— BYOK 対応

サーバーをリモートで実行する場合や、マルチユーザー環境(例:Render)で実行する場合は、ヘッダー経由で認証情報を渡すことができます。これは Bring Your Own Key(BYOK) と呼ばれます。

{
  "mcpServers": {
    "Upstox-Remote": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp-server-upstox.onrender.com/mcp",
        "--header", "X-Upstox-API-Key:YOUR_API_KEY",
        "--header", "X-Upstox-API-Secret:YOUR_API_SECRET",
        "--header", "X-Upstox-Access-Token:YOUR_ACCESS_TOKEN"
      ]
    }
  }
}

ヒント

これにより、サーバー側で認証情報を共有することなく、複数のユーザーが同じサーバーインスタンスを安全に使用できます。


🧠 プロンプトの例(AI エージェント向け)

市場データに関する問い合わせ
"What's the current price of RELIANCE?"
"Show me OHLC data for INFY"
"Get live quote for TATAMOTORS on NSE"
"What's the volume on SBIN today?"
テクニカル分析
"Run technical analysis on BHARTIARTL"
"Show RSI and MACD for HDFCBANK"
"Is TCS in a bullish or bearish trend?"
"Find support and resistance levels for WIPRO"
"Analyze ICICIBANK with EMA-20 and EMA-50"
日中分析
"Show me 5-minute candles for RELIANCE"
"Get 1-minute chart data for INFY"
"Display 15-minute intraday data for SBIN"
アカウント情報
"Show my Upstox account summary"
"What's my available margin?"
"List all my holdings"
"Show my current positions and P&L"
"What's my total portfolio value?"
"How much profit/loss do I have in TRIDENT?"
複雑な分析
"Analyze all my holdings technically and rank them by strength"
"Compare HDFC Bank vs ICICI Bank - which is better?"
"Find oversold stocks in my watchlist (RSI < 30)"
"Which of my holdings are above their 50-day EMA?"
"Show me stocks breaking resistance levels today"

🧰 利用可能な MCP ツール

カテゴリツール名説明
市場market_get_live_quote最終取引価格、OHLC、出来高
市場market_search_instruments取引銘柄を検索
市場market_get_instrument_details銘柄の詳細メタデータ
市場market_get_historical_dataカスタム期間の過去ローソク足データ
市場market_get_intraday_candlesリアルタイムの日中チャート
分析analysis_calculate_rsiモメンタム分析(RSI)
分析analysis_calculate_macdトレンドとモメンタム(MACD)
分析analysis_calculate_adxトレンドの強さ(ADX)
分析analysis_calculate_moving_averagesトレンド分析(SMA/EMA)
分析analysis_calculate_bollinger_bandsボラティリティ分析
分析analysis_calculate_support_resistanceピボットベースの水準
分析analysis_calculate_volatility_metricsリスク評価(ATR)
分析analysis_calculate_stochasticモメンタムオシレーター
分析analysis_calculate_williams_r%R モメンタム
分析analysis_calculate_fibonacci_levelsリトレースメント水準
分析analysis_analyze_candlestick_patternsパターン検出
分析analysis_get_technical_analysis複数の指標を用いた総合レポート
アカウントaccount_get_summaryポートフォリオのスナップショット
アカウントaccount_get_user_margin利用可能な資金
アカウントaccount_get_holdings_list株式保有一覧
アカウントaccount_get_positions_list保有中のポジション
アカウントaccount_get_order_book当日の注文
アカウントaccount_get_trade_history当日の約定

メモ

すべてのツールは、標準化された JSON レスポンスを返します:{ "success": true, "data": ..., "error": null, "metadata": ... }。

ツールの詳細
get_live_quote
{
  "symbol": "RELIANCE",      # Stock symbol
  "exchange": "NSE_EQ"       # NSE_EQ or BSE_EQ (default: NSE_EQ)
}
get_intraday_candles
{
  "symbol": "INFY",
  "interval": "5minute",     # 1minute, 3minute, 5minute, 10minute, 15minute, 30minute
  "exchange": "NSE_EQ"
}
get_technical_analysis
{
  "symbol": "SBIN",
  "interval": "1day",        # 1minute, 5minute, 15minute, 30minute, 1day, 1week
  "indicators": [            # Array of indicators
    "RSI",                   # Relative Strength Index
    "MACD",                  # Moving Average Convergence Divergence
    "EMA_20",                # Exponential Moving Average (20 period)
    "EMA_50",
    "SMA_200",               # Simple Moving Average (200 period)
    "BBANDS",                # Bollinger Bands
    "VWAP",                  # Volume Weighted Average Price
    "ATR"                    # Average True Range
  ],
  "exchange": "NSE_EQ"
}

対応インジケーター:

  • RSI - モメンタムオシレーター(デフォルトは14期間)
  • MACD - トレンドフォロー型インジケーター
  • EMA_x - 指数移動平均(例:EMA_20、EMA_50、EMA_200)
  • SMA_x - 単純移動平均(例:SMA_50、SMA_200)
  • BBANDS - ボリンジャーバンド(ボラティリティ)
  • VWAP - 出来高加重平均価格
  • ATR - 平均真の値幅(ボラティリティ)

返される内容:

  • 価格データ
  • 計算されたインジケーター
  • 検出されたローソク足パターン
  • トレンドの状況(強気/弱気/横ばい)
  • サポートとレジスタンスの水準

🏗️ アーキテクチャ

┌─────────────────┐
│   AI Agent      │  (Claude Desktop, Cursor, etc.)
│  (Claude/GPT)   │
└────────┬────────┘
         │
         │ MCP Protocol
         │
┌────────▼────────┐
│   FastMCP       │  (MCP Server Framework)
│   Server        │
└────────┬────────┘
         │
         │ Python Functions
         │
┌────────▼────────┐
│   Upstox API    │  (Read-Only Access)
│   Client        │
└────────┬────────┘
         │
         │ HTTPS
         │
┌────────▼────────┐
│   Upstox        │  (Live Market Data)
│   Backend       │
└─────────────────┘

📊 技術スタック

  • フレームワーク: FastMCP(Model Context Protocol)
  • API クライアント: Upstox Python SDK
  • テクニカル分析: pandas-ta
  • ウェブサーバー: Uvicorn(HTTP モード用)
  • コンテナ化: Docker、Docker Compose

🔧 トラブルシューティング

よくある問題
1. 「Invalid token」エラー

問題: アクセストークンの有効期限が切れています(トークンの有効期間は24時間です)

解決方法:

# Generate new token from Upstox
# Update .env file with new token
# Restart the MCP server
2. 「Command not found: upstox-mcp」

問題: パッケージがインストールされていないか、PATH にありません

解決方法:

# Activate virtual environment
source venv/bin/activate  # macOS/Linux
venv\Scripts\activate     # Windows

# Reinstall package
pip install -e .
3. Claude Desktop がサーバーを検出しない

問題: 設定ファイルのパスまたは形式に問題があります

解決方法:

  • 設定ファイルの場所を確認します
  • JSON の構文を確認します(JSON バリデーターを使用してください)
  • 実行ファイルへの絶対パスを指定します
  • Claude Desktop を再起動します
4. 日中ローソク足で「No data returned」と表示される

問題: 市場が閉まっているか、最近の取引がありません

解決方法:

  • 市場が開いているか確認します(IST の午前9時15分~午後3時30分、月~金)
  • 別の間隔を試します
  • 銘柄が正しいことを確認します
5. レート制限

問題: 短時間に API 呼び出しを行いすぎています

解決方法:

  • リクエスト間に遅延を追加します
  • キャッシュを実装します(今後の拡張)
  • 可能な場合はバッチクエリを使用します

🚧 制限事項

  1. トークンの有効期限:アクセストークンは24時間ごとに期限切れとなり、手動での更新が必要です
  2. 読み取り専用:安全性を考慮した設計のため、取引は実行できません
  3. API レート制限:Upstox API のレート制限が適用されます
  4. 取引時間:ライブデータを利用できるのは取引時間中のみです
  5. 過去データ:Upstox API のデータ保持ポリシーにより制限されます

🗺️ ロードマップ

バージョン 1.1(完了)
  • パフォーマンス向上のためのキャッシュレイヤー
  • 基本的なローソク足パターン検出
バージョン 2.0(完了)🚀
  • 詳細なテクニカル指標:新しい専門的な TA ツールを10種類以上追加
  • 名前空間付きツール:論理的なグループ化(market_、analysis_、account_)
  • 過去データ:任意の時間枠のデータを取得
  • 銘柄検索:名前で銘柄を検索
  • JSON セーフなレスポンススキーマ:すべてのエージェント向けの堅牢なシリアライズ
  • 注文・取引の追跡:日々の取引状況にリアルタイムでアクセス
バージョン 2.1(完了)🚀
  • BYOK サポート:HTTP ヘッダー経由で認証情報を渡す
  • マルチユーザー対応:共有デプロイ向けのセキュアなアーキテクチャ
  • 動的な手順:セットアップガイド付きのインタラクティブなランディングページ
バージョン 3.0(計画中)
  • トークンの自動更新機能
  • 長期的な過去データ追跡のためのデータベース統合
  • ポートフォリオのパフォーマンス分析
  • アラートシステム
  • 機械学習による予測
バージョン 3.0(構想)
  • 機械学習による予測
  • 戦略ビルダー
  • ソーシャルトレーディング機能
  • モバイルアプリとの連携

🤝 コントリビューション

コントリビューションを歓迎します。以下の手順に従ってください。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/AmazingFeature)
  3. 変更をコミットします(git commit -m 'Add some AmazingFeature')
  4. ブランチにプッシュします(git push origin feature/AmazingFeature)
  5. プルリクエストを作成します
開発環境のセットアップ
# Clone your fork
git clone https://github.com/ravikant1918/mcp-server-upstox.git

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black .
flake8 .

🗺️ ロードマップ

2026年第1四半期:基盤とコア分析(現在)
  • Upstox 向けの初期 MCP 実装
  • 包括的なテクニカル指標ツール
  • リモートデプロイ向けの Bring Your Own Key(BYOK)サポート
  • 動的な JSON 設定ジェネレーター
2026年第2四半期:高度な分析情報
  • セクター別の市場分析ツール
  • オプションチェーン分析(グリークス計算)
  • コーポレートアクションの追跡(配当、株式分割)
  • 複数銘柄間の相関分析
2026年第3四半期:エコシステムの拡大
  • 統合バックテストエンジンのラッパー
  • リアルタイムアラート向け Webhook サポート
  • より多くの MCP クライアントへのネイティブサポート(例:Goose、Windsurf)

📄 ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。


🙌 クレジットと謝辞

  • FastMCP - MCP サーバーのフレームワーク
  • Upstox - 取引 API と市場データ
  • pandas-ta - テクニカル分析指標
  • Anthropic - Claude AI と MCP プロトコル

📬 免責事項

重要:このプロジェクトは Upstox とは提携しておらず、Upstox による承認や後援も受けていません。

取引に関する免責事項:

  • 株式取引には多額の損失が生じるリスクがあります
  • このツールは情報提供および教育目的にのみ使用できます
  • 金融に関する助言ではありません。資格を持つファイナンシャルアドバイザーにご相談ください
  • 過去の実績は将来の成果を保証するものではありません
  • 開発者は取引による損失について責任を負いません
  • 投資判断を行う前に、必ずご自身で調査してください

API の使用:

  • Upstox API の利用規約を遵守してください
  • API のレート制限を守ってください
  • 責任を持ち、倫理的に使用してください

📞 サポート

ドキュメント
ヘルプを受ける
コミュニティ
  • 役に立ったら、このリポジトリにスター ⭐ を付けてください
  • トレーダー仲間に共有してください
  • バグを報告し、機能を提案してください
  • コードやドキュメントに貢献してください

🎯 クイックスタートの概要

# 1. Clone and install
git clone https://github.com/ravikant1918/mcp-server-upstox.git
cd mcp-server-upstox
pip install -e .

# 2. Configure
echo "UPSTOX_ACCESS_TOKEN=your_token" > .env

# 3. Run
upstox-mcp

# 4. Use with Claude
# Add to Claude Desktop config, restart, and start chatting!

インドのトレーダーのために ❤️ を込めて作成

楽しいトレーディングを! 📈🚀

コメント

MCP は初めてですか?

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

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