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

  1. Clone o repositório:
git clone https://github.com/yourusername/mcp-server-upstox-api.git
cd mcp-server-upstox-api
  1. Instale as dependências:
npm install

Executando localmente

  1. 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
    
  2. Configure as credenciais
    Crie um arquivo chamado .dev.vars na 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
    
  3. 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

EndpointMétodoDescrição
/get-profileGETObter informações do perfil do usuário
/get-funds-marginGETObter informações de fundos e margem do usuário. O parâmetro opcional de segmento pode ser 'SEC' (Ações) ou 'COM' (Commodities)
/get-holdingsGETObter informações de posições de longo prazo do usuário
/get-positionsGETObter informações de posições de curto prazo do usuário
/get-mtf-positionsGETObter informações de posições de Margin Trade Funding (MTF) do usuário
/get-order-bookGETObter os pedidos do dia atual do usuário e seu status
/get-order-detailsGETObter informações detalhadas sobre um pedido específico usando o ID do pedido
/get-order-tradesGETObter negociações executadas para um pedido específico usando o ID do pedido
/get-order-historyGETObter histórico de pedidos usando o ID do pedido ou a tag
/get-tradesGETObter as negociações do usuário executadas no dia atual
/get-iposGETListar 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-detailsGETObter 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-ordersGETObter 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-detailsGETObter uma única inscrição de IPO do usuário usando seu ID de inscrição