🚀 Groww MCP Server
このGroww MCP Serverは、Groww取引API用の包括的なモデルコンテキストプロトコル(MCP)サーバーです。このサーバーを使うことで、Growwの取引プラットフォームとやり取りするためのツールが利用可能になり、注文の発注、ポートフォリオの管理、リアルタイムの市場データの取得などができます。

✨ 主な機能
このMCPサーバーは、Groww APIの主要なエンドポイントにすべてアクセスできます。
🔧 商品と検索
download_instruments_csv
- 取引可能な商品の完全なデータをダウンロード/更新します。
search_instruments
- 商品名、取引シンボル、Growwシンボル、または条件で商品を検索します。
get_instrument_details
- 特定の商品の詳細情報を取得します。
📋 注文管理
place_order
- 新しい注文(株式、先物・オプション)を発注します。
modify_order
- 既存の保留中/未約定注文を修正します。
cancel_order
- 保留中/未約定注文をキャンセルします。
get_order_status
- Groww注文IDで注文ステータスを取得します。
get_order_status_by_reference
- ユーザー参照IDで注文ステータスを取得します。
get_order_list
- 当日のすべての注文のリストを取得します。
get_order_details
- 注文の詳細情報を取得します。
get_order_trades
- 注文のすべての取引/約定を取得します。
💼 ポートフォリオ管理
get_holdings
- DEMAT口座の現在の株式保有状況を取得します。
get_positions
- すべての取引ポジションを取得します。
get_position_by_symbol
- 特定の取引シンボルのポジションを取得します。
💰 証拠金管理
get_user_margin
- 利用可能な証拠金の詳細を取得します。
calculate_margin_requirement
- 注文に必要な証拠金を計算します。
📊 リアルタイム市場データ
get_live_quote
- 商品の完全なリアルタイム市場データを取得します。
get_ltp
- 複数の商品(最大50個)の最終取引価格を取得します。
get_ohlc
- 複数の商品(最大50個)のOHLCデータを取得します。
📈 過去のデータ
get_historical_data
- 商品の過去のローソク足データを取得します。
📊 テクニカル分析
calculate_moving_averages
- トレンド分析のためにSMAとEMAを計算します。
calculate_rsi
- モメンタム分析のために相対力指数(RSI)を計算します。
calculate_bollinger_bands
- ボラティリティ分析のためにボリンジャーバンドを計算します。
calculate_support_resistance
- 重要なサポートとレジスタンスレベルを特定します。
calculate_volatility_metrics
- リスク評価のためにさまざまなボラティリティ指標を計算します。
calculate_macd
- トレンドとモメンタム分析のためにMACDを計算します。
calculate_stochastic
- モメンタム分析のためにストキャスティックオシレーターを計算します。
calculate_williams_r
- モメンタム分析のためにウィリアムズ%Rを計算します。
calculate_adx
- トレンドの強さを分析するためにADXを計算します。
calculate_fibonacci_levels
- フィボナッチリトレースメントと拡張レベルを計算します。
analyze_candlestick_patterns
- 一般的なローソク足パターンを特定します。
🚀 クイックスタート
前提条件
- Growwアカウント:先物・オプション取引が有効なGrowwアカウントが必要です。
- APIサブスクリプション:有効な取引APIサブスクリプション(月額₹499 + 税)が必要です。
- APIキー:Growwアカウント設定からAPIアクセストークンを生成してください。
APIキーの生成方法
- Growwアカウントにログインします。
- 右上のプロファイルセクションをクリックします。
- 設定アイコンをクリックします。
- 「取引API」に移動します。
- APIトークンを作成し、管理します。
設定
サーバーには以下の設定が必要です。
{
"apiKey": "your_groww_api_key_here",
"debug": false
}
📚 ドキュメント
APIの列挙型と定数
取引所
NSE
- 全国証券取引所(National Stock Exchange)
BSE
- ボンベイ証券取引所(Bombay Stock Exchange)
セグメント
CASH
- 通常の株式市場
FNO
- 先物とオプション
注文タイプ
MARKET
- 最良の利用可能価格で即時執行
LIMIT
- 指定された価格またはそれ以上で執行
SL
- ストップロス注文
SL_M
- ストップロス成行注文
取引タイプ
BUY
- ロングポジション
SELL
- ショートポジション
商品タイプ
CNC
- 現物取引(デリバリーベース)
MIS
- 日中マージン決済
NRML
- 通常のマージン取引
有効期間
レート制限
Groww APIはカテゴリレベルでレート制限が適用されています。
カテゴリ |
リクエスト |
毎秒 |
毎分 |
毎日 |
注文 |
作成、修正、キャンセル |
15 |
250 |
3000 |
リアルタイムデータ |
相場、最終取引価格、OHLC |
10 |
300 |
5000 |
非取引 |
ステータス、リスト、保有状況、証拠金 |
10 |
250 |
3000 |
エラー処理
サーバーはさまざまな種類のエラーを処理します。
- API認証エラー:無効なAPIキー
- レート制限エラー:APIのレート制限を超えた
- バリデーションエラー:無効なパラメーター
- 取引エラー:市場閉鎖、証拠金不足など
すべてのエラーは、問題を特定して解決するのに役立つ説明メッセージとともに返されます。
💻 使用例
商品の検索
search_instruments({
query: "reliance",
exchange: "NSE",
segment: "CASH",
limit: 5
})
search_instruments({
query: "nifty",
segment: "FNO",
instrument_type: "CE",
limit: 10
})
get_instrument_details({
trading_symbol: "RELIANCE",
exchange: "NSE"
})
成行注文の発注
place_order({
trading_symbol: "RELIANCE",
quantity: 10,
exchange: "NSE",
segment: "CASH",
product: "CNC",
order_type: "MARKET",
transaction_type: "BUY"
})
指値注文の発注
place_order({
trading_symbol: "WIPRO",
quantity: 100,
exchange: "NSE",
segment: "CASH",
product: "CNC",
order_type: "LIMIT",
transaction_type: "BUY",
price: 250
})
ストップロス注文の発注
place_order({
trading_symbol: "RELIANCE",
quantity: 10,
exchange: "NSE",
segment: "CASH",
product: "CNC",
order_type: "SL",
transaction_type: "SELL",
price: 2450,
trigger_price: 2400
})
リアルタイム市場データの取得
get_live_quote({
trading_symbol: "NIFTY",
exchange: "NSE",
segment: "CASH"
})
get_ltp({
segment: "CASH",
exchange_symbols: ["NSE_RELIANCE", "NSE_TCS", "NSE_INFY"]
})
過去のデータの取得
get_historical_data({
trading_symbol: "RELIANCE",
exchange: "NSE",
segment: "CASH",
start_time: "2024-01-01 09:15:00",
end_time: "2024-01-01 15:30:00",
interval_in_minutes: 5
})
テクニカル分析の例
calculate_moving_averages({
trading_symbol: "RELIANCE",
exchange: "NSE",
segment: "CASH",
start_time: "2024-01-01 09:15:00",
end_time: "2024-01-31 15:30:00",
periods: [5, 10, 20, 50]
})
calculate_rsi({
trading_symbol: "NIFTY",
exchange: "NSE",
segment: "CASH",
start_time: "2024-01-01 09:15:00",
end_time: "2024-01-31 15:30:00",
period: 14
})
calculate_bollinger_bands({
trading_symbol: "RELIANCE",
exchange: "NSE",
segment: "CASH",
start_time: "2024-01-01 09:15:00",
end_time: "2024-01-31 15:30:00",
period: 20,
std_dev: 2
})
calculate_support_resistance({
trading_symbol: "RELIANCE",
exchange: "NSE",
segment: "CASH",
start_time: "2023-12-01 09:15:00",
end_time: "2024-01-31 15:30:00",
interval_in_minutes: 60,
min_touches: 2
})
calculate_volatility_metrics({
trading_symbol: "RELIANCE",
exchange: "NSE",
segment: "CASH",
start_time: "2023-01-01 09:15:00",
end_time: "2024-01-31 15:30:00",
interval_in_minutes: 1440
})
calculate_macd({
trading_symbol: "RELIANCE",
exchange: "NSE",
segment: "CASH",
start_time: "2024-01-01 09:15:00",
end_time: "2024-01-31 15:30:00",
fast_period: 12,
slow_period: 26,
signal_period: 9
})
calculate_stochastic({
trading_symbol: "NIFTY",
exchange: "NSE",
segment: "CASH",
start_time: "2024-01-01 09:15:00",
end_time: "2024-01-31 15:30:00",
k_period: 14,
d_period: 3
})
calculate_williams_r({
trading_symbol: "RELIANCE",
exchange: "NSE",
segment: "CASH",
start_time: "2024-01-01 09:15:00",
end_time: "2024-01-31 15:30:00",
period: 14
})
calculate_adx({
trading_symbol: "RELIANCE",
exchange: "NSE",
segment: "CASH",
start_time: "2024-01-01 09:15:00",
end_time: "2024-01-31 15:30:00",
period: 14
})
calculate_fibonacci_levels({
trading_symbol: "RELIANCE",
exchange: "NSE",
segment: "CASH",
start_time: "2023-12-01 09:15:00",
end_time: "2024-01-31 15:30:00",
trend_direction: "AUTO"
})
analyze_candlestick_patterns({
trading_symbol: "RELIANCE",
exchange: "NSE",
segment: "CASH",
start_time: "2024-01-25 09:15:00",
end_time: "2024-01-31 15:30:00",
lookback_candles: 5
})
証拠金の計算
calculate_margin_requirement({
segment: "CASH",
orders: [
{
trading_symbol: "RELIANCE",
transaction_type: "BUY",
quantity: 10,
order_type: "LIMIT",
product: "CNC",
exchange: "NSE",
price: 2500
},
{
trading_symbol: "TCS",
transaction_type: "BUY",
quantity: 5,
order_type: "MARKET",
product: "CNC",
exchange: "NSE"
}
]
})
🔧 技術詳細
サポートとドキュメント
免責事項
⚠️ 重要提示
- 金融市場での取引には損失の大幅なリスクが伴います。
- 過去のパフォーマンスは将来の結果を保証するものではありません。
- 失うことができる範囲の資金でのみ取引してください。
- このツールは教育および開発目的です。
- 常に注文と取引を手動で確認してください。
- 開発者は取引による損失について一切の責任を負いません。
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。