🚀 Groww MCP 服务器
Groww MCP 服务器是一个全面的模型上下文协议(MCP)服务器,适用于 Groww 交易 API。该服务器提供了与 Groww 交易平台进行交互的工具,让你能够下单、管理投资组合、获取实时市场数据等。

🚀 快速开始
在使用本服务器前,请确保你已经满足以下先决条件并完成相应配置:
先决条件
- Groww 账户:你需要一个已启用期货和期权(F&O)交易的 Groww 账户。
- API 订阅:拥有有效的交易 API 订阅(每月 499 卢比 + 税费)。
- API 密钥:从 Groww 账户设置中生成你的 API 访问令牌。
生成 API 密钥
- 登录你的 Groww 账户。
- 点击右上角的个人资料部分。
- 点击设置图标。
- 导航至“交易 API”。
- 创建并管理你的 API 令牌。
配置
服务器需要以下配置:
{
"apiKey": "your_groww_api_key_here",
"debug": false
}
✨ 主要特性
本 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 个)的最新成交价(LTP)。
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
- 识别常见的蜡烛图形态。
📦 安装指南
文档未提及安装步骤,故跳过此章节。
💻 使用示例
基础用法
搜索交易工具
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"
}
]
})
📚 详细文档
API 枚举和常量
交易所
NSE
- 印度国家证券交易所
BSE
- 孟买证券交易所
交易板块
CASH
- 常规股票市场
FNO
- 期货和期权
订单类型
MARKET
- 以最佳可用价格立即执行
LIMIT
- 以指定价格或更优价格执行
SL
- 止损订单
SL_M
- 止损市价订单
交易类型
产品类型
CNC
- 现金和交割(基于交割)
MIS
- 日内保证金平仓
NRML
- 常规保证金交易
有效期
速率限制
Groww API 在类别级别应用了速率限制:
类别 |
请求操作 |
每秒 |
每分钟 |
每天 |
订单 |
创建、修改、取消 |
15 |
250 |
3000 |
实时数据 |
报价、最新成交价、OHLC |
10 |
300 |
5000 |
非交易 |
状态、列表、持仓、保证金 |
10 |
250 |
3000 |
错误处理
服务器处理各种类型的错误:
- API 认证错误:无效的 API 密钥。
- 速率限制错误:超出 API 速率限制。
- 验证错误:无效的参数。
- 交易错误:市场关闭、保证金不足等。
所有错误都会返回描述性消息,以帮助识别和解决问题。
支持和文档
🔧 技术细节
文档未提供具体技术实现细节,故跳过此章节。
📄 许可证
本项目采用 MIT 许可证。
⚠️ 重要提示
- 交易风险警告:
- 在金融市场交易涉及重大损失风险。
- 过去的表现并不保证未来的结果。
- 仅使用你能够承受损失的资金进行交易。
- 本工具仅用于教育和开发目的。
- 始终手动验证订单和交易。
- 开发者不对任何交易损失负责。