Organiq

Documentação do conector

Versão 0.3.0. Servidor MCP (Streamable HTTP, só POST) em https://organiqgeo.com/mcp. Todas as ferramentas são somente leitura (readOnlyHint: true).

Autenticação

Unidades e períodos

clicks/impressions inteiros; ctr é fração 0–1 (0.052 = 5,2 %); position é média ponderada por impressões (menor é melhor); datas yyyy-mm-dd. Período padrão: 28 dias terminando na última data sincronizada (o Search Console atrasa ~3 dias). Comparação padrão: janela anterior do mesmo tamanho. Toda resposta devolve site, period, comparison, filters e units.

Ferramentas (18)

NomeO que faz / quando usarParâmetros
get_capabilities
pública
What Organiq provides
Returns a factual overview of this connector: what data it holds (Google Search Console synced daily into Organiq, plus GA4 referral sessions from AI assistants), the list of tools with when to use each, units, default periods, how to connect an account (OAuth or API key), rate limits and example questions. Works without signing in. Use it first when you do not know what this server can answer. / Visão geral factual do conector, sem login: dados, ferramentas, unidades, como conectar, limites.language
get_ctr_benchmark
pública
Generic CTR-by-position benchmark
Returns the generic organic click-through-rate curve by Google position (1–20, fraction 0–1) used by score_opportunities and find_page_poaching_opportunities as the fallback when a property lacks its own volume, optionally interpolated for a fractional position. No account needed; no property data involved. Use it to estimate expected clicks for a position or to explain a CTR gap. / Curva genérica de CTR por posição, sem login.position, impressions
check_connection
pública
Connection status
Reports whether this request is authenticated and, if so, which Organiq account it uses (name, plan, how it authenticated), how many Search Console properties are available with their data coverage, and what is missing (no account, no properties, no GA4) with the URL that resolves each gap. Without credentials it explains how to connect. Use it when a tool returned unauthorized/site_not_found or before a first analysis. / Diz se há conta, propriedades, plano e o que falta, com a URL para resolver.—
list_sites
Properties in the account
Lists the Search Console properties synced for the signed-in account: id, siteUrl (Search Console format), displayName, tags, branded_terms (used by the brand filter), whether GA4/Bing are mapped and the data coverage (dataFrom/dataTo, web search). Use it first when you do not know the exact name of a site or need the date range available. Default: visible properties only. / Propriedades da conta com cobertura de dados.includeHidden
get_site_summary
Property summary
Totals of clicks, impressions, CTR and average position for one property over the period, with the comparison period and the change (absolute, Pct as fraction, ctrPoints in percentage points, position difference where negative means improvement). Accepts all filters (country, device, brand, page, query). Start here for "how is site X doing". / Resumo da propriedade com comparação.site, days, startDate, endDate, compare, searchType, country, device, brand, pageContains, query
query_top_queries
Top queries
Search queries of one property over the period, aggregated and sorted. Use for "what people search to find us", growth/decline lists and ranking changes. Each row has clicks, impressions, ctr, position for the period and, with a comparison, prevClicks/prevImpressions/prevCtr/prevPosition plus clicksChange/clicksChangePct/positionChange (keys present in only one period show zeros in the other). sort: clicks (default), impressions, ctr, position (lowest first), growth (largest click gain vs comparison first) or decline (largest loss first). For ctr/position use minImpressions >= 20 to avoid noise. / Queries da propriedade, agregadas e ordenadas.site, days, startDate, endDate, compare, searchType, country, device, brand, pageContains, query, limit, sort, minImpressions
query_top_pages
Top pages
Pages (URLs) of one property over the period, aggregated and sorted. Use for best/worst pages and pages that gained or lost clicks. Each row has clicks, impressions, ctr, position for the period and, with a comparison, prevClicks/prevImpressions/prevCtr/prevPosition plus clicksChange/clicksChangePct/positionChange (keys present in only one period show zeros in the other). sort: clicks (default), impressions, ctr, position (lowest first), growth (largest click gain vs comparison first) or decline (largest loss first). For ctr/position use minImpressions >= 20 to avoid noise. / Páginas da propriedade, agregadas e ordenadas.site, days, startDate, endDate, compare, searchType, country, device, brand, pageContains, query, limit, sort, minImpressions
query_countries
By country
Countries (ISO-3166-1 alpha-3, lowercase, e.g. bra) of one property over the period. Each row has clicks, impressions, ctr, position for the period and, with a comparison, prevClicks/prevImpressions/prevCtr/prevPosition plus clicksChange/clicksChangePct/positionChange (keys present in only one period show zeros in the other). sort: clicks (default), impressions, ctr, position (lowest first), growth (largest click gain vs comparison first) or decline (largest loss first). For ctr/position use minImpressions >= 20 to avoid noise. / Por país.site, days, startDate, endDate, compare, searchType, country, device, brand, pageContains, query, limit, sort, minImpressions
query_devices
By device
Devices (MOBILE, DESKTOP, TABLET) of one property over the period. Each row has clicks, impressions, ctr, position for the period and, with a comparison, prevClicks/prevImpressions/prevCtr/prevPosition plus clicksChange/clicksChangePct/positionChange (keys present in only one period show zeros in the other). sort: clicks (default), impressions, ctr, position (lowest first), growth (largest click gain vs comparison first) or decline (largest loss first). For ctr/position use minImpressions >= 20 to avoid noise. / Por dispositivo.site, days, startDate, endDate, compare, searchType, country, device, brand, pageContains, query, limit, sort, minImpressions
get_timeseries
Time series
Clicks, impressions, CTR and position per day, week (Monday as key) or month (yyyy-mm) over the period, with filters. Use for trend, seasonality and to locate the date of a drop. Days without data are omitted. / Série temporal por dia, semana ou mês.site, days, startDate, endDate, searchType, country, device, brand, pageContains, query, granularity
get_breakdown
Brand split and position bands
Splits the period's traffic into branded/nonBranded (by the property's branded_terms) and into position bands (1-3, 4-10, 11-20, 21+) with impressions and clicks per band, plus queryCount. Position of each query = impression-weighted average over the period. Use for "how much of our traffic is brand" and "how much sits on page 2". / Marca × sem marca e faixas de posição.site, days, startDate, endDate, searchType, country, device, brand, pageContains, query
get_annotations
Annotations
Events annotated in the period for the property and globally: deploys, content changes, manual notes and Google algorithm updates (category "algo_update"). Use to correlate drops or gains with causes. Default: last 90 days. / Anotações e algo updates do período.site, days, startDate, endDate
get_ai_traffic
Traffic from AI assistants (GA4)
Referral sessions from AI assistants (chatgpt.com, perplexity.ai, gemini, copilot, claude…) according to GA4 (dimension ai_source): per source (sessions, activeUsers, engagedSessions, keyEvents) for the period and the comparison, totals and daily series. site also accepts "all" for the whole account. hasGa4=false means the property has no GA4 mapped. Limitation: Search Console does not separate clicks from AI Overviews / AI Mode; only referral traffic is measurable. / Sessões vindas de IAs segundo o GA4.site, days, startDate, endDate, compare
get_ctr_curve
Own CTR curve vs benchmark
The property's real CTR by position (bucket = round(position), 1–20, impression-weighted) compared with the generic benchmark (31.7% at position 1 … 18.6% at 3 … 2.0% at 10). deltaPoints in percentage points (negative = below expected: likely title/meta problem); reliable = bucket with enough impressions. Use to find where titles underperform. / Curva de CTR própria × benchmark.site, days, startDate, endDate, searchType, country, device, brand, pageContains, query, minImpressions
find_decaying_content
Decaying content
Pages (or queries) that lost clicks between a BASELINE and the RECENT period. Recent = days/startDate/endDate; baseline = compare (previous = window before, year = one year earlier) or explicit comparisonStartDate/comparisonEndDate (for slow decay compare with 6–12 months ago). Classifies the drop: severe > 50%, moderate 20–50%, mild < 20%; sorted by absolute clicks lost; pattern hints the diagnosis (position_slipped, impressions_collapsed, ctr_dropped, disappeared, mixed). Use for "which pages are dying" and refresh candidates. / Conteúdo em decaimento.site, days, startDate, endDate, compare, searchType, country, device, brand, pageContains, query, comparisonStartDate, comparisonEndDate, dimension, minBaselineClicks, limit
analyze_cannibalization
Query cannibalization
Queries where 2+ pages of the property compete for the same search in the period. Per cluster: totals, Shannon entropy of impressions across pages (bits; higher = more even split = worse; level high >= 1.5, medium >= 1.0), normalized (0–1), winner (most clicks; tie: best position) and the contenders with clicks/impressions/ctr/position/impressionShare. Sorted by entropy and impressions. Protocol/host/hash variants of one URL are canonical hygiene, not cannibalization; brand + home + deep page is usually sitelinks. Use when asked which page should rank for a keyword. / Canibalização de queries.site, days, startDate, endDate, searchType, country, device, brand, pageContains, query, minImpressions, minPages, limit
score_opportunities
Opportunity score (CTR gap)
Queries between minPosition and maxPosition whose CTR is below the expected CTR for their position. expectedCtr comes from the property's own curve (ctrSource "own", when the bucket has volume) or from the benchmark; ctrGap = expected − ctr (fraction); lostClicks = impressions × gap; score 0–100 log-normalized by the largest lostClicks (level high >= 80, medium >= 60). Use for title/meta-description quick wins. / Oportunidades por CTR abaixo do esperado.site, days, startDate, endDate, searchType, country, device, brand, pageContains, query, minImpressions, minPosition, maxPosition, limit
find_page_poaching_opportunities
Striking distance (page poaching)
Queries just outside the top (default positions 4–20) with the estimated click gain if they reached the CTR of the target position (default 3 → 18.6% benchmark, or the property's own CTR at that position when it has volume: see ctrSource). estimatedGain = max(0, round(impressions × (targetCtr − ctr))). Sorted by impressions (default) or by gain. Use for "what is close to page one / top 3". / Queries perto do topo com ganho estimado.site, days, startDate, endDate, searchType, country, device, brand, pageContains, query, minPosition, maxPosition, targetPosition, minImpressions, sort, limit

Erros

Sempre JSON: { "error": { "code", "message", "nextStep", "docsUrl" } }. Códigos: unauthorized (401 no HTTP quando falta ou é inválida a credencial), insufficient_scope (403), site_not_found, no_data, invalid_argument, plan_limit (402: o plano da conta não cobre o pedido, por exemplo histórico além da janela do plano; docsUrl aponta para a página de planos), rate_limited (com retryAfterSeconds), internal.

Limites

Por conta: 60 chamadas por minuto e 1000 por hora; o erro rate_limited diz qual janela estourou e quantos segundos esperar. Por IP: 120 requisições/min em /mcp, 60/min em /oauth/*. Respostas limitadas por limit (padrão 25–50, máximo 500–1.000).

Skills

Roteiros que citam as ferramentas pelo nome, publicados em /.well-known/agent-skills/index.json e no plugin organiq para Claude Code:

Dados e privacidade

O servidor lê somente as propriedades da conta autenticada. Não recebe o conteúdo da conversa: só os argumentos da ferramenta (propriedade, datas, filtros). Cada chamada é registrada (nome da ferramenta, duração, conta) para operação e limites. Política de privacidade · Termos · suporte: youssefpmat@gmail.com.