Angel One MCP 服务器
一个用于与Angel One(Angel Broking)交易平台交互的模型上下文协议(MCP)服务器。此服务器使像Claude这样的AI助手能够通过自然语言指令访问您的Angel One账户,查看持仓情况,下达订单,并管理您的投资组合。
特点/功能
- 投资组合管理查看当前持仓和投资组合概要
- 订单管理使用各种订单类型(SL-L、SL-M、目标价)进行买入/卖出下单
- 订单追踪查看并取消待处理订单
- 历史数据获取股票的OHLCV数据
- 智能符号解析自动将公司名称解析为股票代码
先决条件
- Python 3.12 或更高版本
- 拥有API访问权限的Angel One交易账户
- Angel One API凭证(API密钥、用户名、密码、TOTP令牌)
安装
选项1:使用uv(推荐)
紫外线 是一个快速的Python包安装器和解析器。
- 克隆项目并进行设置:
git clone https://github.com/Tilakraj0308/angelone-mcp.git
cd angelone-mcp
uv sync- 下载最新的市场地图:
uv run python scripts/downloadLatestMappings.py选项2:使用pip
- 克隆仓库:
git clone https://github.com/Tilakraj0308/angelone-mcp.git
cd angelone-mcp- 创建一个虚拟环境:
python -m venv .venv
# Activate it
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate- 安装依赖项:
pip install -e .- 下载最新的市场地图:
python scripts/downloadLatestMappings.py配置
- 创建一个
.env文件 在项目根目录中:
cp .env.example .env- 填写您的Angel One凭据:
api_key = "your_api_key"
username = "your_client_id"
pwd = "your_password"
token = "your_totp_token"
threshold = "80"配置参数:
- api_key您的Angel One API密钥 - username您的Angel One客户ID - pwd您的Angel One密码 - token来自Angel One手机应用的您的TOTP令牌 - threshold公司名称解析的模糊匹配阈值(0-100)
运行服务器
独立模式
# Using uv
uv run angelone-mcp
# Using pip (with venv activated)
angelone-mcp使用 Claude Desktop
- 找到您的Claude桌面配置文件:
- macOS(发音为“Mac OS”): ~/Library/Application Support/Claude/claude_desktop_config.json - Windows: %APPDATA%\Claude\claude_desktop_config.json
- 添加MCP服务器配置:
如果使用紫外线:
{
"mcpServers": {
"angelone": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/angelone-mcp",
"run",
"angelone-mcp"
]
}
}
}如果使用pip:
{
"mcpServers": {
"angelone": {
"command": "/absolute/path/to/angelone-mcp/.venv/bin/angelone-mcp",
"args": []
}
}
}在Windows上使用pip时,命令为:
{
"mcpServers": {
"angelone": {
"command": "C:\\absolute\\path\\to\\angelone-mcp\\.venv\\Scripts\\angelone-mcp.exe",
"args": []
}
}
}- 重启Claude桌面版
可用工具
MCP服务器为Claude提供了以下工具:
| 工具 | 描述 |
|---|---|
get_exchanges | 获取可用交易所列表(NSE、BSE) |
current_holdings 查看您当前的股票持仓及投资组合概要 | |
get_pending_orders 查看所有待处理订单 | |
get_stock_details 获取某股票的历史开盘、最高、最低、收盘和成交量(OHLCV)数据 | |
buy_stock_sll | 下单止损限价买入单 |
buy_stock_slm | 下市价止损买单 |
sell_stock_sll | 下达止损限价卖出订单 |
sell_stock_slm | 下市价止损卖出订单 |
target_sell | 下达目标卖出订单 |
cancel_order | 取消待处理订单 |
使用示例
一旦在Claude Desktop中进行配置,您就可以使用如下的自然语言命令:
- “显示我当前的持仓”
- “我有哪些待处理的订单?”
- “获取上周以来的Reliance Industries历史数据”
- “以触发价3500,限价3505,对TCS股票的10股设置止损买入订单”
- “当HDFC银行股价达到1600时,全部卖出我的股份”
- “取消订单ID为123456的订单”
示例对话
安全注意事项
⚠️ 重要的:
- 永远不要将你的
.env将文件提交到版本控制中 - 保护好您的API凭证
- 这个(或“该”)
.env文件已存在.gitignore为了保护您 - 在通过Claude确认之前,审查所有订单
- 此工具可进行实际交易操作——请谨慎使用
故障排除
常见问题
- 未找到符号服务器使用模糊匹配来解析公司名称。如果失败,请尝试使用精确的交易代码(例如,印度国家银行的交易代码为“SBIN-EQ”)
- 会话已过期服务器自动管理会话,但如果您遇到身份验证错误,请重启服务器
- 缺失的映射运行
downloadLatestMappings.py刷新市场数据的脚本
uv run python scripts/downloadLatestMappings.py
# or with pip
python scripts/downloadLatestMappings.py- Claude Desktop 无法检测到服务器:
- 验证配置文件中的绝对路径 - 首先检查服务器是否以独立模式运行 - 完全重启Claude桌面版
- 导入错误确保你已经使用(相应的命令或方法)安装了这个包
pip install -e .或者uv sync
做出贡献
欢迎贡献!请随时提交拉取请求。
- 为仓库创建分支(或“克隆”仓库)
- 创建你的特性分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推送到分支(
git push origin feature/AmazingFeature) - 提交拉取请求
许可证
MIT 许可证 - 详见 许可证 文件中详述
免责声明
⚠️ 重要免责声明
此软件仅供教育和信息参考之用。金融市场的交易存在重大损失风险,并不适合每位投资者。
- 这个工具可以放置 实际交易 用真钱
- 作者和贡献者对任何经济损失不承担责任
- 在执行订单前务必核实
- 先用少量进行彻底测试
- 了解算法交易中涉及的风险
- 这不是财务建议
- 使用风险自担
