Token导航 LogoToken导航TokenDH.com
Olist MCP Server logo
安全风控stdio官方级别未说明来源级核验

Olist MCP Server

MCP Server

Olist ERP MCP服务器是一个用于连接AI代理与Olist ERP系统的集成工具,通过168个自动生成的API工具实现全面的ERP操作支持。

工具数

13

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude安全Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

opastorello

提供方

opastorello

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Olist ERP MCP Server

Servidor MCP para a API Olist ERP (Tiny ERP) v3 com 168 tools geradas automaticamente do Swagger da API.

Compativel com qualquer cliente MCP — Claude Code, Claude Desktop, n8n, Cursor, etc.

O que faz

Conecta qualquer agente de IA ao Olist ERP. As 168 tools cobrem todas as operacoes da API:

CategoriaToolsOperacoes
Produtos24CRUD, estoque, precos, kits, anexos
Pedidos de Venda14CRUD, notas, etiquetas, rastreio
Contatos14CRUD, tipos, busca
Contas a Pagar14CRUD, baixa, estorno
Contas a Receber14CRUD, baixa, estorno, boletos
Notas Fiscais (NFe/NFCe)18Emissao, consulta, XML, cancelamento
PDV10Vendas, sessoes, caixa
CRM8Oportunidades, funil
Contratos6CRUD, parcelas
Ordem de Servico6CRUD
Expedicao8Volumes, objetos, etiquetas
Catalogo16Categorias, marcas, depositos, vendedores
Configuracoes16Empresa, formas pgto, parcelas

Quick Start

1. Configure o .env

cp .env.example .env

Preencha com suas credenciais Olist:

MCP_SERVER_NAME=olist-erp
SWAGGER_URL=https://erp.tiny.com.br/public-api/v3/swagger/swagger.json

OAUTH_CLIENT_ID=seu-client-id
OAUTH_CLIENT_SECRET=seu-client-secret
OAUTH_AUTH_URL=https://accounts.tiny.com.br/realms/tiny/protocol/openid-connect/auth
OAUTH_TOKEN_URL=https://accounts.tiny.com.br/realms/tiny/protocol/openid-connect/token
OAUTH_REDIRECT_URI=http://localhost:47321/auth/callback
OAUTH_SCOPE=openid
Para obter client_id e client_secret, crie uma aplicacao no painel de integracoes da sua conta Olist ERP (Tiny).

2. Suba o server

# Docker (recomendado)
docker compose up -d

# Ou local
pip install -r requirements.txt
python -m src.server

3. Autentique com a Olist

Abra http://localhost:47321/auth no browser e autorize a aplicacao na conta Olist.

4. Crie um token de acesso

curl -X POST http://localhost:47321/api/tokens \
  -H 'Content-Type: application/json' \
  -d '{"name": "meu-token"}'

Guarde o token retornado — sera necessario para acessar o endpoint /mcp.

5. Conecte seu agente

Configure o MCP client apontando para http://localhost:47321/mcp com o header Authorization: Bearer SEU_TOKEN.

Configuracao

VariavelDefaultDescricao
MCP Server
MCP_SERVER_NAMEswagger-mcpNome do server MCP
MCP_SERVER_INSTRUCTIONS(auto)Instrucoes do server para o LLM
MCP_TRANSPORTstreamable-httpTransporte: streamable-http, sse ou stdio
MCP_HOST0.0.0.0Host do servidor
MCP_PORT47321Porta do servidor
Swagger
SWAGGER_URLURL do swagger spec (fetched no startup, cached localmente)
API
API_BASE_URL(auto do spec)Base URL da API (auto-detectado do servers[0].url do swagger)
OAuth2
OAUTH_CLIENT_IDClient ID (obrigatorio)
OAUTH_CLIENT_SECRETClient Secret (obrigatorio)
OAUTH_AUTH_URLURL de autorizacao OAuth
OAUTH_TOKEN_URLURL de troca de tokens
OAUTH_REDIRECT_URIhttp://localhost:47321/auth/callbackRedirect URI
OAUTH_SCOPEopenidScopes OAuth
OAUTH_TOKEN_FILEdata/.oauth_tokens.jsonCaminho para persistir tokens OAuth
API Token
MCP_TOKEN_FILEdata/.mcp_tokens.jsonCaminho para persistir tokens de acesso

Autenticacao OAuth2

O servidor embute o fluxo OAuth2 completo com a Olist via rotas HTTP.

Fluxo

  1. Suba o servidor — funciona mesmo sem tokens
  2. Abra /auth no browser — redireciona para login da Olist
  3. Autorize a aplicacao — redireciona de volta para /auth/callback
  4. Tokens salvos — troca o code por tokens e salva em data/.oauth_tokens.json
  5. Pronto — todas as 168 tools funcionam

Tokens sao renovados automaticamente via refresh token. Se expirar, abra /auth novamente.

Seguranca — Token de Acesso

O endpoint /mcp e protegido por Bearer token. Ao criar o primeiro token, a autenticacao e ativada automaticamente — qualquer request sem token valido recebe 401 Unauthorized.

Rotas publicas (sem token): /auth, /auth/callback, /auth/status, /health, /info, /api/tokens.

Criar token

curl -X POST http://localhost:47321/api/tokens \
  -H 'Content-Type: application/json' \
  -d '{"name": "meu-token", "description": "Token para meus scripts"}'

Resposta:

{
  "token": "dKx8vZ-pQ_H2mN4r8tL9...",
  "name": "meu-token",
  "message": "Save this token securely. You won't be able to see it again."
}

Usar o token

curl -X POST http://localhost:47321/mcp \
  -H 'Authorization: Bearer dKx8vZ-pQ_H2mN4r8tL9...' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{...}}'

Listar tokens

curl http://localhost:47321/api/tokens

Revogar token

curl -X DELETE http://localhost:47321/api/tokens/dummy \
  -H 'Content-Type: application/json' \
  -d '{"token": "dKx8vZ-pQ_H2mN4r8tL9..."}'
Tokens sao salvos com hash SHA-256. Se perder o token, crie um novo.

Rotas HTTP

RotaDescricao
GET /authRedireciona para login OAuth da Olist
GET /auth/callbackRecebe o code e troca por tokens
GET /auth/statusRetorna {"authenticated": true/false}
GET /api/tokensLista tokens ativos
POST /api/tokensCria novo token
DELETE /api/tokens/{hash}Revoga token
GET /healthHealth check (200 healthy / 503 degraded)
GET /infoMetadata: nome, transport, tools, swagger_url
POST /mcpEndpoint MCP — requer Bearer token

Integracao

Claude Desktop

1. Configure o MCP server em claude_desktop_config.json (Settings > Developer > Edit Config):

{
  "mcpServers": {
    "olist-erp": {
      "url": "http://localhost:47321/mcp",
      "headers": {
        "Authorization": "Bearer SEU_TOKEN_AQUI"
      }
    }
  }
}

2. Adicione o Agent Prompt — copie o conteudo de agents/olist-erp.md como Project Instructions no Claude Desktop.

Isso ensina o Claude as quirks da API Olist (validacao de EAN, workflows de NF, regras do ERP brasileiro). Sem o agent prompt, o Claude vai errar frequentemente.

Claude Code

{
  "mcpServers": {
    "olist-erp": {
      "url": "http://localhost:47321/mcp",
      "headers": {
        "Authorization": "Bearer SEU_TOKEN_AQUI"
      }
    }
  }
}

n8n

  1. Suba o container com docker compose up -d
  2. Autentique via http://localhost:47321/auth
  3. Crie um token: curl -X POST http://localhost:47321/api/tokens -H 'Content-Type: application/json' -d '{"name":"n8n"}'
  4. No n8n, adicione um MCP Client node apontando para http://host.docker.internal:47321/mcp com header Authorization: Bearer SEU_TOKEN

stdio (sem Docker)

{
  "mcpServers": {
    "olist-erp": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/caminho/para/olist-mcp-server"
    }
  }
}

Docker

docker-compose.yml

services:
  olist-mcp:
    build: .
    ports:
      - "47321:47321"
    env_file:
      - .env
    volumes:
      - ./data:/app/data
    restart: unless-stopped

Imagem do GHCR

docker pull ghcr.io/opastorello/olist-mcp-server:1.0.0

Health check

curl http://localhost:47321/health
# {"status":"healthy","server":"olist-erp","tools":168,"authenticated":true,"transport":"streamable-http"}

Arquitetura

src/
├── server.py           # Entry point - FastMCP + rotas OAuth/health + auth middleware
├── api_client.py       # Cliente HTTP async generico
├── tools_generator.py  # Gera tools dinamicamente do swagger + auto-fetch
├── oauth.py            # OAuth2 token manager (exchange, refresh, persistencia)
├── token_auth.py       # API token manager (SHA-256 hash, CRUD, validacao)
├── __main__.py         # python -m src
└── __init__.py

agents/
└── olist-erp.md        # Agent prompt para Claude Desktop (168 tools documentadas)

O swagger e buscado da SWAGGER_URL no startup e cacheado localmente. Se a Olist adicionar endpoints novos, basta reiniciar o server — novas tools aparecem automaticamente.

Pre-requisitos

  • Python 3.12+
  • Docker (opcional, recomendado)
  • Credenciais OAuth2 da Olist (crie no painel de integracoes da sua conta Olist ERP)

Licenca

MIT

目录标签

目录标签

PythonClaude安全ERP集成本地部署API自动化AI代理连接OAuth2认证多客户端支持

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

13

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP