IOL MCP Tool
Interaja com a API da Invertir Online (IOL) para gerenciar investimentos e acessar dados de mercado.
Documentação
IOL MCP Tool
Uma ferramenta de Model Context Protocol (MCP) para interagir com a API da Invertir Online (IOL) através do Claude Desktop.
Pré-requisitos
- Aplicativo Claude Desktop para Mac
- Python 3.8+
- Conta de negociação IOL
- Variáveis de ambiente configuradas com suas credenciais IOL
Instalação
- Clone este repositório:
git clone https://github.com/fernandezpablo85/mcpiol.git
cd mcpiol
- Instale o uv se ainda não tiver instalado:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Instale as dependências:
uv sync
- Crie um arquivo
.envna raiz do projeto com suas credenciais IOL:
IOL_USER=your_username
IOL_PASS=your_password
Configurar o Claude Desktop
- Abra o diretório de configuração do Claude Desktop:
open ~/Library/Application\ Support/Claude
- Crie ou edite o
claude_desktop_config.json:
touch ~/Library/Application\ Support/Claude/claude_desktop_config.json
- Adicione a seguinte configuração:
{
"mcpServers": {
"iol": {
"command": "/Users/YOUR_USERNAME/.local/bin/uv",
"args": [
"--directory",
"/Users/YOUR_USERNAME/projects/playground/mcpiol",
"run",
"main.py"
]
}
}
}
Notas importantes:
- Substitua
YOUR_USERNAMEpelo seu nome de usuário real - Tanto o caminho
commandquanto o--directorydevem ser caminhos absolutos - Você pode encontrar o caminho da sua instalação do uv executando
which uvno terminal
Executando Testes
Para executar a suíte de testes:
pytest tests/test_client.py -v
Para relatório de cobertura:
pytest tests/test_client.py --cov=client -v
Solução de Problemas
-
Se as ferramentas não aparecerem no Claude Desktop:
- Verifique se o seu arquivo de configuração está correto
- Reinicie o Claude Desktop
- Verifique o caminho do Python e as dependências
-
Se a autenticação falhar:
- Verifique se o seu arquivo .env existe e possui as credenciais corretas
- Verifique o status da API IOL
- Garanta que sua conta IOL esteja ativa
Licença
MIT
Contribuição
Sinta-se à vontade para abrir issues ou enviar pull requests.