Upstox MCP server
Um servidor MCP para integração com a API de negociação da Upstox, da Upstox.
Documentação
mcp-server-upstox-api
Um servidor MCP para integração com a API de negociação da Upstox.
Início Rápido
Configuração
- Clone o repositório:
git clone https://github.com/yourusername/mcp-server-upstox-api.git
cd mcp-server-upstox-api
- Instale as dependências:
npm install
Executando localmente
-
Crie um aplicativo Upstox API
Crie um aplicativo Upstox API regular no portal do desenvolvedor Upstox (Apps → My apps → + New App). Defina a URL de redirecionamento para:http://localhost:8787/callback -
Configure as credenciais
Crie um arquivo chamado.dev.varsna raiz do projeto e adicione sua chave de API (Client ID) e Client Secret:UPSTOX_CLIENT_ID=your_app_api_key UPSTOX_CLIENT_SECRET=your_app_api_secret -
Inicie o aplicativo
npm start
Seu servidor MCP estará em execução em http://localhost:8787.
Execute o Servidor
Para iniciar o servidor MCP (após concluir as etapas acima):
npm run start
Configuração do MCP
Configuração do Claude Desktop
Para usar este servidor MCP com o Claude Desktop, adicione a seguinte configuração às configurações do seu Claude Desktop:
{
"mcpServers": {
"mcp-server-upstox-api": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/mcp"
]
}
}
}
Configuração do MCP no Cursor
Para usar este servidor MCP com o Cursor, adicione a seguinte configuração às configurações do MCP do Cursor (geralmente localizadas em ~/.cursor/mcp.json):
{
"mcpServers": {
"mcp-server-upstox-api": {
"url": "http://localhost:8787/mcp"
}
}
}
Essas configurações permitem que o Claude Desktop e o Cursor se conectem ao seu servidor MCP local e usem os endpoints da API Upstox.
Usando com Claude e Cursor
Você pode interagir com a API Upstox por meio de prompts em linguagem natural. Aqui estão alguns exemplos de prompts para cada comando:
Informações do Perfil
- "Quais são as informações do meu perfil na Upstox?"
- "Mostre-me meus segmentos e produtos ativos na Upstox"
- "Qual é o meu ID de usuário e e-mail na Upstox?"
Fundos e Margem
- "Qual é a minha margem disponível na Upstox?"
- "Mostre-me os fundos do segmento de ações e os detalhes da margem"
- "Qual é a disponibilidade de margem do meu segmento de commodities?"
Posições (Holdings)
- "Quais ações eu tenho atualmente na Upstox?"
- "Mostre-me minhas posições de longo prazo com seus valores atuais"
- "Qual é o valor total das minhas posições na Upstox?"
Posições (Positions)
- "Quais são minhas posições abertas atuais na Upstox?"
- "Mostre-me minhas posições intraday com seu P&L"
- "Qual é o meu P&L não realizado total das posições atuais?"
Posições MTF
- "Quais são minhas posições de Margin Trade Funding?"
- "Mostre-me minhas posições MTF com seus valores atuais"
- "Qual é a exposição total de MTF na minha conta?"
Livro de Ordens
- "Mostre-me os pedidos do dia atual na Upstox"
- "Quais são meus pedidos pendentes na Upstox?"
- "Mostre-me meu histórico de pedidos de hoje"
- "Qual é o status dos meus pedidos recentes?"
- "Liste todos os meus pedidos concluídos de hoje"
Detalhes do Pedido
- "Mostre-me os detalhes do pedido ID xxxxxxxxxxxxxxx"
- "Qual é o status do meu pedido com ID xxxxxxxxxxxxxxx"
- "Obtenha as informações completas do pedido xxxxxxxxxxxxxxx"
- "Verifique o status de execução do pedido xxxxxxxxxxxxxxx"
- "Veja os detalhes do meu pedido recente xxxxxxxxxxxxxxx"
Histórico do Pedido
- "Mostre-me o histórico do pedido ID xxxxxxxxxxxxxxx"
- "Obtenha todas as atualizações de status do pedido xxxxxxxxxxxxxxx"
- "Qual é a progressão do pedido xxxxxxxxxxxxxxx"
- "Mostre-me todas as etapas do pedido xxxxxxxxxxxxxxx"
- "Obtenha o histórico de pedidos da tag xxxxxxxxxxxxxxx"
Negociações do Pedido
- "Mostre-me as negociações do pedido ID xxxxxxxxxxxxxxx"
- "Quais negociações foram executadas para o pedido xxxxxxxxxxxxxxx"
- "Obtenha os detalhes da negociação do meu pedido xxxxxxxxxxxxxxx"
- "Liste todas as negociações associadas ao pedido xxxxxxxxxxxxxxx"
- "Mostre-me os detalhes de execução do pedido xxxxxxxxxxxxxxx"
Negociações
- "Mostre-me minhas negociações de hoje"
- "Quais negociações executei hoje?"
- "Obtenha meu histórico diário de negociações"
- "Liste todas as minhas negociações concluídas do dia"
- "Mostre-me os detalhes das minhas negociações com preços de execução"
IPOs
- "Quais IPOs estão abertos agora?"
- "Mostre-me os próximos IPOs de SME"
- "Liste os IPOs que foram listados recentemente"
- "Qual é o nível de subscrição dos IPOs atualmente abertos?"
- "Mostre-me os próximos 10 IPOs abertos do mainboard"
Detalhes do IPO
- "Mostre-me os detalhes do IPO xxxxxxxxxxxxxxx"
- "Qual é o tamanho do lote e a quantidade mínima para o IPO xxxxxxxxxxxxxxx"
- "Quando é a data de alocação e listagem do IPO xxxxxxxxxxxxxxx"
- "Quem é o registrador do IPO xxxxxxxxxxxxxxx"
- "Dê-me a faixa de preço e o preço de corte do IPO xxxxxxxxxxxxxxx"
Ordens de IPO
- "Para quais IPOs me inscrevi?"
- "Mostre-me minhas inscrições de IPO e seu status de alocação"
- "Recebi alocação em alguma das minhas inscrições de IPO?"
- "Qual é o status do mandato UPI nas minhas inscrições de IPO?"
- "Quanto dinheiro está bloqueado para minhas inscrições de IPO?"
Detalhes da Ordem de IPO
- "Mostre-me os detalhes da minha inscrição de IPO xxxxxxxxxxxxxxx"
- "Quais lances fiz na inscrição de IPO xxxxxxxxxxxxxxx"
- "Quantas unidades foram alocadas para minha inscrição de IPO xxxxxxxxxxxxxxx"
- "Por que minha inscrição de IPO xxxxxxxxxxxxxxx foi rejeitada?"
- "Quando a inscrição de IPO xxxxxxxxxxxxxxx foi enviada à bolsa?"
Endpoints Disponíveis
| Endpoint | Método | Descrição |
|---|---|---|
/get-profile | GET | Obter informações do perfil do usuário |
/get-funds-margin | GET | Obter informações de fundos e margem do usuário. O parâmetro opcional de segmento pode ser 'SEC' (Ações) ou 'COM' (Commodities) |
/get-holdings | GET | Obter informações de posições de longo prazo do usuário |
/get-positions | GET | Obter informações de posições de curto prazo do usuário |
/get-mtf-positions | GET | Obter informações de posições de Margin Trade Funding (MTF) do usuário |
/get-order-book | GET | Obter os pedidos do dia atual do usuário e seu status |
/get-order-details | GET | Obter informações detalhadas sobre um pedido específico usando o ID do pedido |
/get-order-trades | GET | Obter negociações executadas para um pedido específico usando o ID do pedido |
/get-order-history | GET | Obter histórico de pedidos usando o ID do pedido ou a tag |
/get-trades | GET | Obter as negociações do usuário executadas no dia atual |
/get-ipos | GET | Listar IPOs disponíveis publicamente. Filtros opcionais: status ('open', 'closed', 'listed', 'upcoming'), issue_type ('regular', 'sme'), além de page_number e records (máx. 30) para paginação |
/get-ipo-details | GET | Obter detalhes completos de um único IPO usando seu ID de IPO, incluindo tamanho do lote, preço de corte, links do prospecto, informações do registrador e o cronograma de alocação/listagem |
/get-ipo-orders | GET | Obter as inscrições de IPO do próprio usuário com lances, alocação, mandato UPI e status de pagamento. Opcionais page_number e records (máx. 30) para paginação |
/get-ipo-order-details | GET | Obter uma única inscrição de IPO do usuário usando seu ID de inscrição |