Upstox MCP server
Un servidor MCP para integrarse con la API de trading de Upstox por Upstox.
Documentación
mcp-server-upstox-api
Un servidor MCP para integrarse con la API de trading de Upstox.
Inicio rápido
Configuración
- Clona el repositorio:
git clone https://github.com/yourusername/mcp-server-upstox-api.git
cd mcp-server-upstox-api
- Instala las dependencias:
npm install
Ejecución local
-
Crea una aplicación de API de Upstox
Crea una aplicación de API de Upstox regular en el portal de desarrolladores de Upstox (Apps → My apps → + New App). Establece la URL de redirección a:http://localhost:8787/callback -
Configura las credenciales
Crea un archivo llamado.dev.varsen la raíz del proyecto y agrega tu clave de API (ID de cliente) y secreto de cliente:UPSTOX_CLIENT_ID=your_app_api_key UPSTOX_CLIENT_SECRET=your_app_api_secret -
Inicia la aplicación
npm start
Tu servidor MCP estará ejecutándose en http://localhost:8787.
Ejecutar el servidor
Para iniciar el servidor MCP (después de completar los pasos anteriores):
npm run start
Configuración de MCP
Configuración de Claude Desktop
Para usar este servidor MCP con Claude Desktop, agrega la siguiente configuración a los ajustes de Claude Desktop:
{
"mcpServers": {
"mcp-server-upstox-api": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/mcp"
]
}
}
}
Configuración de MCP en Cursor
Para usar este servidor MCP con Cursor, agrega la siguiente configuración a los ajustes de MCP en Cursor (generalmente ubicados en ~/.cursor/mcp.json):
{
"mcpServers": {
"mcp-server-upstox-api": {
"url": "http://localhost:8787/mcp"
}
}
}
Estas configuraciones permiten que Claude Desktop y Cursor se conecten a tu servidor MCP local y usen los endpoints de la API de Upstox.
Uso con Claude y Cursor
Puedes interactuar con la API de Upstox mediante indicaciones en lenguaje natural. Aquí hay algunos ejemplos de indicaciones para cada comando:
Información del perfil
- "¿Cuál es mi información de perfil en Upstox?"
- "Muéstrame mis segmentos y productos activos en Upstox"
- "¿Cuál es mi ID de usuario y correo electrónico en Upstox?"
Fondos y margen
- "¿Cuál es mi margen disponible en Upstox?"
- "Muéstrame los fondos de mi segmento de acciones y los detalles del margen"
- "¿Cuál es la disponibilidad de margen en mi segmento de materias primas?"
Tenencias
- "¿Qué acciones tengo actualmente en Upstox?"
- "Muéstrame mis tenencias a largo plazo con sus valores actuales"
- "¿Cuál es el valor total de mis tenencias en Upstox?"
Posiciones
- "¿Cuáles son mis posiciones abiertas actuales en Upstox?"
- "Muéstrame mis posiciones intradía con su P&L"
- "¿Cuál es mi P&L no realizado total de las posiciones actuales?"
Posiciones MTF
- "¿Cuáles son mis posiciones de financiamiento de operaciones con margen?"
- "Muéstrame mis posiciones MTF con sus valores actuales"
- "¿Cuál es la exposición total de MTF en mi cuenta?"
Libro de órdenes
- "Muéstrame las órdenes de hoy en Upstox"
- "¿Cuáles son mis órdenes pendientes en Upstox?"
- "Muéstrame mi historial de órdenes de hoy"
- "¿Cuál es el estado de mis órdenes recientes?"
- "Lista todas mis órdenes completadas de hoy"
Detalles de la orden
- "Muéstrame los detalles de la orden ID xxxxxxxxxxxxxxx"
- "¿Cuál es el estado de mi orden con ID xxxxxxxxxxxxxxx?"
- "Obtén la información completa de la orden xxxxxxxxxxxxxxx"
- "Verifica el estado de ejecución de la orden xxxxxxxxxxxxxxx"
- "Consulta los detalles de mi orden reciente xxxxxxxxxxxxxxx"
Historial de órdenes
- "Muéstrame el historial de la orden ID xxxxxxxxxxxxxxx"
- "Obtén todas las actualizaciones de estado de la orden xxxxxxxxxxxxxxx"
- "¿Cuál es la progresión de la orden xxxxxxxxxxxxxxx?"
- "Muéstrame todas las etapas de la orden xxxxxxxxxxxxxxx"
- "Obtén el historial de órdenes para la etiqueta xxxxxxxxxxxxxxx"
Operaciones de la orden
- "Muéstrame las operaciones de la orden ID xxxxxxxxxxxxxxx"
- "¿Qué operaciones se ejecutaron para la orden xxxxxxxxxxxxxxx?"
- "Obtén los detalles de las operaciones de mi orden xxxxxxxxxxxxxxx"
- "Lista todas las operaciones asociadas con la orden xxxxxxxxxxxxxxx"
- "Muéstrame los detalles de ejecución de la orden xxxxxxxxxxxxxxx"
Operaciones
- "Muéstrame mis operaciones de hoy"
- "¿Qué operaciones he ejecutado hoy?"
- "Obtén mi historial de operaciones diarias"
- "Lista todas mis operaciones completadas del día"
- "Muéstrame los detalles de mis operaciones con precios de ejecución"
IPOs
- "¿Qué IPOs están abiertas ahora mismo?"
- "Muéstrame las próximas IPOs de SME"
- "Lista las IPOs que se listaron recientemente"
- "¿Cuál es el nivel de suscripción de las IPOs actualmente abiertas?"
- "Muéstrame las próximas 10 IPOs de mainboard abiertas"
Detalles de IPO
- "Muéstrame los detalles de la IPO xxxxxxxxxxxxxxx"
- "¿Cuál es el tamaño del lote y la cantidad mínima para la IPO xxxxxxxxxxxxxxx?"
- "¿Cuándo son las fechas de asignación y listado de la IPO xxxxxxxxxxxxxxx?"
- "¿Quién es el registrador de la IPO xxxxxxxxxxxxxxx?"
- "Dame la banda de precios y el precio de corte de la IPO xxxxxxxxxxxxxxx"
Órdenes de IPO
- "¿A qué IPOs he solicitado?"
- "Muéstrame mis solicitudes de IPO y su estado de asignación"
- "¿Obtuve asignación en alguna de mis solicitudes de IPO?"
- "¿Cuál es el estado del mandato UPI en mis solicitudes de IPO?"
- "¿Cuánto dinero está bloqueado contra mis solicitudes de IPO?"
Detalles de la orden de IPO
- "Muéstrame los detalles de mi solicitud de IPO xxxxxxxxxxxxxxx"
- "¿Qué ofertas hice en la solicitud de IPO xxxxxxxxxxxxxxx?"
- "¿Cuántas unidades se asignaron para mi solicitud de IPO xxxxxxxxxxxxxxx?"
- "¿Por qué se rechazó mi solicitud de IPO xxxxxxxxxxxxxxx?"
- "¿Cuándo se envió la solicitud de IPO xxxxxxxxxxxxxxx al intercambio?"
Endpoints disponibles
| Endpoint | Método | Descripción |
|---|---|---|
/get-profile | GET | Obtener información del perfil del usuario |
/get-funds-margin | GET | Obtener fondos del usuario e información de margen. El parámetro opcional de segmento puede ser 'SEC' (Acciones) o 'COM' (Materias primas) |
/get-holdings | GET | Obtener información de tenencias a largo plazo del usuario |
/get-positions | GET | Obtener información de posiciones a corto plazo del usuario |
/get-mtf-positions | GET | Obtener información de posiciones de financiamiento de operaciones con margen (MTF) del usuario |
/get-order-book | GET | Obtener las órdenes del día actual del usuario y su estado |
/get-order-details | GET | Obtener información detallada sobre una orden específica usando el ID de la orden |
/get-order-trades | GET | Obtener operaciones ejecutadas para una orden específica usando el ID de la orden |
/get-order-history | GET | Obtener historial de órdenes usando el ID de la orden o la etiqueta |
/get-trades | GET | Obtener las operaciones del usuario ejecutadas durante el día actual |
/get-ipos | GET | Listar IPOs disponibles públicamente. Filtros opcionales: status ('open', 'closed', 'listed', 'upcoming'), issue_type ('regular', 'sme'), además de page_number y records (máx. 30) para paginación |
/get-ipo-details | GET | Obtener detalles completos de una sola IPO usando su ID de IPO, incluidos tamaño del lote, precio de corte, enlaces al prospecto, información del registrador y el cronograma de asignación/listado |
/get-ipo-orders | GET | Obtener las solicitudes de IPO del propio usuario con ofertas, asignación, mandato UPI y estado de pago. page_number y records opcionales (máx. 30) para paginación |
/get-ipo-order-details | GET | Obtener una sola solicitud de IPO del usuario usando su ID de solicitud |