Skip to main content
Glama
Store-Experts

SitePerto MCP

Official

SitePerto MCP · beta

Conecte sua IA a um site escolhido por você, envie o site HTML pronto e peça alterações em texto, CSS e JavaScript. Confira a prévia e publique pelo painel do SitePerto.

O fluxo usa MCP e OAuth com PKCE, no mesmo padrão de conexão por endereço, login e autorização usado por servidores remotos como os da Cloudflare. É uma integração independente; não é um plugin oficial do ChatGPT, Claude, Codex ou Antigravity. A disponibilidade de servidores personalizados depende do aplicativo e do plano de cada fornecedor.

Conexão remota: três decisões

  1. Adicione https://api.storeexperts.com.br/mcp como servidor MCP remoto em um aplicativo compatível com Streamable HTTP e OAuth.

  2. Entre na sua conta SitePerto.

  3. Escolha o site e clique em Autorizar conexão.

Você não copia chaves. Se já estiver conectado e só houver um site elegível, ele vem selecionado. A autorização dura até sete dias; o aplicativo renova automaticamente o acesso de uma hora dentro desse período. Depois, você autoriza novamente. Revogue a conexão no editor do site quando quiser.

Exemplo de pedido: “Consulte meu site, leia o título e o CSS e altere a chamada principal. Preserve as imagens e me mostre a prévia.”

A conexão remota não consegue ler o localhost ou as pastas do computador. Para essa jornada, use a ponte abaixo.

Related MCP server: zah-site-mcp

Seu projeto local: conectar uma vez, depois enviar

Pré-requisito: Node.js 22 ou superior e uma pasta de saída estática com index.html, como dist ou out. Não envie fontes que precisam de build, PHP, banco ou servidor Node.

Você pode iniciar sem clonar nem editar JSON, com a versão pública fixada:

npx --yes --ignore-scripts --package=github:Store-Experts/siteperto-mcp#v0.2.0 siteperto connect /caminho/absoluto/meu-site/dist
npx --yes --ignore-scripts --package=github:Store-Experts/siteperto-mcp#v0.2.0 siteperto send /caminho/absoluto/meu-site/dist

O primeiro comando conecta; o segundo é usado para as atualizações. O npm obtém somente esta integração e suas dependências fixadas. A versão por tag facilita repetir a instalação; confira o código e o fornecedor antes de executá-la.

Com o pacote baixado ou o repositório clonado, instale as dependências nesta pasta:

npm ci --ignore-scripts --no-audit --no-fund
node src/cli.mjs connect /caminho/absoluto/meu-site/dist

O navegador abre o SitePerto para a mesma escolha de site e autorização. Depois de modificar ou gerar os arquivos:

node src/cli.mjs send /caminho/absoluto/meu-site/dist

O envio retorna os links de prévia e do editor. inspect verifica os arquivos sem enviá-los; status mostra qual site está conectado. A ponte não compila, executa scripts nem instala dependências do seu projeto.

Para um editor de IA com MCP local por stdio, conecte a pasta antes e configure:

{
  "mcpServers": {
    "siteperto": {
      "command": "node",
      "args": ["/caminho/absoluto/siteperto-mcp/src/cli.mjs", "mcp", "/caminho/absoluto/meu-site/dist"]
    }
  }
}

O formato acima é referência para clientes que aceitam mcpServers; cada aplicativo tem seu próprio formato. A IA não recebe parâmetro para mudar a pasta. A configuração não contém uma chave.

Atualizar é diferente de publicar

A conexão mantém uma atualização pendente própria, em vez de ocupar a biblioteca com um novo tema a cada envio. Um pacote idêntico reutiliza o resultado. Uma atualização diferente substitui apenas a versão pendente da própria conexão, dentro da cota existente.

O tema ativo e os rascunhos de outras origens são preservados. Se alguém editar a versão pendente no painel, um novo envio sem leitura dessa revisão é recusado. Na conexão remota, read_files seguido de edit_files permite trabalhar sobre a revisão atual e preservar todos os outros arquivos, incluindo imagens. O site no ar só muda quando você publica pelo painel. Esta versão não oferece publicação automática.

Ferramentas remotas

Ferramenta

Ação

get_site

Site autorizado, arquivos disponíveis, revisão e links

read_files

Até dez arquivos de texto, total de 256 KiB; conteúdo binário omitido

edit_files

Até dez arquivos de texto existentes, até 256 KiB, com revisão obrigatória; preserva os demais arquivos

send_update

Pacote completo com até 600 arquivos e 6 MiB de conteúdo, incluindo index.html

A edição parcial aceita sites HTML prontos e preserva o manifesto. Ela não adiciona nem apaga arquivos. Para trocar imagens, adicionar páginas ou enviar pacotes maiores, envie o pacote completo pela ponte local. A edição parcial pode preservar conjuntos de até 32 MiB; a ponte respeita os limites existentes de até 100 MiB e 600 arquivos, sem aumentar a cota do plano.

Segurança e armazenamento

  • OAuth Authorization Code com PKCE S256, código de uso único válido por cinco minutos, audiência fixa e tokens de acesso de até uma hora.

  • Uma autorização vincula usuário, aplicativo e um único site; permissões, identidade ativa e plano são revalidados no uso e na escrita. Não há acesso a contatos, pagamentos, DNS, outros projetos ou credencial administrativa.

  • Renovação rotaciona os tokens. Reutilizar o token de renovação imediatamente anterior revoga a conexão. O servidor guarda hashes das credenciais; a auditoria registra ações e IDs, nunca os tokens ou o conteúdo dos arquivos.

  • A ponte guarda suas credenciais em uma pasta privada fora do site, com permissões do sistema operacional. Não cole credenciais na conversa, no código, em issues ou no Git.

  • Destino HTTPS fixo. Nenhum download arbitrário de URL, build, comando remoto ou execução de código enviado. O retorno local abre temporariamente apenas 127.0.0.1 durante a autorização e fecha ao concluir ou após cinco minutos.

  • Arquivos privados, links simbólicos, caminhos de travessia e formatos de credenciais reconhecidos são recusados. A detecção não reconhece todos os segredos ou dados pessoais: revise os arquivos públicos.

  • Limites por IP/conexão, quatro requisições MCP concorrentes e um envio por processo; até 20 tentativas de atualização por hora por conexão. Limites operacionais não são SLA.

  • Até três conexões ativas por usuário/site e 20 por usuário, com limites globais. Cadastros públicos de aplicativos expiram em 30 dias. A rotina limpa credenciais expiradas; conserva somente a referência da atualização pendente por até 30 dias após a expiração, para retomar a mesma conexão sem ocupar outra vaga. Revogações com mais de um dia são removidas. A auditoria própria tem retenção de até 90 dias e teto conjunto de 50.000 registros; os mais antigos saem primeiro, sem afetar auditorias de outros serviços.

  • O conector não mantém uma cópia ZIP permanente nem aumenta a cota. Os arquivos ficam na biblioteca e nos mecanismos de histórico já existentes.

  • O processo local tem os privilégios do usuário. Não é um sandbox contra malware ou contra uma IA que já tenha acesso independente ao computador.

Desenvolvimento e compatibilidade

npm test

Dependências fixadas e lockfile: SDK oficial MCP 1.32.1 e fflate 0.8.3. Protocolo testado pelo SDK, sem chamar um modelo pago. Em 06/10/2026, o teste sintético em produção concluiu login, envio local, leitura e edição remota, renovação automática, deduplicação e revogação; o tema ativo e outro rascunho permaneceram idênticos. Um teste do protocolo não substitui a homologação do aplicativo de IA escolhido.

A conexão manual antiga de uma hora continua disponível como opção avançada em src/server.mjs, para usuários existentes; a jornada OAuth é a opção recomendada para novas conexões.

Documentação do produto: conectar IA ao SitePerto. Referências: MCP autorização, Cloudflare MCP.

Available Tools

3 tools
connection_infoConferir conexão SitePertoA
Read-only

Consulta somente o projeto vinculado à chave temporária. Não lê clientes, formulários, pagamentos ou conteúdo de outros projetos.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint. Beyond that, the description adds a genuine data-boundary disclosure: it reads only the key-linked project and explicitly not clients, forms, payments, or other projects' content. That is real behavioral context about access limits. It stops short of explaining the temporary-key auth mechanism or the response shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, zero filler, with the positive scope stated first and the exclusions second. Nothing is repeated from the name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless read tool with no output schema, the description covers scope well but never describes what comes back (connection state, project info) or how errors surface. Since no output schema exists, that return-value context would have been the description's job to carry.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing to document and no schema gap to compensate for. Baseline 4 applies; the description offers no parameter detail because none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific read action and, crucially, its scope: it only consults the project tied to the temporary key. This lets an agent separate it from siblings like inspect_site and send_draft. However, it never says what the tool actually returns (connection status, project metadata), which the name connection_info implies but the text leaves implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implicitly frames when the tool is appropriate by declaring its narrow scope, and the exclusions hint at when NOT to rely on it for other data. But no alternative tool is named and no explicit condition selecting this over inspect_site is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inspect_siteConferir site prontoA
Read-only

Verifica a pasta estática previamente autorizada, arquivos, tamanho e credenciais reconhecidas. Não envia arquivos nem executa comandos.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, and the description is consistent, adding that it only reads a pre-authorized folder and never sends files or executes commands. The phrase "previamente autorizada" usefully implies an authorization prerequisite, though rate limits/return behavior are unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with zero filler: the positive scope comes first, followed by the negative boundary. Nothing is repeated or wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only inspection tool with no output schema, the description covers what is examined and what is not performed. It stops short of describing the shape of the inspection result, which an agent might want, but the safety profile is fully covered by annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. The description correctly implies the input is a pre-authorized static folder rather than anything the agent supplies at call time, which is the only semantically relevant point.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (verifies/inspects) and resource (the previously authorized static folder), enumerating what is checked: files, size, recognized credentials. It implicitly separates itself from send_draft by declaring it neither sends files nor runs commands, though it does not name that sibling directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The exclusion clause ("Não envia arquivos nem executa comandos") hints at the boundary with send_draft, but there is no explicit statement of when to call this versus connection_info or send_draft. Usage is implied rather than directed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_draftEnviar rascunho ao SitePertoA

Envia a pasta estática autorizada como rascunho, respeitando a cota existente. Não publica, substitui ou exclui temas. A publicação é feita no painel pelo usuário.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, but the description adds useful beyond-annotation context: it consumes the existing quota and explicitly does not publish, substitute or delete themes. This clarifies the side-effect profile rather than just restating annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action, then quota/side-effect constraints, then the publishing note. No filler; each sentence carries information the agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-param action with no output schema, the description covers what is sent and what it does not do, but says nothing about the result of a successful or failed send (no confirmation, return, or quota-exhaustion behavior). Adequate but leaves the agent guessing about outcomes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the schema carries no per-parameter meaning to supplement. Baseline for a 0-param tool is 4; nothing in the description is needed to disambiguate arguments.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: it sends the authorized static folder as a draft ('Envia a pasta estática autorizada como rascunho'). The action is clearly distinct from the read-oriented siblings inspect_site and connection_info, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives real context: it respects an existing quota and explicitly does not publish, replace or delete themes, with publishing left to the user in the panel. That sets a clear boundary on when this tool applies versus the manual publishing flow, though it does not route to any MCP alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.2.0
    • First observedconnection_info
    • First observedinspect_site
    • First observedsend_draft

TDQS

A4/5.0

Scored across 3 tools

Disambiguation5/5

inspect_site, connection_info, and send_draft target distinct operations: local inspection, project/key metadata lookup, and draft upload. Their boundaries are explicitly stated, with no overlapping purposes.

Naming Consistency4/5

All names use snake_case and are readable, but the pattern is not fully uniform: inspect_site and send_draft are verb_noun, while connection_info is noun_noun. This minor deviation keeps naming mostly consistent.

Tool Count4/5

Three tools are narrowly scoped to inspecting, checking connection, and sending a draft, so the count is appropriate but minimal. Each tool earns its place, though the set is slightly thin if broader operations are expected.

Completeness4/5

The surface covers the stated draft-upload workflow: inspect, verify project link, and send draft. It intentionally omits publish/update/delete because those are user-panel actions, though no draft status or listing operation is provided.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables a client's own AI to read, edit, and extend their ZAH-built website through MCP, including content, structure, styles, assets, pages, and settings, with versioning, revert, and form/CRM integration, while also giving Zah Editor a real publish flow.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to read and edit WordPress sites over the REST API, including Divi 4, Divi 5, and Gutenberg content, with safety features like round-trip verification, draft-based editing, and dry-run previews.
    45
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables an AI design agent to connect to any WordPress site, inspect its real rendered CSS/JS/theme, and create or update pages through the WordPress REST API and optional companion plugin routes.
    6
    16 npm
    MIT