MCP Server: conectando agentes IA ao SiteUp
O Model Context Protocol (MCP) é um padrão aberto de interoperabilidade entre modelos de linguagem e fontes externas de dados/ferramentas. O SiteUp publica um servidor MCP HTTP-streaming oficial — qualquer cliente compatível (Claude Desktop, Cursor, ChatGPT em modo developer, agentes customizados via SDK Anthropic ou OpenAI) consegue operar a plataforma em linguagem natural, com o token do usuário garantindo isolamento e auditoria.
Este artigo documenta o endpoint, o método de autenticação, as 14 ferramentas expostas e exemplos de configuração nos clientes mais comuns.
Endpoint e transporte
| Item | Valor |
|---|---|
| URL base | https://siteup.com.br/api/mcp |
| Transporte | HTTP streaming (compatível com clientes MCP modernos) |
| Métodos HTTP aceitos | GET, POST, DELETE |
serverInfo.name |
siteup-mcp |
serverInfo.version |
1.0.0 |
| Timeout máximo da requisição | 60 segundos |
O servidor declara metadados de OAuth Protected Resource em /.well-known/oauth-protected-resource para descoberta automática.
Autenticação
A autenticação é feita por Bearer Token no header Authorization. O valor do token é o mesmo api_access_token da API REST, gerado em Perfil → Tokens de acesso.
Authorization: Bearer <api_access_token>
Na primeira chamada, o servidor valida o token contra /api/v1/profile. Se o endpoint retornar 200, o token é considerado válido e o clientId da sessão é fixado em user-<id>, com userId e accountId extraídos do perfil. Tokens revogados, expirados ou com menos de 10 caracteres são rejeitados imediatamente.
Ferramentas disponíveis
O servidor expõe 14 ferramentas organizadas em seis grupos. Todas (exceto a de captura pública) exigem account_id e usam o token autenticado.
Atendimento
| Nome | Descrição | Parâmetros principais |
|---|---|---|
list_conversations |
Lista conversas com filtros | account_id, status (open, resolved, pending, snoozed, all), inbox_id?, page |
get_conversation |
Detalhe da conversa com últimas mensagens | account_id, conversation_id |
send_message |
Envia mensagem outbound ou nota interna | account_id, conversation_id, content, message_type (outgoing, private) |
Contatos
| Nome | Descrição | Parâmetros principais |
|---|---|---|
search_contact |
Busca por nome, e-mail ou telefone | account_id, q |
get_contact |
Detalhe completo do contato (custom + additional attributes) | account_id, contact_id |
create_contact |
Cria contato e associa a uma caixa | account_id, inbox_id, name, email?, phone_number?, custom_attributes?, additional_attributes? |
Kanban
| Nome | Descrição | Parâmetros principais |
|---|---|---|
list_kanban_items |
Lista cards do funil, opcionalmente filtrados por etapa | account_id, funnel_id, stage? |
move_kanban_item |
Move card para outra etapa (dispara CAPI/automações) | account_id, kanban_item_id, funnel_stage |
update_kanban_item |
Atualiza item_details (valor, notas, custom fields) |
account_id, kanban_item_id, item_details |
Lead capture
| Nome | Descrição | Parâmetros principais |
|---|---|---|
submit_lead_form |
Captura pública de lead — não requer token | slug, name, email, phone?, message?, custom_attributes?, tracking? |
O campo tracking aceita gclid, fbclid, ctwa_clid, leadgen_id e UTMs, repassando-os ao endpoint público /api/leads/capture/<slug>.
VOIP
| Nome | Descrição | Parâmetros principais |
|---|---|---|
list_call_records |
Histórico de chamadas com scoring IA + transcrição | account_id, page |
get_voip_analytics |
Métrica VOIP específica | account_id, metric |
Valores aceitos em metric: funnel, financial, by_agent, by_origin, daily, calls_per_lead, attendance_rate, lead_speed, fcr_rate, setup_checklist, compare, recent_summaries.
Capitão (Agente IA)
| Nome | Descrição | Parâmetros principais |
|---|---|---|
list_knowledge_documents |
Lista PDFs, URLs e textos do knowledge base | account_id |
add_knowledge_document |
Adiciona documento ao knowledge base | account_id, document_type (url, text, file), name, content?, url? |
Configurando Claude Desktop
- Em Perfil → Tokens de acesso, gere um token e copie o valor.
- Edite o arquivo de configuração:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Adicione a entrada do servidor remoto. Versões recentes do Claude Desktop suportam transporte HTTP via campo
url:
json { "mcpServers": { "siteup": { "url": "https://siteup.com.br/api/mcp", "headers": { "Authorization": "Bearer SEU_API_ACCESS_TOKEN" } } } }
- Reinicie o Claude Desktop. No painel de ferramentas do chat, confirme que
siteup-mcpaparece com as 14 ferramentas listadas.
Configurando Cursor
Edite ~/.cursor/mcp.json (ou abra Settings → Features → Model Context Protocol):
json { "mcpServers": { "siteup": { "url": "https://siteup.com.br/api/mcp", "headers": { "Authorization": "Bearer SEU_API_ACCESS_TOKEN" } } } }
Reabra o Cursor; em modo agentic, as ferramentas SiteUp ficam disponíveis automaticamente.
Configurando ChatGPT (Connectors)
Em contas Team/Enterprise, vá em Settings → Connectors → Add custom:
- URL:
https://siteup.com.br/api/mcp - Authentication: Bearer Token
- Token: o valor do
api_access_token
Exemplos de uso
Análise sob demanda
Solicite ao agente: "Liste as 50 conversas mais recentes da conta 142 com status open, agrupe por inbox e me diga qual caixa concentra mais tickets ativos." O agente chama list_conversations paginadamente, agrega no client-side e responde.
Captura de lead com tracking de mídia paga
Solicite ao agente: "Submeta o formulário com slug lp-blackfriday: nome João Pereira, e-mail joao@exemplo.com, telefone +5511988887777, e inclua o gclid que está nesta URL." O agente extrai o gclid, monta o tracking e chama submit_lead_form.
Operação no funil
Solicite: "Pegue todos os cards do funil 7 que estão na etapa Negociação e mova para Fechamento os que tiverem value maior que 5000." O agente combina list_kanban_items + update_kanban_item + move_kanban_item.
Limites operacionais
- Cada chamada MCP herda exatamente os limites de rate da API REST do token usado.
- Respostas grandes da API SiteUp são repassadas como texto JSON; a paginação dos endpoints (
page=N) deve ser controlada pelo agente. - O timeout máximo de uma chamada de ferramenta é 60 segundos.
- Tokens de atendentes restritos só enxergam as conversas, contatos e funis a que têm acesso pelo modelo de permissões do SiteUp.
Boas práticas
- Crie um token dedicado ao MCP para facilitar revogação isolada.
- Comece pelas ferramentas de leitura (
list_*,get_*,search_*) antes de habilitar agentes que escrevem (send_message,move_kanban_item,create_contact). - Logue server-side todas as interações do agente — o token concentra ações de alto impacto.
- Versione os prompts dos agentes: novas ferramentas podem ser adicionadas, e prompts antigos podem ignorar capacidades novas.
Próximos passos
- API REST: autenticação — base que o MCP consome internamente
- Webhooks customizados — para fechar o loop event-driven
- Visão geral das integrações — voltar ao mapa