Trade-MCP
Um projeto modular de automação de negociação utilizando a API Zerodha Kite Connect para automação baseada em ferramentas e recursos.
Documentação
Trade-MCP
Um projeto modular de automação de trading usando Zerodha Kite Connect e MCP (Modular Command Platform) para automação baseada em ferramentas e recursos. Este projeto expõe ações de trading (como colocar ordens e buscar posições) como ferramentas MCP, tornando-as acessíveis ao Claude Desktop e outros clientes compatíveis com MCP.
Recursos
- Integração Zerodha: Coloque ordens de compra/venda e busque posições usando a API Kite Connect.
- Ferramentas MCP: Exponha ações de trading como ferramentas chamáveis para automação e agentes de IA.
- Segredos baseados em ambiente: Chaves de API e segredos são carregados de um arquivo
.envpor segurança. - Extensível: Adicione facilmente novas ferramentas ou recursos para mais ações de trading.
Configuração
1. Clone o Repositório
git clone <your-repo-url>
cd Trade-MCP
2. Crie e Ative um Ambiente Virtual
uv venv
.venv\Scripts\activate # On Windows
# or
source .venv/bin/activate # On Linux/Mac
3. Instale as Dependências
uv pip install -r requirements.txt
# or, if using pyproject.toml:
uv pip install .
4. Configure as Variáveis de Ambiente
Crie um arquivo .env na raiz do projeto:
API_KEY=your_zerodha_api_key
API_SECRET=your_zerodha_api_secret
5. Obtenha seu Token de Acesso Zerodha
Para usar a API Zerodha, você precisa de um token de acesso. Siga estes passos:
-
Obtenha sua Chave de API e Segredo
- Obtenha-os no console de desenvolvedor Zerodha.
-
Gere a URL de Login
Em um shell ou script Python, execute:from kiteconnect import KiteConnect kite = KiteConnect(api_key="your_api_key") print(kite.login_url())- Abra a URL impressa no seu navegador e faça login com suas credenciais Zerodha.
-
Extraia o
request_token- Após o login, você será redirecionado para sua URL de redirecionamento (definida nas configurações do aplicativo Zerodha).
- A URL terá a seguinte aparência:
http://localhost:8000/?request_token=REQUEST_TOKEN_HERE&action=login&status=success - Copie o valor de
request_tokenda URL.
-
Troque o
request_tokenpor umaccess_token
Em um shell ou script Python, execute:data = kite.generate_session("REQUEST_TOKEN_HERE", api_secret="your_api_secret") print(data["access_token"])- Substitua
"REQUEST_TOKEN_HERE"e"your_api_secret"pelos seus valores reais. - O valor impresso é o seu
access_token.
- Substitua
-
Defina o Token de Acesso
- Você pode defini-lo como uma variável de ambiente ou usá-lo diretamente no seu código, conforme necessário.
Uso
Execute o Servidor MCP
uv run --with mcp[cli] mcp run server.py
Ou, se o CLI MCP estiver instalado no seu ambiente:
mcp run server.py
Integração com Claude Desktop
-
Adicione uma entrada de servidor no seu
claude_desktop_config.json:{ "mcpServers": { "Trade-MCP": { "command": "uv.EXE", # Exact Path to uv executable "args": [ "run", "--with", "mcp[cli]", "mcp", "run", "server.py" # Exact Path to your server script ] } } } -
Reinicie o Claude Desktop.
-
As ferramentas aparecerão na lista de ferramentas do Claude.
Ferramentas Expostas
add(a: int, b: int): Adiciona dois números.place_zerodha_buy_order(symbol: str, quantity: int): Coloca uma ordem de compra.place_zerodha_sell_order(symbol: str, quantity: int): Coloca uma ordem de venda.get_zerodha_holdings(): Obtém todas as posições da Zerodha.
Extensão
Para adicionar uma nova ferramenta, defina uma função em server.py e decore-a com @mcp.tool():
@mcp.tool()
def my_tool(...):
...
Licença
Licença MIT