# Tiny (Olist Tiny) — how to use (mcp.ai)

Tiny (Olist Tiny) e-commerce ERP, one of the most used by online stores and marketplace sellers in Brazil. Query products and stock, sales orders, contacts, invoices and payables/receivables, and create contacts, via the official API. Pairs with the Banco MCP to reconcile orders and finances with the bank statement. Auth via token (generated in the Tiny account, in the Token API extension).

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_tiny?ms=1786693920000`
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. `tiny_create_contact`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/tiny`
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/tiny/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/tiny/create/contact` — Cadastra um contato (cliente/fornecedor) — contato.incluir.php. `data` é um JSON string com os campos do contato conforme a doc oficial (comuns: nome, tipoPessoa 'F'|'J', cpf_cnpj, email, fone, endere
  - body: { data: string, account?: string }
- `POST https://api.mcp.ai/api/tiny/get/contact` — Detalha um contato pelo `id` (contato.obter.php).
  - body: { id: string|number, account?: string, ids?: string|number[] }
- `POST https://api.mcp.ai/api/tiny/get/invoice` — Detalha uma nota fiscal pelo `id` (nota.fiscal.obter.php).
  - body: { id: string|number, account?: string, ids?: string|number[] }
- `POST https://api.mcp.ai/api/tiny/get/order` — Detalha um pedido pelo `id` (pedido.obter.php).
  - body: { id: string|number, account?: string, ids?: string|number[] }
- `POST https://api.mcp.ai/api/tiny/get/product` — Detalha um produto pelo `id` (produto.obter.php).
  - body: { id: string|number, account?: string, ids?: string|number[] }
- `POST https://api.mcp.ai/api/tiny/get/product/stock` — Saldo de estoque de um produto pelo `id` (produto.obter.estoque.php).
  - body: { id: string|number, account?: string, ids?: string|number[] }
- `POST https://api.mcp.ai/api/tiny/list/accounts` — Lista as empresas (CNPJ) Tiny conectadas a este install — id, label.
  - body: { account?: string }
- `POST https://api.mcp.ai/api/tiny/list/contacts` — Pesquisa contatos (contatos.pesquisa.php). Paginado. `search` busca por nome; `filters` (JSON) aceita cpf_cnpj, situacao, idVendedor etc.
  - body: { search?: string, page?: integer, filters?: string, account?: string }
- `POST https://api.mcp.ai/api/tiny/list/invoices` — Pesquisa notas fiscais (notas.fiscais.pesquisa.php). Paginado. `filters` (JSON) aceita dataInicial/dataFinal (DD/MM/AAAA), situacao, numeroNota, cpf_cnpj etc.
  - body: { search?: string, page?: integer, filters?: string, account?: string }
- `POST https://api.mcp.ai/api/tiny/list/orders` — Pesquisa pedidos de venda (pedidos.pesquisa.php). Paginado. `filters` (JSON) aceita dataInicial/dataFinal (DD/MM/AAAA), situacao, numeroPedido, nomeCliente, cpf_cnpj etc.
  - body: { search?: string, page?: integer, filters?: string, account?: string }
- `POST https://api.mcp.ai/api/tiny/list/payables` — Lista contas a pagar (contas.pagar.pesquisa.php). Paginado. `filters` (JSON) aceita dataInicial/dataFinal (DD/MM/AAAA), situacao (aberto/pago), nomeCliente etc. Pareia com o Banco MCP na conciliação.
  - body: { search?: string, page?: integer, filters?: string, account?: string }
- `POST https://api.mcp.ai/api/tiny/list/products` — Pesquisa produtos (produtos.pesquisa.php). Paginado. Use `search` pra buscar por nome/código e `filters` (JSON) pra situacao, idCategoria, etc.
  - body: { search?: string, page?: integer, filters?: string, account?: string }
- `POST https://api.mcp.ai/api/tiny/list/receivables` — Lista contas a receber (contas.receber.pesquisa.php). Paginado. `filters` (JSON) aceita dataInicial/dataFinal (DD/MM/AAAA), situacao (aberto/recebido), nomeCliente etc.
  - body: { search?: string, page?: integer, filters?: string, account?: string }
- `POST https://api.mcp.ai/api/tiny/list/sellers` — Pesquisa vendedores (vendedores.pesquisa.php). Paginado. `search` busca por nome.
  - body: { search?: string, page?: integer, filters?: string, account?: string }

## Example prompts
- "Which sales orders came in over the last 7 days?"
- "What's the stock for product SKU ABC?"
- "List open receivables to reconcile with the bank"

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