Skip to content

Organiq

com.organiqgeo/organiqorganiqgeo.comstreamable-httpv0.3.0Scanned

Read-only Search Console and GA4 analysis: queries, decay, cannibalization, quick wins, AI traffic.

44 tools: 10 change things and 34 only read.

Tools: 0 delete, 0 irreversible, 10 write, 34 read.
  • Reads private data · 2
  • Reads text others write · 8
  • Can send data out · 0
  • 3 findings

Tools listed without sign-in. Remote posture

Anlyon alternative

10 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

44 tools

Changes things 10Claude Code: ask
  • breakdown_by_pathGroups the property's pages by host (subdomain) and by the first `depth` path segments (1–4), e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Groups the property's pages by host (subdomain) and by the first `depth` path segments (1–4), e.g. "example.com/blog/*": pages per group, clicks, impressions, ctr, position, clickShare, comparison (prevClicks, clicksChange, clicksChangePct, positionChange) and the top 3 pages of each group. Sorted by clicks. Use for "which section drives traffic", "is the blog growing", "how is the /pt/ folder doing" and to compare subdomains. / Tráfego por subdomínio e pasta (profundidade 1–4).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • check_connectionReports 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 th…1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...he steps that resolve each gap. Without credentials it explains how to connect. Use it when..."

      What this check looks for
    Description, as the server wrote it
    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, and per property GA4, Bing and branded terms) with the panel URL and the steps that resolve 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • detect_anomaliesFlags days in the period whose clicks (or impressions, ctr, position) deviate from what the same weekday did in the previous baselineWeeks weeks (default 8): expected = median of t…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Flags days in the period whose clicks (or impressions, ctr, position) deviate from what the same weekday did in the previous baselineWeeks weeks (default 8): expected = median of those weekdays, scale = scaled MAD, zScore = (value − expected) / scale; anomaly when |z| >= threshold (sensitivity low 4, medium 3, high 2.5). Robust to outliers in the baseline and to the weekly cycle (weekends are compared with weekends). Each anomaly has direction (drop/spike; for position, drop = visibility loss), severity, deviationPct and the baseline size. Use for "did anything unusual happen", to date a drop before looking at causes (get_annotations), or to check a release day. / Dias anômalos comparados com o mesmo dia da semana nas semanas anteriores.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • forecast_trafficProjects the property's clicks (or impressions) for the next `horizon` weeks (default 12) or months (default 6) from the history in the period (default 364 days): aggregates the da…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Projects the property's clicks (or impressions) for the next `horizon` weeks (default 12) or months (default 6) from the history in the period (default 364 days): aggregates the daily series, estimates a multiplicative seasonal index when >= 2 full cycles exist (otherwise 1.0, stated in seasonality), fits linear / logarithmic / exponential / power / polynomial trendlines and keeps the best adjusted R² (model=auto) or the one requested; forecast points carry baseline, low/high (±1.96 × residual sd, widening with the horizon), seasonalIndex and, with growthRate, a growth scenario (baseline × (1 + growthRate)); cvr + aov add revenue (= visits × cvr × aov). Returns an error when fewer than 8 full weeks / 6 full months exist. Use for "what should we expect next quarter", target setting and scenario planning; treat it as a trend extrapolation, not a promise. / Previsão semanal ou mensal com sazonalidade, trendline auto-selecionada, faixa e cenário de crescimento.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • generate_seo_reportOne compact report for a property over the period (default 28 days, 7–180) with the comparison period: headline KPIs with change and year-over-year, top movers (queries and pages u…1 finding

    Why it is in this group

    • The name "generate_seo_report" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_seo_report" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "generate_seo_report" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    One compact report for a property over the period (default 28 days, 7–180) with the comparison period: headline KPIs with change and year-over-year, top movers (queries and pages up/down), daily anomalies and sustained level shifts, Google updates and annotations, decaying pages, cannibalized queries, CTR quick wins, brand share, Core Web Vitals, indexing health, AI search (GA4 sessions from assistants, impressions in AI Overviews / AI Mode, AI-style query share), Bing, and up to three data-derived next actions. Parts without data (no GA4, no CrUX, no imports) or outside the plan are listed in skipped instead of failing. format=markdown (default) or json (the structured parts). Use for monthly client reports or a full status check in one call. / Relatório SEO completo em markdown (ou JSON) numa chamada.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_timeseriesClicks, impressions, CTR and position per day, week (Monday as key) or month (yyyy-mm) over the period, with filters.1 finding

    Why it is in this group

    • The name "get_timeseries" says "get": a word for reading.
    • The description's first verb is "click": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "get_timeseries" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_timeseries" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • set_bing_keyStores the Bing Webmaster Tools API key of the Organiq account (one key per account; it serves every property with a Bing site set by set_bing_site).No findings

    Why it is in this group

    • The name "set_bing_key" says "set": a word for a change.
    Description, as the server wrote it
    Stores the Bing Webmaster Tools API key of the Organiq account (one key per account; it serves every property with a Bing site set by set_bing_site). The key is generated by the user in Bing Webmaster Tools under Settings → API access ("Configurações → Acesso à API") and pasted in the chat; it is stored encrypted, never returned by any tool and not logged. Format: 16–128 letters, digits, "-" or "_". Only an owner or admin of the account can store it (insufficient_scope otherwise). Returns { set, setAt }. Needs the write scope (mcp:write). Use it after set_bing_site, or when get_bing_performance / check_connection report the key missing. Guide: https://organiqgeo.com/connect/bing. / Grava, cifrada, a chave da API do Bing gerada pelo humano no portal do Bing e colada no chat.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • set_bing_siteSets the site URL registered in Bing Webmaster Tools for one Search Console property in Organiq (same rule as the panel): https, no query/fragment, and on the property's own domain…No findings

    Why it is in this group

    • The name "set_bing_site" says "set": a word for a change.
    Description, as the server wrote it
    Sets the site URL registered in Bing Webmaster Tools for one Search Console property in Organiq (same rule as the panel): https, no query/fragment, and on the property's own domain (an sc-domain property accepts the domain and its subdomains; a URL-prefix property requires the same host under its path); null clears it. Returns the property settings and whether the account's Bing API key is set (set_bing_key). When the value changes, the Bing data already synced is deleted and the next daily sync rebuilds it; get_bing_performance answers after a sync with both the site and the key in place. Needs the write scope (mcp:write). Use it when check_connection lists no_bing or the user asks to connect Bing. Guide: https://organiqgeo.com/connect/bing. / Grava a URL do site no Bing Webmaster Tools para a propriedade; precisa também da chave da conta (set_bing_key).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • set_branded_termsReplaces the branded terms of one Search Console property in Organiq (the list used by the brand filter, get_breakdown, get_branded_performance and the branded shape of analyze_que…No findings

    Why it is in this group

    • The name "set_branded_terms" says "set": a word for a change.
    Description, as the server wrote it
    Replaces the branded terms of one Search Console property in Organiq (the list used by the brand filter, get_breakdown, get_branded_performance and the branded shape of analyze_query_shapes): brand and product names as people type them, up to 20 terms of 2–40 characters, lower-cased and de-duplicated; a query counts as branded when it contains one of them. The whole list is replaced (send the full list; [] clears). Takes effect immediately on the next read (no sync needed). Needs the write scope (mcp:write). Use it when check_connection lists no_branded_terms or brand=branded was rejected. / Substitui os termos de marca da propriedade (até 20); vale na hora.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • set_ga4_propertyLinks a Google Analytics 4 property to one Search Console property in Organiq (the same setting as the panel's "Integrações" block): ga4PropertyId is the numeric id from list_ga4_p…No findings

    Why it is in this group

    • The name "set_ga4_property" says "set": a word for a change.
    Description, as the server wrote it
    Links a Google Analytics 4 property to one Search Console property in Organiq (the same setting as the panel's "Integrações" block): ga4PropertyId is the numeric id from list_ga4_properties ("123456789" or "properties/123456789"); null unlinks. Returns the property settings. When the value changes, the GA4 data already synced from the previous property is deleted and the next daily sync rebuilds the history from the new one (Search Console data is untouched); get_ai_traffic answers after that sync. Needs the write scope (mcp:write). Use it when check_connection lists no_ga4 or the user asks to connect GA4. Guide: https://organiqgeo.com/connect/ga4. / Liga a propriedade GA4 à propriedade do Search Console; trocar apaga o GA4 já sincronizado e o sync refaz.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 34Show 34 read-only tools
  • analyze_cannibalizationQueries where 2+ pages of the property compete for the same search in the period.No findings

    Why it is in this group

    • The name "analyze_cannibalization" says "analyze": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • analyze_query_shapesClassifies the period's queries into shapes and aggregates each: branded, question, comparison, transactional, local, longtail (5+ words), head (<= 2 words), other, with queries, c…No findings

    Why it is in this group

    • The name "analyze_query_shapes" says "analyze": a word for reading.
    Description, as the server wrote it
    Classifies the period's queries into shapes and aggregates each: branded, question, comparison, transactional, local, longtail (5+ words), head (<= 2 words), other, with queries, clicks, impressions, ctr, position, shares, comparison (clicksChangePct, impressionSharePoints) and top example queries per shape. Also reports the "AI-style" split used by the Organiq dashboard (conversational marker or >= 5 words: the kind of query AI Overviews / AI Mode answer) — a proxy, since Search Console does not expose AI-feature data in the API. Shapes: branded = contains one of the property's branded terms; question = interrogative (how, what, why, como, o que, qual…); comparison = compares options (vs, best, melhor, diferença entre…); transactional = buying intent (price, buy, comprar, preço, promoção…); local = local intent (near me, perto de mim, address…); longtail = 5+ words without another marker; head = 2 words or fewer; other = 3–4 words without a marker. Use for intent mix, "how much of our demand is questions", GEO (generative engine) planning. / Formatos de query (perguntas, comparação, transacional, marca, longas "estilo IA") com shares e exemplos.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • analyze_sampling_impactHow much of the property's traffic Search Console hides from the query/page rows because of anonymization: exact totals per day (no dimensions) minus the sum of the query × page ro…Reads private dataNo findings

    Why it is in this group

    • The name "analyze_sampling_impact" says "analyze": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "table": it reads databases.
    Description, as the server wrote it
    How much of the property's traffic Search Console hides from the query/page rows because of anonymization: exact totals per day (no dimensions) minus the sum of the query × page rows = hidden clicks/impressions, with hiddenShare (fraction), level (ok < 5 %, warn 5–15 %, high > 15 %), the worst day and an optional daily table. Only searchType applies (dimension filters do not make sense here). Use to explain why top-queries totals do not add up to the summary, and before trusting query-level shares on small sites. / Cliques escondidos pela anonimização do Search Console.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • detect_change_pointsFinds the dates where the property's clicks (or impressions) moved to a new sustained level — a step up or down that holds for several weeks, as after a Google update, a migration …No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    Finds the dates where the property's clicks (or impressions) moved to a new sustained level — a step up or down that holds for several weeks, as after a Google update, a migration or a content launch — using a robust CUSUM on the weekly (default) or daily series. Each point has date, direction, before/after averages (4 observations each), change, changePct and how many following observations stayed on the new level. Isolated spikes are not change points (see detect_anomalies). Default period 52 weeks. Use to date a lasting drop or gain and then correlate with get_annotations. / Degraus sustentados na série (semanal ou diária), com antes × depois.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_decaying_contentPages (or queries) that lost clicks between a BASELINE and the RECENT period.No findings

    Why it is in this group

    • The name "find_decaying_content" says "find": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_page_poaching_opportunitiesQueries 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 o…No findings

    Why it is in this group

    • The name "find_page_poaching_opportunities" says "find": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_ai_trafficReferral sessions from AI assistants (chatgpt.com, perplexity.ai, gemini, copilot, claude…) according to GA4 (dimension ai_source): per source (sessions, activeUsers, engagedSessio…No findings

    Why it is in this group

    • The name "get_ai_traffic" says "get": a word for reading.
    Description, as the server wrote it
    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. A property without GA4 returns the error no_data with the panel URL where GA4 is connected (site="all" returns hasGa4=false and a setup note instead). 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_annotationsEvents annotated in the period for the property and globally: deploys, content changes, manual notes and Google algorithm updates (category "algo_update").Reads private dataNo findings

    Why it is in this group

    • The name "get_annotations" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "note": it reads notes.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_bing_performanceOrganic performance on Bing (Bing Webmaster Tools, weekly data) for the property: view=traffic gives weekly clicks/impressions with totals and change vs the previous same-length wi…No findings

    Why it is in this group

    • The name "get_bing_performance" says "get": a word for reading.
    Description, as the server wrote it
    Organic performance on Bing (Bing Webmaster Tools, weekly data) for the property: view=traffic gives weekly clicks/impressions with totals and change vs the previous same-length window; view=queries or view=pages gives the top keys with clicks, impressions, impression-weighted position, previous-period values and growth/decline sorting. Period is in whole weeks ending on the last synced Bing week (default 12 weeks). A property without Bing returns no_data with the panel URL where Bing is connected; hasBing in list_sites tells which properties have it. Use for "how do we do on Bing", Bing vs Google query overlap, Copilot-era visibility. / Bing: tráfego semanal, queries e páginas com comparação.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_branded_performanceDaily series of branded and non-branded traffic (clicks, impressions, ctr, position per group, plus brandedClickShare) with totals for the period and the comparison, using the prop…No findings

    Why it is in this group

    • The name "get_branded_performance" says "get": a word for reading.
    Description, as the server wrote it
    Daily series of branded and non-branded traffic (clicks, impressions, ctr, position per group, plus brandedClickShare) with totals for the period and the comparison, using the property's branded_terms. brandedTermsConfigured=0 means no terms are set and everything counts as non-branded (set them in the "Integrações" block of the property in the Organiq panel; the response carries the URL). Use to separate brand demand from SEO work, to check whether a drop was brand or non-brand, and to track brand share over time. / Marca × sem marca por dia, com totais e comparação.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_breakdownSplits 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 que…No findings

    Why it is in this group

    • The name "get_breakdown" says "get": a word for reading.
    Description, as the server wrote it
    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. Without branded terms on the property everything counts as nonBranded and the response says where to set them. Use for "how much of our traffic is brand" and "how much sits on page 2". / Marca × sem marca e faixas de posição.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_capabilitiesReturns 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…No findings

    Why it is in this group

    • The name "get_capabilities" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_core_web_vitalsField Core Web Vitals of the property's origin (or a URL) from the Chrome UX Report history, weekly, per form factor (PHONE, DESKTOP): latest p75 of LCP, INP, CLS, FCP, TTFB with r…Reads text others writeNo findings

    Why it is in this group

    • The name "get_core_web_vitals" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe name "get_core_web_vitals" says "get" and "web": it reads web pages, which anyone can write.
    • untrusted-inputThe description's first sentence says "web": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Field Core Web Vitals of the property's origin (or a URL) from the Chrome UX Report history, weekly, per form factor (PHONE, DESKTOP): latest p75 of LCP, INP, CLS, FCP, TTFB with rating (good / needs_improvement / poor by Google's thresholds), share of good experiences, trend vs 4 weeks earlier, passesCoreWebVitals, alerts when a metric changed rating or worsened >= 20 %, and up to 26 weeks of history. CrUX only exists for origins with enough Chrome traffic; the response lists what is available. Use for "is the site fast enough for Google", regressions after a release, mobile vs desktop. / Core Web Vitals reais (CrUX) por semana e dispositivo, com tendência e alertas.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_ctr_benchmarkReturns 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…No findings

    Why it is in this group

    • The name "get_ctr_benchmark" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_ctr_curveThe 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).No findings

    Why it is in this group

    • The name "get_ctr_curve" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_genai_impressionsDaily impressions of the property in Google's generative AI features (AI Overviews and AI Mode) from the Search Console "Generative AI features" report, imported into Organiq (this…No findings

    Why it is in this group

    • The name "get_genai_impressions" says "get": a word for reading.
    Description, as the server wrote it
    Daily impressions of the property in Google's generative AI features (AI Overviews and AI Mode) from the Search Console "Generative AI features" report, imported into Organiq (this report is not in the Search Analytics API and has no clicks). kind = all (default), text or multimodal. Returns totals for the period and the comparison with change, the daily series and the import coverage (firstDate, lastDate, importedAt). hasData=false when nothing was imported for the property. Requires the GEO add-on (error plan_limit otherwise). Use for GEO: "how visible are we inside AI Overviews", trend after content changes, share vs classic impressions (compare with get_site_summary). / Impressões na Visão geral de IA e no Modo IA (relatório importado), com série diária e comparação.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_indexing_trackerIndexing status of the property's inspected URLs (Search Console URL Inspection results stored by Organiq, plus the tracked_urls watch list): healthScore 0–100 (70 % indexed share …Reads text others writeNo findings

    Why it is in this group

    • The name "get_indexing_tracker" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "crawl": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Indexing status of the property's inspected URLs (Search Console URL Inspection results stored by Organiq, plus the tracked_urls watch list): healthScore 0–100 (70 % indexed share + 30 % fresh-crawl share), indexed / not indexed counts, breakdown by coverageState and verdict, crawl freshness (fresh <= 30 days, aging, stale >= 120 days, never), alerts (deindexed since an earlier check, fetch errors, robots blocks, canonical mismatch, stale crawl, not indexed) and coverage over time by week of check. hasData=false means no inspection has been stored for this property yet (the inspection sync is not enabled for the account). Use for "are my pages indexed", "did Google drop a page", crawl staleness. / Saúde de indexação das URLs inspecionadas: nota 0–100, cobertura, frescor de crawl e alertas.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_longtail_clustersSplits the period's queries into head, chunky middle and long tail by word count (preset balanced: 1–2 / 3–4 / 5+ words; strict: 1 / 2–3 / 4+; loose: 1–3 / 4–5 / 6+), with queries,…No findings

    Why it is in this group

    • The name "get_longtail_clusters" says "get": a word for reading.
    Description, as the server wrote it
    Splits the period's queries into head, chunky middle and long tail by word count (preset balanced: 1–2 / 3–4 / 5+ words; strict: 1 / 2–3 / 4+; loose: 1–3 / 4–5 / 6+), with queries, clicks, impressions, ctr, position, shares and top examples per tier, plus a Pareto view (share of clicks held by the top 10 % / 25 % / 50 % of queries). Use for "how dependent are we on a few head terms", "how much comes from long-tail", content-planning by intent length. / Cauda longa por nº de palavras e curva de Pareto.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_page_performanceDaily performance of ONE page (URL) of the property.Reads text others writeNo findings

    Why it is in this group

    • The name "get_page_performance" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Daily performance of ONE page (URL) of the property. Returns totals for the period and the comparison with change, the daily (or weekly) series and the top counterparts (queries bringing the page traffic). Exact match (case-insensitive for queries); when nothing matches, the error lists up to 5 candidates containing the text. / Série de uma página exata.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_position_distributionHow the property's queries spread across position bands 1-3, 4-10, 11-20 and 21+ for each day (or week) of the period: number of queries, clicks, impressions and impression share p…No findings

    Why it is in this group

    • The name "get_position_distribution" says "get": a word for reading.
    Description, as the server wrote it
    How the property's queries spread across position bands 1-3, 4-10, 11-20 and 21+ for each day (or week) of the period: number of queries, clicks, impressions and impression share per band. Each query's position for a day is its impression-weighted average that day. Also returns the period aggregate and the share shift between the first and the last week (sharePoints, percentage points). Use for "are we moving from page 2 to page 1", "how much visibility sits beyond position 10", or to see when a band changed. / Faixas de posição por dia ou semana, com deslocamento entre a primeira e a última semana.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_query_performanceDaily performance of ONE search query on the property (optionally on one page).No findings

    Why it is in this group

    • The name "get_query_performance" says "get": a word for reading.
    Description, as the server wrote it
    Daily performance of ONE search query on the property (optionally on one page). Returns totals for the period and the comparison with change, the daily (or weekly) series and the top counterparts (pages ranking for the query). Exact match (case-insensitive for queries); when nothing matches, the error lists up to 5 candidates containing the text. / Série de uma query exata.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_query_shape_trendWeekly share of impressions (or clicks) per query shape (branded, question, comparison, transactional, local, longtail, head, other) and of "AI-style" queries over the period (defa…No findings

    Why it is in this group

    • The name "get_query_shape_trend" says "get": a word for reading.
    Description, as the server wrote it
    Weekly share of impressions (or clicks) per query shape (branded, question, comparison, transactional, local, longtail, head, other) and of "AI-style" queries over the period (default 12 weeks), with sharePointsChange = last weeks minus first weeks in percentage points. Weeks are keyed by Monday; incomplete first/last weeks are listed in partialWeeks. Use to see whether questions / conversational queries are growing, i.e. demand shifting toward AI-style searches. / Tendência semanal da participação de cada formato de query, inclusive "estilo IA".

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_ranking_changesClassifies each query (or page) of the property by what happened between the comparison period and the current one: new (appeared), lost (disappeared), improved (position better by…No findings

    Why it is in this group

    • The name "get_ranking_changes" says "get": a word for reading.
    Description, as the server wrote it
    Classifies each query (or page) of the property by what happened between the comparison period and the current one: new (appeared), lost (disappeared), improved (position better by >= minPositionChange), declined (worse) or stable. Rows carry clicks/impressions/ctr/position for both periods, positionChange (negative = improved) and clicksChange; summary counts every status plus clicks gained from new and lost keys. Sorted by impressions then by size of the move. Use for "what did we gain or lose in rankings", "which queries fell off", "new queries this month". / Queries ou páginas novas, perdidas, que subiram ou caíram entre dois períodos.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_site_summaryTotals 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 percent…No findings

    Why it is in this group

    • The name "get_site_summary" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_weekly_digestShort weekly digest for a property: the last 7 synced days vs the 7 before (and year-over-year), top 3 queries/pages up and down, anomalies of the week, Google updates and annotati…Reads text others writeNo findings

    Why it is in this group

    • The name "get_weekly_digest" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "web": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Short weekly digest for a property: the last 7 synced days vs the 7 before (and year-over-year), top 3 queries/pages up and down, anomalies of the week, Google updates and annotations, quick wins, technical alerts (Core Web Vitals, indexing), AI search lines and three next actions. Computed live from the synced data; when the account's weekly report job has run, storedReport carries the saved report's KPIs and actions (the same the e-mail/Slack digest sent) and alerts lists the alerts raised in the week. endDate moves the week (default: last synced date). Use for "what changed this week", Monday stand-ups, a client's weekly update. / Resumo da semana com movers, anomalias, alertas e 3 ações.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_ga4_propertiesLists the Google Analytics 4 properties the connected Google account can see (Analytics Admin API accountSummaries.list): id (numeric, the value set_ga4_property takes), displayNam…Reads text others writeNo findings

    Why it is in this group

    • The name "list_ga4_properties" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    Lists the Google Analytics 4 properties the connected Google account can see (Analytics Admin API accountSummaries.list): id (numeric, the value set_ga4_property takes), displayName and the GA4 account name, sorted by account. Needs an active Google connection in the Organiq account that granted analytics.readonly; otherwise no_data with reason scope_missing / no_connection / token_revoked and the step that fixes it. Use it before set_ga4_property to find the property id, or when the user does not know their GA4 property id. Guide: https://organiqgeo.com/connect/ga4. / Lista as propriedades GA4 da conta Google conectada, para escolher o id em set_ga4_property.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • list_sitemapsSitemaps known to Search Console for the property: path, lastSubmitted, lastDownloaded, isPending, errors, warnings and contents per type (web, image, video, news: submitted URL co…Reads text others writeNo findings

    Why it is in this group

    • The name "list_sitemaps" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "web": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Sitemaps known to Search Console for the property: path, lastSubmitted, lastDownloaded, isPending, errors, warnings and contents per type (web, image, video, news: submitted URL counts). Search Console no longer reports indexed counts per sitemap through the API, so `indexed` is usually 0 — use get_indexing_tracker for indexing. Use to confirm Google is fetching the sitemap, spot errors/warnings and count submitted URLs. / Sitemaps da propriedade com status de download, erros e URLs enviadas.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_sitesLists 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/…Reads text others writeNo findings

    Why it is in this group

    • The name "list_sites" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe description's first sentence says "list" and "url": it reads web pages, which anyone can write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_url_inspectionsLatest stored URL Inspection result per URL of the property: verdict, coverageState, indexingState, robotsState, pageFetchState, Google vs user canonical, lastCrawlTime, crawledAs,…Reads text others writeNo findings

    Why it is in this group

    • The name "list_url_inspections" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe name "list_url_inspections" says "list" and "url": it reads web pages, which anyone can write.
    • untrusted-inputThe description's first sentence says "crawl": it reads web pages, which anyone can write.
    Description, as the server wrote it
    Latest stored URL Inspection result per URL of the property: verdict, coverageState, indexingState, robotsState, pageFetchState, Google vs user canonical, lastCrawlTime, crawledAs, mobileVerdict, checkedAt and whether the URL is on the tracked list. Filter by status (indexed / not_indexed) or by URL text. hasData=false when no inspection is stored yet. Use after get_indexing_tracker to see specific URLs, or to check one URL's state. / Resultado da inspeção de cada URL (indexada?, canonical, último crawl).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • query_countriesCountries (ISO-3166-1 alpha-3, lowercase, e.g.No findings

    Why it is in this group

    • The name "query_countries" says "query": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • query_devicesDevices (MOBILE, DESKTOP, TABLET) of one property over the period.No findings

    Why it is in this group

    • The name "query_devices" says "query": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • query_top_pagesPages (URLs) of one property over the period, aggregated and sorted.No findings

    Why it is in this group

    • The name "query_top_pages" says "query": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • query_top_queriesSearch queries of one property over the period, aggregated and sorted.No findings

    Why it is in this group

    • The name "query_top_queries" says "query": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • score_opportunitiesQueries between minPosition and maxPosition whose CTR is below the expected CTR for their position.No findings

    Why it is in this group

    • The description's first verb is "query": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.

Reads private data2
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write8
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Remote posture

What anyone on the internet sees at the remote endpoint: an anonymous initialize and tools/list, and the public OAuth metadata.

Tools listed without sign-in

Looked at Oct 30, 2026, 22:19 UTC, unchanged since Oct 30, 2026. No credentials were sent and no tool was called. What is looked at.

Reachable
yes
HTTP status of an anonymous initialize
200
tools/list served without credentials
yes
Tools that change things, listed without credentials
10
Protocol version
2025-06-18
WWW-Authenticate on 401
not observed
resource_metadata in WWW-Authenticate
not observed
RFC 9728 protected resource metadata
https://organiqgeo.com/.well-known/oauth-protected-resource/mcp
Authorization servers
https://organiqgeo.com
Legacy HTTP+SSE transport
no
Dynamic client registration
yes
Client ID metadata documents
yes
  • WarnThe whole server

    The endpoint served tools/list without credentials, and the list has 10 tools that change things (10 write). Whether a call also works without credentials was not tested: tools are never called.

    Matched text

    https://organiqgeo.com/mcp: tools/list returned 44 tools to an anonymous client, including check_connection (write), get_timeseries (write), breakdown_by_path (write), detect_anomalies (write), forecast_traffic (write) and 5 more

    What this check looks for

Findings

Matches of fixed checks, with the text they matched.

2 warn1 info
  • The server marks "get_timeseries" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_timeseries" says "get": a word for reading.

    What this check looks for
  • The server marks "generate_seo_report" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "generate_seo_report" says "generate": a word for a change.

    What this check looks for
  • The description mentions "credentials".

    Matched text

    description: "...he steps that resolve each gap. Without credentials it explains how to connect. Use it when..."

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 0.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http organiq https://organiqgeo.com/mcp
claude mcp add --transport http organiq https://organiqgeo.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__organiq__get_capabilities",
      "mcp__organiq__get_ctr_benchmark",
      "mcp__organiq__list_sites",
      "mcp__organiq__get_site_summary",
      "mcp__organiq__query_top_queries",
      "mcp__organiq__query_top_pages",
      "mcp__organiq__query_countries",
      "mcp__organiq__query_devices",
      "mcp__organiq__get_breakdown",
      "mcp__organiq__get_annotations",
      "mcp__organiq__get_ai_traffic",
      "mcp__organiq__get_ctr_curve",
      "mcp__organiq__find_decaying_content",
      "mcp__organiq__analyze_cannibalization",
      "mcp__organiq__score_opportunities",
      "mcp__organiq__find_page_poaching_opportunities",
      "mcp__organiq__get_ranking_changes",
      "mcp__organiq__get_position_distribution",
      "mcp__organiq__get_branded_performance",
      "mcp__organiq__get_query_performance",
      "mcp__organiq__get_page_performance",
      "mcp__organiq__get_longtail_clusters",
      "mcp__organiq__analyze_sampling_impact",
      "mcp__organiq__analyze_query_shapes",
      "mcp__organiq__get_query_shape_trend",
      "mcp__organiq__detect_change_points",
      "mcp__organiq__get_core_web_vitals",
      "mcp__organiq__get_indexing_tracker",
      "mcp__organiq__list_url_inspections",
      "mcp__organiq__list_sitemaps",
      "mcp__organiq__get_bing_performance",
      "mcp__organiq__get_genai_impressions",
      "mcp__organiq__get_weekly_digest",
      "mcp__organiq__list_ga4_properties"
    ],
    "ask": [
      "mcp__organiq__check_connection",
      "mcp__organiq__get_timeseries",
      "mcp__organiq__breakdown_by_path",
      "mcp__organiq__detect_anomalies",
      "mcp__organiq__forecast_traffic",
      "mcp__organiq__generate_seo_report",
      "mcp__organiq__set_ga4_property",
      "mcp__organiq__set_bing_site",
      "mcp__organiq__set_bing_key",
      "mcp__organiq__set_branded_terms"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as organiq. Review it before you use it.

Capability tags behind 10 rules
  • mcp__organiq__list_sites untrusted-input
  • mcp__organiq__get_annotations private-data
  • mcp__organiq__get_page_performance untrusted-input
  • mcp__organiq__analyze_sampling_impact private-data
  • mcp__organiq__get_core_web_vitals untrusted-input
  • mcp__organiq__get_indexing_tracker untrusted-input
  • mcp__organiq__list_url_inspections untrusted-input
  • mcp__organiq__list_sitemaps untrusted-input
  • mcp__organiq__get_weekly_digest untrusted-input
  • mcp__organiq__list_ga4_properties untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.organiqgeo/organiq/verify?hash=1899baf3b0572ec58cf873c9326e2f9cd7a71af72504941ab8f47f87ba7de1fb" | jq -e '.changed == false'

Pinned hash 1899baf3b057, from Oct 30, 2026, 21:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.organiqgeo/organiq/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.organiqgeo/organiq
[![anlyon.dev](https://anlyon.dev/badge/com.organiqgeo/organiq.svg)](https://anlyon.dev/servers/com.organiqgeo/organiq)

Source: MCP Registry · repository. Synced Oct 30, 2026, 21:17 UTC.