Fyers MCP Server
Um servidor MCP para a API Fyers v3, com autenticação OAuth automatizada.
Documentação
Servidor MCP Fyers
Servidor MCP (Model Context Protocol) para a API Fyers v3 com autenticação OAuth automatizada
Um servidor MCP abrangente que permite ao Claude Desktop interagir com a plataforma de negociação Fyers por meio de um fluxo de autenticação seguro e automatizado. Suporta todas as principais operações de negociação, incluindo gerenciamento de portfólio, colocação de ordens e dados de mercado em tempo real.
🎬 Demonstração
✨ Recursos
🔐 Autenticação Inteligente
- Fluxo OAuth com um clique com manipulação automática do navegador
- Armazenamento persistente de tokens no arquivo
.env - Atualização automática com gerenciamento de sessão
📊 Kit Completo de Negociação
- Gerenciamento de Portfólio: Posições, ativos, fundos, perfil
- Gerenciamento de Ordens: Colocar, modificar, cancelar ordens
- Dados de Mercado: Cotações em tempo real para múltiplos símbolos
- Histórico de Ordens: Livro completo de ordens e negociações
🚀 Pronto para Produção
- Tratamento completo de erros com mensagens detalhadas
- Segurança de tipos com validação de parâmetros
- Registro abrangente para depuração
- Integração com Claude Desktop com configuração simples
🚀 Início Rápido
Pré-requisitos
- Python 3.10 ou superior
- Claude Desktop instalado
- Conta de Negociação Fyers com acesso à API
1. Instalação
# 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. Obter Credenciais da API Fyers
-
Criar Aplicativo na API Fyers:
- Visite o Painel da API Fyers
- Crie um novo aplicativo com URI de redirecionamento:
http://localhost:8080/ - Anote seu
App IDeSecret Key
-
Configurar o Ambiente:
cp .env.example .envEdite o arquivo
.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 o Claude Desktop
Adicione ao seu arquivo de configuração do 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. Primeira Execução
- Reinicie o Claude Desktop
- Autentique-se: No Claude, digite:
authenticate - O navegador abrirá → Faça login na Fyers → Captura automática do token
- Comece a negociar: Todas as 11 ferramentas estão agora disponíveis!
🛠️ Ferramentas Disponíveis
Autenticação e Perfil
authenticate()- Autenticação OAuth com um cliquecheck_auth_status()- Verificar autenticação atualget_profile()- Informações do perfil do usuário
Portfólio e Fundos
get_funds()- Saldo da conta e detalhes de margemget_holdings()- Posições do portfólio com lucro/perdaget_positions()- Posições de negociação atuais
Ordens e Negociação
place_order(symbol, quantity, order_type, side, ...)- Colocar novas ordensmodify_order(order_id, quantity, limit_price, ...)- Modificar ordens existentescancel_order(order_id)- Cancelar ordens pendentesget_orders()- Histórico e status de ordens
Dados de Mercado
get_quotes(symbols)- Cotações em tempo real para múltiplos símbolos
📖 Exemplos de Uso
Análise de Portfólio
# Check account balance
get_funds()
# View all holdings with P&L
get_holdings()
# Check current positions
get_positions()
Gerenciamento de Ordens
# 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")
Dados de Mercado
# Get live quotes
get_quotes("NSE:SBIN-EQ,NSE:RELIANCE-EQ,NSE:TCS-EQ")
🔧 Opções de Configuração
Tipos de Ordens
MARKET- Ordem de mercado (execução imediata)LIMIT- Ordem limitada (executar a preço específico)STOP- Ordem de stop lossSTOPLIMIT- Ordem stop limitada
Tipos de Produtos
MARGIN- Negociação com margem (intraday com alavancagem)CNC- Cash and Carry (entrega)INTRADAY- Negociação intradayBO- Ordem de suporte (Bracket Order)CO- Ordem de cobertura (Cover Order)
Opções de Validade
DAY- Válido para o dia de negociação atualIOC- Imediato ou CancelarGTD- Válido até a data
🐛 Solução de Problemas
Problemas Comuns
1. Falha na Autenticação
# Check credentials in .env file
cat .env | grep FYERS
# Verify app configuration at https://myapi.fyers.in/dashboard/
2. Problemas de Conexão com o 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. Erros na Colocação de Ordens
- Verifique o formato do símbolo:
NSE:SYMBOL-EQpara ações - Verifique o horário de negociação (9h15 - 15h30 IST)
- Garanta fundos/margem suficientes
Modo de Depuração
Ative o registro detalhado:
export LOG_LEVEL=DEBUG
uv run python fyers_mcp_complete.py
🚧 Desenvolvimento
Estrutura do Projeto
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
Adicionando Novos Recursos
- Faça um fork do repositório
- Crie um branch de recurso:
git checkout -b feature/new-tool - Adicione a ferramenta MCP: Use o decorador
@mcp.tool() - Teste com o Claude Desktop
- Envie uma solicitação de pull
Testes
# Install development dependencies
uv sync --dev
# Run tests
uv run pytest
# Type checking
uv run mypy fyers_mcp_complete.py
📋 Referência da API
Fluxo de Autenticação
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]
Tratamento de Erros
Todas as funções retornam respostas padronizadas:
- ✅ Sucesso: Confirmação clara com dados relevantes
- ❌ Erro: Mensagem de erro detalhada com dicas de solução de problemas
🤝 Contribuições
Aceitamos contribuições! Consulte nossas Diretrizes de Contribuição para detalhes.
Áreas para Contribuição
- Streaming de dados em tempo real via WebSocket
- Tipos avançados de ordens (OCO, Iceberg)
- Análise e relatórios de portfólio
- Ferramentas de análise de cadeia de opções
- Recursos de gerenciamento de risco
📄 Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENÇA para detalhes.
⚠️ Aviso Legal
Este software é para fins educacionais e de desenvolvimento. Negociação envolve risco financeiro. Os usuários são responsáveis por suas decisões de negociação e devem testar minuciosamente em ambientes de demonstração antes da negociação ao vivo.
🔗 Links
📊 Status
- Versão Atual: 1.0.0
- Compatibilidade com API: Fyers API v3.1.7
- Suporte Python: 3.10+
- Ferramentas Disponíveis: 11/11 ✅
- Pronto para Produção: Sim ✅
Feito com ❤️ para a comunidade de negociação
Habilite a negociação algorítmica com a inteligência do Claude