# Bsoft TMS — how to use (mcp.ai)

Official Bsoft TMS API, the leading transportation management system for Brazilian carriers (Bsoft by nstech). Issue and query CT-e, MDF-e and NF-e, access keys, XML and PDF of fiscal documents, finance (payables/receivables, payments, receipts, contracts, reconciliation), fleet and maintenance, freight and bills of lading, trip control and party records. Connect with your Bsoft domain credentials (domain, integration-profile user and password).

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_bsoft?ms=1783111980000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `bsoft_controle_viagens`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/bsoft`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/bsoft/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/bsoft/controle/viagens` — Controle de Viagens no Bsoft TMS (leitura). Viagens, adiantamentos, despesas, receitas, devoluções, recebimentos, documentos e manifestos da viagem (recursos aninhados usam parent_id = id da viagem).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, offset?: integer, limit?: integer, query?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/controle/viagens/write/create` — Controle de Viagens no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/controle/viagens/write/create/lote` — Controle de Viagens no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/controle/viagens/write/delete` — Controle de Viagens no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/controle/viagens/write/patch` — Controle de Viagens no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/controle/viagens/write/update` — Controle de Viagens no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/documentos/fiscais` — Documentos fiscais eletrônicos do Bsoft (e-Doc) — o caso de uso principal.
  - body: { account?: string, kind: string, tipo: string, query?: string, body?: string }
- `POST https://api.mcp.ai/api/bsoft/documentos/fiscais/evento` — Registrar EVENTO de documento fiscal no Bsoft (CT-e ou MDF-e): cancelamento, carta de correção, encerramento etc. ⚠️ Ação fiscal real em PRODUÇÃO.
  - body: { account?: string, tipo: string, body: string }
- `POST https://api.mcp.ai/api/bsoft/financeiro` — Financeiro no Bsoft TMS (leitura). Títulos a pagar/receber, pagamentos, recebimentos, contas financeiras, contratos, centros de custo, planos de contas, conciliação e transferências.
  - body: { account?: string, resource: string, id?: string, parent_id?: string, offset?: integer, limit?: integer, query?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/financeiro/write/create` — Financeiro no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/financeiro/write/create/lote` — Financeiro no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/financeiro/write/delete` — Financeiro no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/financeiro/write/patch` — Financeiro no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/financeiro/write/update` — Financeiro no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/list/accounts` — Lista os tenants (domínios) Bsoft conectados a este install — id, label e domínio.
  - body: { account?: string }
- `POST https://api.mcp.ai/api/bsoft/manutencao` — Manutenção / Frota no Bsoft TMS (leitura). Abastecimentos, pneus, equipamentos, ordens de serviço de manutenção e tabelas de referência (combustíveis, marcas, modelos).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, offset?: integer, limit?: integer, query?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/manutencao/write/create` — Manutenção / Frota no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/manutencao/write/create/lote` — Manutenção / Frota no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/manutencao/write/delete` — Manutenção / Frota no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/manutencao/write/patch` — Manutenção / Frota no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/manutencao/write/update` — Manutenção / Frota no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/os` — Ordem de Serviço no Bsoft TMS (leitura). Ordens de serviço (leitura, agendamentos, históricos, materiais, produtos/serviços) e ações; categorias, status e tipos.
  - body: { account?: string, resource: string, id?: string, parent_id?: string, offset?: integer, limit?: integer, query?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/os/write/create` — Ordem de Serviço no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/os/write/create/lote` — Ordem de Serviço no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/os/write/delete` — Ordem de Serviço no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/os/write/patch` — Ordem de Serviço no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/os/write/update` — Ordem de Serviço no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/pessoas` — Pessoas no Bsoft TMS (leitura). Cadastro de pessoas físicas e jurídicas (clientes, motoristas, fornecedores), endereços, contatos, contas de depósito, arquivos e grupos.
  - body: { account?: string, resource: string, id?: string, parent_id?: string, offset?: integer, limit?: integer, query?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/pessoas/write/create` — Pessoas no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/pessoas/write/create/lote` — Pessoas no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/pessoas/write/delete` — Pessoas no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/pessoas/write/patch` — Pessoas no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/pessoas/write/update` — Pessoas no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/recursos` — Recursos (usuários do sistema) no Bsoft TMS (leitura). Usuários/recursos do Bsoft: listar, grupos, inatividades, IPs de acesso, ativar/inativar.
  - body: { account?: string, resource: string, id?: string, parent_id?: string, offset?: integer, limit?: integer, query?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/recursos/write/create` — Recursos (usuários do sistema) no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/recursos/write/create/lote` — Recursos (usuários do sistema) no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/recursos/write/delete` — Recursos (usuários do sistema) no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/recursos/write/patch` — Recursos (usuários do sistema) no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/recursos/write/update` — Recursos (usuários do sistema) no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/transporte` — Transporte no Bsoft TMS (leitura). CT-e (conhecimentos), MDF-e (manifestos), veículos, agências, apólices, fretes/contratos, ocorrências, pedidos, ordens de carregamento e tabelas de referência.
  - body: { account?: string, resource: string, id?: string, parent_id?: string, offset?: integer, limit?: integer, query?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/transporte/write/create` — Transporte no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/transporte/write/create/lote` — Transporte no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/transporte/write/delete` — Transporte no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/transporte/write/patch` — Transporte no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }
- `POST https://api.mcp.ai/api/bsoft/transporte/write/update` — Transporte no Bsoft TMS (escrita: cria/atualiza/remove). ⚠️ Altera dados de PRODUÇÃO (o Bsoft não tem homologação).
  - body: { account?: string, resource: string, id?: string, parent_id?: string, body?: string, ids?: string[], parent_ids?: string[] }

## Example prompts
- "List the CT-e issued this month and bring me their access keys"
- "Which payables are due this week in finance?"
- "Show the open trips and the drivers' advances"

## More
- Page: https://mcp.ai/bsoft
- Agent spec (llms.txt): https://mcp.ai/bsoft/llms.txt
- Postman collection: https://mcp.ai/bsoft/postman.json
