Fyers MCP Server
Un servidor MCP para la API v3 de Fyers, con autenticación OAuth automatizada.
Documentación
Servidor MCP de Fyers
Servidor MCP (Model Context Protocol) para la API de Fyers v3 con autenticación OAuth automatizada
Un servidor MCP integral que permite a Claude Desktop interactuar con la plataforma de trading de Fyers mediante un flujo de autenticación seguro y automatizado. Admite todas las operaciones de trading principales, incluida la gestión de cartera, la colocación de órdenes y los datos de mercado en tiempo real.
🎬 Demostración
✨ Características
🔐 Autenticación inteligente
- Flujo OAuth con un clic con manejo automático del navegador
- Almacenamiento persistente de tokens en el archivo
.env - Capacidades de actualización automática con gestión de sesiones
📊 Kit de herramientas de trading completo
- Gestión de cartera: tenencias, posiciones, fondos, perfil
- Gestión de órdenes: colocar, modificar, cancelar órdenes
- Datos de mercado: cotizaciones en tiempo real para múltiples símbolos
- Historial de órdenes: libro completo de órdenes y operaciones
🚀 Listo para producción
- Manejo completo de errores con mensajes de error detallados
- Seguridad de tipos con validación de parámetros
- Registro integral para depuración
- Integración con Claude Desktop con configuración sencilla
🚀 Inicio rápido
Requisitos previos
- Python 3.10 o superior
- Claude Desktop instalado
- Cuenta de trading de Fyers con acceso a la API
1. Instalación
# 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. Obtener credenciales de la API de Fyers
-
Crear una aplicación de API de Fyers:
- Visite el Panel de API de Fyers
- Cree una nueva aplicación con URI de redirección:
http://localhost:8080/ - Anote su
App IDySecret Key
-
Configurar el entorno:
cp .env.example .envEdite el archivo
.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. Configurar Claude Desktop
Agregue a su archivo de configuración de Claude Desktop:
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. Primera ejecución
- Reinicie Claude Desktop
- Autentíquese: En Claude, escriba:
authenticate - Se abrirá el navegador → Inicie sesión en Fyers → Captura automática de tokens
- Comience a operar: ¡Las 11 herramientas ya están disponibles!
🛠️ Herramientas disponibles
Autenticación y perfil
authenticate()- Autenticación OAuth con un cliccheck_auth_status()- Verificar la autenticación actualget_profile()- Información del perfil de usuario
Cartera y fondos
get_funds()- Saldo de la cuenta y detalles de margenget_holdings()- Tenencias de la cartera con ganancias y pérdidasget_positions()- Posiciones de trading actuales
Órdenes y trading
place_order(symbol, quantity, order_type, side, ...)- Colocar nuevas órdenesmodify_order(order_id, quantity, limit_price, ...)- Modificar órdenes existentescancel_order(order_id)- Cancelar órdenes pendientesget_orders()- Historial de órdenes y estado
Datos de mercado
get_quotes(symbols)- Cotizaciones en tiempo real para múltiples símbolos
📖 Ejemplos de uso
Análisis de cartera
# Check account balance
get_funds()
# View all holdings with P&L
get_holdings()
# Check current positions
get_positions()
Gestión de órdenes
# 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")
Datos de mercado
# Get live quotes
get_quotes("NSE:SBIN-EQ,NSE:RELIANCE-EQ,NSE:TCS-EQ")
🔧 Opciones de configuración
Tipos de órdenes
MARKET- Orden de mercado (ejecución inmediata)LIMIT- Orden limitada (ejecutar a un precio específico)STOP- Orden de stop lossSTOPLIMIT- Orden de stop limitado
Tipos de producto
MARGIN- Trading con margen (intradía con apalancamiento)CNC- Cash and Carry (entrega)INTRADAY- Trading intradíaBO- Orden de bracketCO- Orden de cobertura
Opciones de validez
DAY- Válida para el día de trading actualIOC- Inmediata o cancelarGTD- Válida hasta una fecha
🐛 Solución de problemas
Problemas comunes
1. Error de autenticación
# Check credentials in .env file
cat .env | grep FYERS
# Verify app configuration at https://myapi.fyers.in/dashboard/
2. Problemas de conexión con Claude Desktop
# 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. Errores al colocar órdenes
- Verifique el formato del símbolo:
NSE:SYMBOL-EQpara acciones - Consulte el horario de mercado (9:15 a. m. - 3:30 p. m. IST)
- Asegúrese de tener fondos/margen suficientes
Modo de depuración
Habilite el registro detallado:
export LOG_LEVEL=DEBUG
uv run python fyers_mcp_complete.py
🚧 Desarrollo
Estructura del proyecto
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
Agregar nuevas funciones
- Haga un fork del repositorio
- Cree una rama de funciones:
git checkout -b feature/new-tool - Agregue la herramienta MCP: Use el decorador
@mcp.tool() - Pruebe con Claude Desktop
- Envíe una solicitud de extracción
Pruebas
# Install development dependencies
uv sync --dev
# Run tests
uv run pytest
# Type checking
uv run mypy fyers_mcp_complete.py
📋 Referencia de la API
Flujo de autenticación
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]
Manejo de errores
Todas las funciones devuelven respuestas estandarizadas:
- ✅ Éxito: Confirmación clara con datos relevantes
- ❌ Error: Mensaje de error detallado con sugerencias para solucionar problemas
🤝 Contribuciones
¡Agradecemos sus contribuciones! Consulte nuestras Pautas de contribución para obtener más detalles.
Áreas para contribuir
- Transmisión de datos en tiempo real mediante WebSocket
- Tipos de órdenes avanzados (OCO, Iceberg)
- Análisis y generación de informes de cartera
- Herramientas de análisis de cadenas de opciones
- Funciones de gestión de riesgos
📄 Licencia
Este proyecto está licenciado bajo la Licencia MIT; consulte el archivo LICENCIA para obtener más detalles.
⚠️ Aviso legal
Este software es para fines educativos y de desarrollo. El trading implica riesgo financiero. Los usuarios son responsables de sus decisiones de trading y deben probar exhaustivamente en entornos de demostración antes de operar en vivo.
🔗 Enlaces
- Documentación de la API de Fyers
- Especificación del protocolo MCP
- Claude Desktop
- Problemas y soporte
📊 Estado
- Versión actual: 1.0.0
- Compatibilidad con la API: API de Fyers v3.1.7
- Soporte de Python: 3.10+
- Herramientas disponibles: 11/11 ✅
- Listo para producción: Sí ✅
Hecho con ❤️ para la comunidad de trading
Habilite el trading algorítmico con la inteligencia de Claude