使用说明
Fyers MCP 服务器
Fyers API v3 的 MCP(模型上下文协议)服务器,支持自动 OAuth 认证
一个全面的MCP(中间件通信协议)服务器,它使Claude Desktop能够通过安全、自动的认证流程与Fyers交易平台进行交互。支持所有主要的交易操作,包括投资组合管理、订单下达以及实时市场数据获取。
🎬 演示
✨ 特点
🔐(锁形符号,常用于表示保密、安全或需要密码解锁的含义) 智能认证
- 一键OAuth流程 具备自动浏览器处理功能
- 持久化令牌存储 在
.env文件 - 自动刷新 具备会话管理功能
📊(表格) 完整的交易工具包
- 投资组合管理持仓、仓位、资金、概况
- 订单管理下单、修改订单、取消订单
- 市场数据多个股票代码的实时报价
- 订单历史完整的订单和交易记录
🚀 表情符号“🚀”在中文中通常被翻译为“火箭”或直接保留原样作为表情使用,表示快速、前进或激动兴奋的情绪。所以,可以翻译为“火箭”或直接用“🚀”来表达。 生产就绪
- 全面的错误处理 带有详细的错误信息
- 类型安全 带有参数验证
- 全面记录(或详尽记录) 用于调试
- Claude Desktop 集成 配置简单
🚀 快速入门
先决条件
- Python 3.10 或更高版本
- Claude Desktop(可译为“Claude桌面版”或保持原名“Claude Desktop”,根据语境选择更合适的表述) 已安装
- Fyers交易账户 使用API访问
1. 安装
# Clone the repository
git clone https://github.com/quantabox/fyers-mcp-server.git
cd fyers-mcp-server
# Install dependencies using uv (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
# Or install with pip
pip install .
2. 获取Fyers API凭据
-
创建Fyers API应用:
- 参观 Fyers API控制面板
- 创建一个带有重定向URI的新应用:
http://localhost:8080/ - 记下你的
App ID并且Secret Key
-
配置环境:
cp .env.example .env编辑
.env文件:FYERS_CLIENT_ID=YOUR_APP_ID-100 # e.g., ABC123XYZ-100 FYERS_SECRET_KEY=YOUR_SECRET_KEY # Secret from Fyers app FYERS_REDIRECT_URI=http://localhost:8080/
3. 配置Claude桌面版
在您的Claude桌面配置文件中添加:
macOS(苹果电脑操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"fyers-mcp-server": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/fyers-mcp-server",
"python",
"fyers_mcp_complete.py"
],
"env": {
"PYTHONWARNINGS": "ignore"
}
}
}
}
4. 首次运行
- 重启Claude桌面版
- 认证在Claude中,类型:
authenticate - 浏览器将打开 → 登录到Fyers → 自动获取令牌
- 开始交易所有11个工具现已全部可用!
🛠️ 可用工具
身份验证与配置文件
authenticate()一键OAuth认证check_auth_status()- 验证当前身份认证get_profile()- 用户个人资料信息
投资组合与基金
get_funds()- 账户余额和保证金详情get_holdings()- 持仓及损益(P&L)get_positions()- 当前交易头寸
订单与交易
place_order(symbol, quantity, order_type, side, ...)- 下新订单modify_order(order_id, quantity, limit_price, ...)- 修改现有订单cancel_order(order_id)- 取消待处理订单get_orders()- 订单历史和状态
市场数据
get_quotes(symbols)- 多个股票代码的实时报价
📖 使用示例
投资组合分析
# Check account balance
get_funds()
# View all holdings with P&L
get_holdings()
# Check current positions
get_positions()
订单管理
# Place a market order
place_order("NSE:SBIN-EQ", 10, "MARKET", "BUY")
# Place a limit order
place_order("NSE:RELIANCE-EQ", 5, "LIMIT", "BUY", limit_price=2500)
# Modify an order
modify_order("ORDER_ID", quantity=15, limit_price=2550)
# Cancel an order
cancel_order("ORDER_ID")
市场数据
# Get live quotes
get_quotes("NSE:SBIN-EQ,NSE:RELIANCE-EQ,NSE:TCS-EQ")
🔧 配置选项
订单类型
MARKET- 市价单(立即执行)LIMIT- 限价单(以特定价格执行)STOP- 止损单STOPLIMIT- 止损限价单
产品类型
MARGIN- 保证金交易(日内杠杆交易)CNC- 现货提货(送货)INTRADAY- 日内交易BO- 括号订单(Bracket Order)CO- 覆盖订单(或对冲订单)
有效性选项
DAY- 适用于当前交易日IOC- 立即执行或取消GTD- 直至当日有效(或“有效期至当日”)
🐛 故障排除
常见问题
1. 认证失败
# Check credentials in .env file
cat .env | grep FYERS
# Verify app configuration at https://myapi.fyers.in/dashboard/
2. Claude 桌面连接问题
# Test MCP server directly
cd /path/to/fyers-mcp-server
uv run python fyers_mcp_complete.py
# Check Claude Desktop logs (macOS)
tail -f ~/Library/Logs/Claude/mcp.log
3. 订单下达错误
- 验证符号格式:
NSE:SYMBOL-EQ为了公平/股权 - 查看市场交易时间(印度标准时间上午9:15至下午3:30)
- 确保有足够的资金/保证金
调试模式
启用详细日志记录:
export LOG_LEVEL=DEBUG
uv run python fyers_mcp_complete.py
🚧 开发中
项目结构
fyers-mcp-server/
├── fyers_mcp_complete.py # Main MCP server
├── pyproject.toml # Dependencies
├── .env.example # Environment template
├── claude_config.json # Claude Desktop config
└── README.md # This file
添加新功能
- 为仓库创建分支(或“克隆仓库”)
- 创建特性分支:
git checkout -b feature/new-tool - 添加MCP工具使用
@mcp.tool()装饰器 - 使用Claude桌面版进行测试
- 提交拉取请求
测试
# Install development dependencies
uv sync --dev
# Run tests
uv run pytest
# Type checking
uv run mypy fyers_mcp_complete.py
API 参考
认证流程
graph TD
A[Claude: authenticate] --> B[Generate Auth URL]
B --> C[Open Browser]
C --> D[User Login]
D --> E[Auth Code Capture]
E --> F[Exchange for Token]
F --> G[Store in .env]
G --> H[Ready for Trading]
错误处理
所有函数都返回标准化的响应:
- ✅ 成功提供包含相关数据的明确确认
- ❌(表示错误或不正确) 错误详细的错误信息,附带故障排除提示
🤝 贡献
我们欢迎投稿!请参阅我们的 贡献指南 详情见下。
贡献领域
- WebSocket实时数据流
- 高级订单类型(OCO,冰山订单)
- 投资组合分析与报告
- 期权链分析工具
- 风险管理功能
📄 许可证
这个项目遵循MIT许可证授权——详见 许可证 文件中包含详细信息。
⚠️ 免责声明
这款软件仅供教育和开发使用。交易涉及财务风险。用户需对其交易决策负责,并应在实际交易前在模拟环境中进行充分测试。
🔗 链接
📊 状态
- 当前版本1.0.0
- API 兼容性Fyers API v3.1.7
- Python 支持3.10+
- 可用工具11月11日 ✅
- 生产就绪是 ✅
Made with ❤️ for the trading community
Enable algorithmic trading with Claude's intelligence