Trade-MCP
Un proyecto modular de automatización de trading que utiliza la API de Zerodha Kite Connect para la automatización basada en herramientas y recursos.
Documentación
Trade-MCP
Un proyecto modular de automatización de trading que utiliza Zerodha Kite Connect y MCP (Modular Command Platform) para la automatización basada en herramientas y recursos. Este proyecto expone acciones de trading (como realizar órdenes y obtener tenencias) como herramientas MCP, haciéndolas accesibles para Claude Desktop y otros clientes compatibles con MCP.
Características
- Integración con Zerodha: Realiza órdenes de compra/venta y obtén tenencias utilizando la API de Kite Connect.
- Herramientas MCP: Expone acciones de trading como herramientas invocables para automatización y agentes de IA.
- Secretos basados en entorno: Las claves API y secretos se cargan desde un archivo
.envpor seguridad. - Extensible: Agrega fácilmente nuevas herramientas o recursos para más acciones de trading.
Configuración
1. Clonar el Repositorio
git clone <your-repo-url>
cd Trade-MCP
2. Crear y Activar un Entorno Virtual
uv venv
.venv\Scripts\activate # On Windows
# or
source .venv/bin/activate # On Linux/Mac
3. Instalar Dependencias
uv pip install -r requirements.txt
# or, if using pyproject.toml:
uv pip install .
4. Configurar Variables de Entorno
Crea un archivo .env en la raíz del proyecto:
API_KEY=your_zerodha_api_key
API_SECRET=your_zerodha_api_secret
5. Obtén tu Token de Acceso de Zerodha
Para usar la API de Zerodha, necesitas un token de acceso. Sigue estos pasos:
-
Obtén tu Clave API y Secreto
- Obtén estos desde la consola de desarrollador de Zerodha.
-
Genera la URL de Inicio de Sesión
En un shell o script de Python, ejecuta:from kiteconnect import KiteConnect kite = KiteConnect(api_key="your_api_key") print(kite.login_url())- Abre la URL impresa en tu navegador e inicia sesión con tus credenciales de Zerodha.
-
Extrae el
request_token- Después de iniciar sesión, serás redirigido a tu URL de redirección (configurada en la configuración de la aplicación Zerodha).
- La URL se verá así:
http://localhost:8000/?request_token=REQUEST_TOKEN_HERE&action=login&status=success - Copia el valor de
request_tokende la URL.
-
Intercambia el
request_tokenpor unaccess_token
En un shell o script de Python, ejecuta:data = kite.generate_session("REQUEST_TOKEN_HERE", api_secret="your_api_secret") print(data["access_token"])- Reemplaza
"REQUEST_TOKEN_HERE"y"your_api_secret"con tus valores reales. - El valor impreso es tu
access_token.
- Reemplaza
-
Configura el Token de Acceso
- Puedes configurarlo como una variable de entorno o usarlo directamente en tu código según sea necesario.
Uso
Ejecutar el Servidor MCP
uv run --with mcp[cli] mcp run server.py
O, si MCP CLI está instalado en tu entorno:
mcp run server.py
Integración con Claude Desktop
-
Agrega una entrada de servidor en tu
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 ] } } } -
Reinicia Claude Desktop.
-
Las herramientas aparecerán en la lista de herramientas de Claude.
Herramientas Expuestas
add(a: int, b: int): Suma dos números.place_zerodha_buy_order(symbol: str, quantity: int): Realiza una orden de compra.place_zerodha_sell_order(symbol: str, quantity: int): Realiza una orden de venta.get_zerodha_holdings(): Obtén todas las tenencias de Zerodha.
Extensión
Para agregar una nueva herramienta, define una función en server.py y decórala con @mcp.tool():
@mcp.tool()
def my_tool(...):
...
Licencia
Licencia MIT