SEOmatic

Agente de SEO para o seu próprio site: dados reais do Search Console, palavras-chave, backlinks e visibilidade de IA no Claude, ChatGPT ou Cursor, além de correções com aprovação.

Documentação

NEWConfira nossos modelos GRATUITOS →

Um servidor Model Context Protocol hospedado que expõe as ferramentas do SEOmatic para qualquer cliente MCP. Conecte-se interativamente via OAuth 2.1, ou com uma chave de API do workspace como token Bearer. As ferramentas são consolidadas em um pequeno conjunto de ferramentas de resultado, cada uma anotada como somente leitura ou ativa.

Conexão

CampoValor
Endpointhttps://app.seomatic.ai/api/mcp
TransporteStreamable HTTP (stateless, POST JSON-RPC 2.0)
Protocolo2025-06-18 (2024-11-05 through 2026-07-28 accepted; newer versions negotiate down)
Servidorseomatic v1.0.0
AutenticaçãoOAuth 2.1 (interactive clients) or Authorization: Bearer smk_live_...

Instale no seu assistente (cerca de um minuto)

Três passos, iguais em qualquer lugar: abra as configurações de conectores do seu assistente, cole a URL do SEOmatic, faça login e escolha seu site quando a tela do SEOmatic aparecer. Não é necessário copiar chave de API. Após instalar, há um passo que muitos esquecem: em uma NOVA conversa, abra o menu de ferramentas na caixa de mensagem e certifique-se de que o SEOmatic está habilitado para aquela conversa.

AssistenteRequisitosOnde instalar
Claude (web/desktop)Plano Claude pagoConfigurações > Conectores > Adicionar conector personalizado
ChatGPTPlus ou superior, depois ative o Modo desenvolvedor (Configurações > Apps > Avançado). O menu Apps só aparece em planos pagos.Configurações > Conectores > Criar
Claude Code / Cursor / ClineNada extraUm comando ou entrada de configuração (abaixo)

Duas coisas que parecem problemas, mas não são: a tela de consentimento pede para você entrar ou criar uma conta SEOmatic (a gratuita funciona), e o conector é separado de qualquer skill do SEOmatic que você possa ter instalado — a skill precisa do conector para acessar seus dados.

URL: https://app.seomatic.ai/api/mcp
Auth: OAuth (the client discovers it automatically)

Caminho mais rápido: cole isto no seu assistente de IA e deixe-o fazer a configuração (agentes que podem executar comandos ou editar configurações, como Claude Code e Cursor, instalarão por conta própria; assistentes de chat darão os cliques exatos):

Set up the SEOmatic MCP server for me. Instructions:
https://seomatic.ai/developers/mcp
Server URL: https://app.seomatic.ai/api/mcp (Streamable HTTP, OAuth).
If you can edit MCP config or run commands in this client, do the setup
yourself. Otherwise, give me the exact steps for this client.

Por cliente, os passos exatos:

Settings -> Connectors -> Add custom connector
Name: SEOmatic
URL:  https://app.seomatic.ai/api/mcp
Then click Connect and approve in the SEOmatic consent screen.
claude mcp add --transport http seomatic https://app.seomatic.ai/api/mcp
# then inside a session: /mcp -> seomatic -> Authenticate
{
  "mcpServers": {
    "seomatic": { "url": "https://app.seomatic.ai/api/mcp" }
  }
}
{
  "mcpServers": {
    "seomatic": {
      "url": "https://app.seomatic.ai/api/mcp",
      "type": "streamableHttp",
      "headers": { "Authorization": "Bearer smk_live_..." }
    }
  }
}
// Agent-guided setup: point the agent at
// https://github.com/Minh42/seomatic-mcp
Settings -> Apps -> Advanced settings -> enable Developer mode
Then: Settings -> Connectors -> Create
Name: SEOmatic
URL:  https://app.seomatic.ai/api/mcp
Auth: OAuth, then approve in the SEOmatic consent screen.
(On Business/Enterprise an admin must allow custom MCP connectors first.)

A descoberta segue a especificação MCP: o endpoint retorna 401 com um WWW-Authenticate apontando para /.well-known/oauth-protected-resource (RFC 9728), cujos metadados do servidor de autorização estão em /.well-known/oauth-authorization-server (RFC 8414). PKCE (S256) é obrigatório; os tokens são vinculados a este recurso. Registro dinâmico de clientes e documentos de metadados de client-id são ambos suportados.

Conecte-se com uma chave de API (headless)

Para agentes headless e clientes que aceitam um token estático, gere uma chave de API do workspace e envie-a como token Bearer. É assim também que o conector da Claude Messages API autentica, via campo authorization_token.

{
  "mcpServers": {
    "seomatic": {
      "url": "https://app.seomatic.ai/api/mcp",
      "headers": { "Authorization": "Bearer smk_live_..." }
    }
  }
}

Experimente em 30 segundos (curl)

Duas requisições comprovam toda a superfície: liste as ferramentas que sua chave pode chamar e, em seguida, chame uma. Falhas retornam como resultados isError com um motivo em linguagem simples, nunca erros de transporte opacos.

curl -s https://app.seomatic.ai/api/mcp \
  -H "Authorization: Bearer smk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -s https://app.seomatic.ai/api/mcp \
  -H "Authorization: Bearer smk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{
    "name":"keyword_research",
    "arguments":{"action":"metrics","keywords":["seo tools"]}}}'

Toda chamada bem-sucedida retorna o payload duas vezes: content (texto, para qualquer cliente) e structuredContent (um objeto JSON em conformidade com o outputSchema declarado, para clientes que desejam dados tipados).

Métodos

MétodoO que faz
initializeNegocia a versão do protocolo e obtém serverInfo.
tools/listO roteiro de ferramentas filtrado por escopo que esta chave pode chamar.
tools/callInvoca uma ferramenta. Falhas retornam como resultado isError, não como erro de transporte, para que o agente possa reagir.

O que cada chave pode chamar

O roteiro tools/list é filtrado pelos escopos da chave, então um cliente só vê ferramentas que pode realmente chamar.

EscopoFaixaFerramentas que desbloqueia
read:gscGrátisLeituras diretas do Search Console.
chat:askGrátisTodas as ferramentas de insight: GSC, palavras-chave, backlinks, SERP, analytics, anúncios, Business Profile, conjuntos de dados, modelos.
agents:actPagoAs ferramentas ativas: tarefas de SEO, campanhas, edições em massa, criação de blog, skills. Funciona em qualquer plano pago via MCP.

Atuar via MCP funciona em qualquer plano pago; as mesmas ferramentas ativas via REST API exigem Infrastructure.

Referência de ferramentas (13 ferramentas consolidadas)

Via MCP, toda a superfície é agrupada em 13 ferramentas de resultado, cada uma recebendo um action que seleciona a operação. Toda ferramenta carrega anotações MCP, então o cliente sabe de imediato se ela apenas lê (readOnlyHint) ou pode preparar uma alteração. Nada é destrutivo por padrão: ferramentas ativas preparam propostas que um humano aprova no SEOmatic. Esta referência é gerada a partir do catálogo real do servidor, então é exatamente o que tools/list serve. Toda ferramenta já está limitada ao workspace conectado e ao seu site; as poucas ferramentas que aceitam um domain usam seu próprio site por padrão quando omitido, e analisam um concorrente quando você passa um.

gsc_performanceSomente leitura

Lê o desempenho do Google Search Console (cliques, impressões, CTR, posição) por consulta, página, dimensão ou comparação de períodos. Sua própria propriedade conectada.

AçãoO que fazParâmetros
top_queriesprincipais consultas de pesquisadays, limit
top_pagesprincipais páginasdays, limit
dimension_breakdownpor dispositivo/país/datadimension*, days, filterQuery, filterPage, limit
query_page_matrixcanibalização / mapa consulta-para-páginadays, maxRows
compare_periodsqueda/crescimento vs. período anteriordimension, days, limit
trendcliques/impressões diários ao longo do tempodays

Detalhes dos parâmetros

  • days (número) Janela de retrospectiva em dias (padrão ~28). 1-90 para a maioria das ações; 7-90 para tendência.
  • limit (número) Limite de linhas. top_queries/top_pages/dimension_breakdown padrão 50; compare_periods linhas por período padrão 500. Ignorado por query_page_matrix (use maxRows) e trend.
  • dimension (string) OBRIGATÓRIO para dimension_breakdown (device|country|date). Para compare_periods: query|page (padrão page). Ignorado caso contrário. Um de: device, country, date, query, page.
  • filterQuery (string) somente dimension_breakdown: restringir a uma consulta exata.
  • filterPage (string) somente dimension_breakdown: restringir a uma URL de página exata.
  • maxRows (número) somente query_page_matrix: máximo de pares consulta-página (padrão 2000).

gsc_indexingSomente leitura

Verifica o status de indexação do Google e diagnósticos de cobertura para uma URL ou um lote de URLs (estado de cobertura, status de rastreamento, problemas de robots/canonical).

AçãoO que fazParâmetros
inspectuma URL, diagnósticos completosurl*
batch_inspectmuitas URLs, resumo de cada umaurls*

Detalhes dos parâmetros

  • url (string) somente inspect: a URL totalmente qualificada para inspecionar.
  • urls (array) somente batch_inspect: as URLs para inspecionar.

keyword_researchSomente leitura

Pesquisa a demanda por palavras-chave: volume de busca, dificuldade, CPC e intenção, além de ideias de palavras-chave, interesse do Google Trends e consultas relacionadas, e desempenho de palavras-chave do Google Ads. Use para saber o que mirar e quanta demanda existe; para saber quem rankeia hoje, use serp_competitors.

AçãoO que fazParâmetros
metricsvolume/dificuldade/CPC/intençãokeywords*
suggestionsideias de palavras-chave a partir de sementeskeywords*, limit
compare_trendsinteresse do Trends, palavras-chave lado a ladokeywords*
trendinteresse do Trends ao longo do tempo para uma palavra-chavekeyword*
relatedconsultas relacionadas do Trendskeyword*
ads_performancedesempenho de palavras-chave do Google Adsdays, limit

Detalhes dos parâmetros

  • keywords (array) metrics/suggestions/compare_trends: as palavras-chave semente ou alvo.
  • keyword (string) trend/related: a única palavra-chave para analisar.
  • days (número) ads_performance: janela de retrospectiva em dias.
  • limit (número) suggestions/ads_performance: máximo de resultados.

keyword_clustersSomente leitura

O mapa de clusters de palavras-chave em cache do agente, construído a partir do universo de consultas GSC do workspace (clusters pilar, canibalização, lacuna e cobertos).

AçãoO que fazParâmetros
listnenhum

backlink_profileSomente leitura

Lê o perfil de backlinks do seu próprio site ou de qualquer concorrente: domínios de referência, distribuição de texto âncora, velocidade de links e interseções de prospects de links. Use para questões de autoridade e links; para rankings, use serp_competitors.

AçãoO que fazParâmetros
summarytotais, domínios de referência, rank/spamdomain
anchorsdistribuição de texto âncoradomain, limit
velocitydomínios de referência novos vs. perdidos por mêsdomain, months
referring_domainsprincipais domínios que linkamdomain, limit
link_prospectsinterseção de links: linkam para concorrentes, mas não para nóscompetitors*, limit

Detalhes dos parâmetros

  • domain (string) O domínio para analisar, ex.: "example.com". Omita para analisar o site do próprio workspace conectado (o servidor preenche); passe apenas para analisar um concorrente.
  • limit (número) anchors (padrão 25) e referring_domains (padrão 50).
  • months (número) somente velocity: meses anteriores (padrão 6).
  • competitors (array) somente link_prospects: 1-3 domínios concorrentes para interseção.

serp_competitorsSomente leitura

Inspeciona o cenário de busca ao vivo: quais recursos de SERP (AI Overview, snippet, PAA, pacote local, vídeo) aparecem para uma palavra-chave, além de rankings de topo por domínio, distribuição de visibilidade e domínios concorrentes. Use para saber quem rankeia e por quê; para demanda de palavras-chave, use keyword_research.

AçãoO que fazParâmetros
featuresquais recursos de SERP aparecem para uma palavra-chavekeywords*
domain_rankingsprincipais palavras-chave que um domínio rankeiadomain, limit
domain_overviewdistribuição de visibilidade orgânicadomain
domain_competitorsdomínios que rankeiam para palavras-chave semelhantesdomain, limit

Detalhes dos parâmetros

  • keywords (array) somente features: a(s) palavra(s)-chave para inspecionar.
  • domain (string) domain_rankings/domain_overview/domain_competitors: o domínio. Omita para o site do próprio workspace conectado (o servidor preenche); passe apenas para um concorrente.
  • limit (número) máximo de resultados quando aplicável.

traffic_analyticsSomente leitura

Tráfego do Google Analytics (GA4) e desempenho de conta, campanhas e termos de pesquisa do Google Ads.

AçãoO que fazParâmetros
overviewsessões/usuários/pageviews/taxa de rejeição GA4days
sourcessessões GA4 por canaldays
landing_pagesprincipais páginas de entrada GA4days, limit
top_pagespáginas mais vistas GA4days, limit
ads_accounttotais da conta Google Adsdays
ad_campaignsdesempenho de campanhas Google Adsdays, limit
ads_search_termstermos de pesquisa reais que acionaram anúnciosdays, limit

Detalhes dos parâmetros

  • days (número) janela de retrospectiva em dias.
  • limit (número) máximo de linhas quando aplicável.

local_presenceSomente leitura

Lê a presença de busca local do negócio conectado: locais do Business Profile, ranking local para palavras-chave de dinheiro e avaliações. As ações disponíveis dependem do que está conectado para este workspace. Use para questões locais e de pacote de mapas; para rankings nacionais, use serp_competitors.

AçãoO que fazParâmetros
list_locationslocais GBP na contanenhum
visibilityposição orgânica local para palavras-chavekeywords*
reviewsavaliação média + contagem de avaliaçõeslocation*

Detalhes dos parâmetros

  • keywords (array) somente visibility: as palavras-chave de dinheiro para medir.
  • location (string) somente reviews: o id do local do Business Profile.

site_pagesSomente leitura

Analisa páginas: pontuação de SEO on-page e problemas críticos para uma URL, metadados brutos de rastreamento (título, meta, cabeçalhos, links) e o inventário de páginas do site. Use para diagnóstico no nível de página; para desempenho de busca dessas páginas, use gsc_performance.

AçãoO que fazParâmetros
analyzePontuação de SEO + problemas críticosurl*
crawltítulo/meta/cabeçalhos/linksurl*
inventoryas páginas reais sincronizadas do usuáriolimit

Detalhes dos parâmetros

  • url (string) analyze/crawl: a URL a ser inspecionada.
  • limit (inteiro) somente inventory: número máximo de páginas a retornar.

dataset_librarySomente leitura

A biblioteca de datasets e os modelos de página que alimentam páginas programáticas: listar datasets, amostrar linhas, listar modelos e ler um modelo.

AçãoO que fazParâmetros
list_datasetsdatasets disponíveisnenhum
dataset_rowslinhas de amostra de um datasetdatasetId*, limit
list_templatesmodelos de página integradosnenhum
get_templateum modelo completotemplateId*

Detalhes dos parâmetros

  • datasetId (string) somente dataset_rows: o dataset a ser amostrado.
  • templateId (string) somente get_template: o modelo a ser lido.
  • limit (inteiro) somente dataset_rows: quantas linhas amostrar.

strategy_insightsSomente leitura

O diagnóstico em cache do agente para este workspace: um resumo compacto, a estratégia atual, um sinal bruto completo e pontuações de conteúdo para busca com IA.

AçãoO que fazParâmetros
snapshotresumo compacto dos sinais em cachenenhum
strategytemas + grandes jogadas ranqueadasnenhum
signalum sinal em cache completosignal*
content_scorespontuações de busca com IA para artigos geradosnenhum

Detalhes dos parâmetros

  • signal (string) somente signal: qual sinal em cache ler (ex.: index_coverage, backlink_profile).

task_managePode encenar mudanças

Leia o quadro de planejamento do agente e encene novas propostas de tarefas de SEO. Propostas NUNCA executam: cada uma é um cartão com aprovação necessária que o usuário revisa.

AçãoO que fazParâmetros
listo quadro de planejamento (filtrável)status, type
getuma tarefa em detalhe completotaskId*
create encenaencenar até 5 propostas de tarefastasks*
decide encenaaprovar ou dispensar uma proposta encenada (o ciclo de aprovação)taskId*, decision*

Detalhes dos parâmetros

  • status (string) somente list: filtrar por status da tarefa (proposed, approved,...).
  • type (string) somente list: filtrar por tipo de tarefa.
  • taskId (string) get/decide: a tarefa a ler ou decidir.
  • decision (string) somente decide: aprovar libera a tarefa para o pipeline com aprovação; dispensar arquiva. Tipos destrutivos de indexação são recusados pela API. Um de: approve, dismiss.
  • tasks (array) somente create: até 5 objetos de tarefa para encenar como propostas (veja a documentação do SEOmatic para a estrutura da tarefa).

campaign_managePode encenar mudanças

Leia campanhas e encene campanhas em escala de página, varredura de conteúdo ou edição em massa, além de artigos de blog. Toda encenação é baseada em propostas e exige aprovação; nada é publicado sem o usuário.

AçãoO que fazParâmetros
listcampanhas com status + contagem de tarefasstatus
manage encenapausar/retomar/abandonar/atualizar uma campanhacampaignId*, manageAction*, confirm, brief
propose_page_scale encenapáginas de destino programáticas em escalatitle*, kind*, brief*, rowSourceKind*, rowPrompt, rows, libraryDatasetId, rowTarget, allowGenText, publishAsDraft, pageTemplate
propose_content_sweep encenaN artigos de blog distintos como uma campanhatitle*, topics*, brief
propose_bulk_edit encenauma instrução em muitas páginastaskType*, instruction, title, selectorKind, urls, pathPrefix, segments, maxPages
write_articles encenaencenação direta de N artigostopics*, autoPublish
save_article encenasalvar um rascunho completo de artigo (passar título/conteúdo/slug) para publicação com um cliquetitle*, content*, slug*, excerpt*, metaTitle, metaDescription, featuredImagePrompt*

Detalhes dos parâmetros

  • status (string) somente list: filtrar campanhas por status. Um de: proposed, approved, active, paused, done, abandoned.
  • campaignId (string) somente manage: a campanha na qual agir.
  • manageAction (string) somente manage: o que fazer com a campanha. Um de: pause, resume, abandon, update_brief.
  • confirm (booleano) somente manage + abandon: deve ser true para confirmar a ação irreversível.
  • brief (string) manage+update_brief: brief substituto. Também propose_page_scale (brief de modelo) e propose_content_sweep (direção compartilhada).
  • title (string) propose_page_scale (obrigatório), propose_content_sweep (obrigatório), propose_bulk_edit (opcional).
  • kind (string) somente propose_page_scale (obrigatório): tipo de página, ex.: "location pages".
  • rowSourceKind (string) somente propose_page_scale (obrigatório): de onde vêm as linhas da página. Um de: ai, user, library, gbp_locations.
  • rowPrompt (string) propose_page_scale, rowSourceKind=ai: dataset a gerar.
  • rows (array) propose_page_scale, rowSourceKind=user: um objeto por página.
  • libraryDatasetId (string) propose_page_scale, rowSourceKind=library: id do dataset a anexar.
  • rowTarget (inteiro) somente propose_page_scale: número alvo de linhas/páginas.
  • allowGenText (booleano) somente propose_page_scale: permitir texto de IA por linha (custa créditos).
  • publishAsDraft (booleano) somente propose_page_scale: publicar páginas como rascunhos.
  • pageTemplate (string) somente propose_page_scale: id do modelo integrado.
  • topics (array) propose_content_sweep (obrigatório, até 50) e write_articles (obrigatório, 2-50). Um artigo distinto por tópico.
  • taskType (string) somente propose_bulk_edit (obrigatório): o tipo de varredura, ex.: ctr_fix, schema, content_refresh.
  • instruction (string) somente propose_bulk_edit: brief compartilhado por página.
  • selectorKind (string) somente propose_bulk_edit: como selecionar páginas. Um de: urls, path_prefix, all_pages.
  • urls (array) propose_bulk_edit, selectorKind=urls: as páginas.
  • pathPrefix (string) propose_bulk_edit, selectorKind=path_prefix: o prefixo.
  • segments (array) propose_bulk_edit: seletores avançados de modelo misto (substitui selectorKind/instruction).
  • maxPages (inteiro) somente propose_bulk_edit: limitar o tamanho da varredura.
  • autoPublish (booleano) somente write_articles: padrão false (encenar como rascunhos).
  • content (string) somente save_article (obrigatório): corpo completo em Markdown.
  • slug (string) somente save_article (obrigatório): o slug da URL.
  • excerpt (string) somente save_article (obrigatório): o resumo.
  • metaTitle (string) somente save_article: meta title.
  • metaDescription (string) somente save_article: meta description.
  • featuredImagePrompt (string) somente save_article (obrigatório): prompt de imagem.

* = obrigatório para essa ação. A lista completa de ferramentas detalhadas por trás destas, com cada esquema de entrada, está na referência REST.

Limites do plano gratuito

As chamadas de ferramentas de um workspace gratuito consomem a mesma cota mensal de perguntas do ChatSEO, compartilhada entre chat, MCP, a ponte de ferramentas REST e a CLI, então há um único medidor em todos os lugares. initialize e tools/list são sempre gratuitos; apenas tools/call consome uma pergunta. Sua primeira conexão credita 10 perguntas bônus além da cota mensal, suficientes para uma primeira auditoria completa. Quando a cota é esgotada, a chamada retorna um resultado isError com um link de upgrade em um clique, além de um link de indicação que credita perguntas gratuitas extras para ambos os lados. Workspaces pagos não são medidos por perguntas.

Independente do plano, cada chave tem limite de 60 chamadas de ferramentas por minuto e 1.000 por hora, suficiente para qualquer sessão real e uma proteção contra loops descontrolados. Para revogar o acesso: remova o conector no seu assistente, ou revogue a chave ou a concessão OAuth nas Configurações do SEOmatic. Qualquer uma das opções encerra a conexão imediatamente.

Solução de problemas

  • O modelo pede seu domínio. Ele nunca precisa: toda ferramenta é limitada ao workspace conectado. Diga a ele para chamar a ferramenta diretamente. Ferramentas que aceitam um domain usam seu próprio site como padrão quando omitido.
  • Nenhuma ferramenta de ação em tools/list. Esperado em um workspace gratuito ou uma chave sem agents:act: a lista só mostra o que a chave pode chamar. Ferramentas de ação aparecem em qualquer plano pago.
  • Ferramentas de ação ausentes em um plano pago. O agente de SEO pode estar desativado para o workspace, ou a conexão que uma ação precisa (por exemplo, seu CMS) não está configurada. Verifique as Configurações no SEOmatic e reconecte.
  • Workspace errado conectado. A concessão OAuth é limitada ao único workspace que você escolheu no consentimento. Remova o conector e reconecte, escolhendo o workspace correto.
  • Quer uma auditoria guiada? Instale a habilidade gratuita seomatic-seo-audit junto com o conector: ela conduz seu assistente por uma auditoria completa e metódica do seu site, em vez de perguntas avulsas.
  • Falhas de ferramentas. Falhas retornam como resultados isError com um motivo em linguagem simples que o modelo pode usar, nunca como erros opacos de transporte.

digi-business-uk

Cada página de área local costumava levar meio dia para criar e otimizar.

Com o SEOmatic, podemos criar centenas de páginas no mesmo tempo, o que ajuda nossos clientes a aproveitar melhor o orçamento.

Isso transformou como entregamos soluções de SEO escaláveis.

Will Hawkins

Diretor de Marketing, Digi-Business UK

Dê ao Seu Site uma Equipe de SEO

Agentes leem seus dados do Search Console, fazem o trabalho e comprovam o que realmente gerou resultado. Você decide o que é publicado.

Teste Gratuito de 14 Dias. Verificação de cartão de $1, reembolsada. Cancele Quando Quiser.