Pylon SEO

Audit, rank-track and analyze SEO for sites via an authenticated MCP server.

사용해야 할까요

품질 및 안전성

A
설명 품질
94%
스키마 완전성
95%
이름 품질
100%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (4)

  • LOWTool 'get_keyword_gaps' description lacks action verbget_keyword_gaps에서
  • LOWTool 'get_cwv' description lacks action verbget_cwv에서
  • LOWTool 'get_site_changes' description lacks action verbget_site_changes에서
  • LOWTool 'submit_indexnow' description lacks action verbsubmit_indexnow에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,472토큰 (도구 정의)
~491 B일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.71%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "pylon-seo": {
      "url": "https://api.pylonseo.io/mcp"
    }
  }
}

원격 엔드포인트

https://api.pylonseo.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (31)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢list_sites

List every SEO site in the authenticated user's organisation (id, name, domain, status, last audit timestamp). Use before any other tool to discover which site_ids are valid.

입력 스키마

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢get_site(site_id)

Get one site's metadata (name, domain, status, verification state, last-audit / last-scan timestamps).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_site_audit(site_id)

Latest SEO audit run for a site: overall + per-category scores and issue counts by severity.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_audit_issues(limit, severity, site_id)

Top issues from the latest audit run for a site. Optional filter by severity (critical|high|medium|low). Returns up to `limit` (default 25, max 200) instances.

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Max issues to return (1-200)",
      "type": "integer"
    },
    "severity": {
      "description": "Optional severity filter",
      "enum": [
        "critical",
        "high",
        "medium",
        "low"
      ],
      "type": "string"
    },
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_score_history(site_id)

Daily audit score history for a site (used for trend lines). Returns the most recent 90 samples.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_keyword_rankings(site_id)

Tracked keyword positions + movement for a site (current + previous position, URL, country, device).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_serp_features(site_id)

Aggregate SERP-feature presence (AI Overview, Featured Snippet, People-Also-Ask, Local Pack, Video, Images, Shopping, Knowledge) across the site's tracked keywords, from the latest ranking run.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_rank_alerts(site_id)

Configured rank-drop alert rules for a site (thresholds + is_active flags).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_ai_overview_presence(site_id)

Google AI Overview coverage for a site: coverage %, delta vs previous run, per-intent buckets, per-keyword state (gained / lost / still-covered / not-covered).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_ai_visibility(site_id)

AI visibility overview for a site: measured mention rate across configured AI engines (OpenRouter / OpenAI / Anthropic / Gemini / Perplexity), current engine set, planned engines.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_prompt_research(site_id)

Per-prompt AI research for a site (target share, leader, rivals, opportunity bucket).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_gsc_metrics(dimension, limit, site_id, surface)

Google Search Console metrics for a site. `surface` = organic|ai_overview|ai_mode|discover_ai (default organic); `dimension` = query|page|country|device|date (default query).

입력 스키마

{
  "type": "object",
  "properties": {
    "dimension": {
      "enum": [
        "query",
        "page",
        "country",
        "device",
        "date"
      ],
      "type": "string"
    },
    "limit": {
      "description": "Max rows (1-500, default 50)",
      "type": "integer"
    },
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    },
    "surface": {
      "enum": [
        "organic",
        "ai_overview",
        "ai_mode",
        "discover_ai"
      ],
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_bing_metrics(dimension, limit, site_id)

Bing Webmaster Tools metrics for a site (organic; Bing has no Copilot API split). `dimension` = query|page|country|device|date (default query).

입력 스키마

{
  "type": "object",
  "properties": {
    "dimension": {
      "enum": [
        "query",
        "page",
        "country",
        "device",
        "date"
      ],
      "type": "string"
    },
    "limit": {
      "description": "Max rows (1-500, default 50)",
      "type": "integer"
    },
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_competitors(site_id)

Tracked competitors for a site with their latest snapshot (domain authority, visibility, organic keywords, estimated traffic, backlinks).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_keyword_gaps(site_id)

Top keyword-gap opportunities (keywords a competitor ranks for and the site does not, ordered by opportunity score).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_backlinks_domains(site_id)

Top referring domains for a site with the Pylon-computed 0-100 authority score.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_content_grade(site_id, url)

Cached content-grade summary for a URL on a site (from the on-page grader).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    },
    "url": {
      "description": "Exact URL to look up",
      "type": "string"
    }
  },
  "required": [
    "site_id",
    "url"
  ]
}
🟢get_cwv(site_id)

Core Web Vitals (LCP, CLS, INP, FCP, TTFB) for a site from PageSpeed Insights — mobile + desktop snapshots.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_site_changes(site_id)

Recent SEO changes detected between the two most recent crawls (title / meta / h1 / canonical / indexability / status code).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_scan_pages(limit, site_id)

Newest pages from a site's latest crawl (status code, response time, size, depth, indexable). Windowed at 200 rows.

입력 스키마

{
  "type": "object",
  "properties": {
    "limit": {
      "description": "Max rows (1-200, default 50)",
      "type": "integer"
    },
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_market_analysis(site_id)

Market analysis overview for a site: tracked keyword demand aggregates, competitive concentration and provenance chips.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢get_local_seo(site_id)

Local SEO overview for a site (rank-tracker with local intent). Returns tracked local keywords + rival domains + AI-only rivals.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🟢list_reports(kind, limit, site_id)

List stored report runs for the caller's organisation. Optional filter by `site_id` and `kind` (overview|seo_audit|rankings|competitors|ai_visibility).

입력 스키마

{
  "type": "object",
  "properties": {
    "kind": {
      "description": "Optional kind filter",
      "type": "string"
    },
    "limit": {
      "description": "Max rows (1-100, default 25)",
      "type": "integer"
    },
    "site_id": {
      "description": "Optional UUID to filter by site",
      "type": "string"
    }
  },
  "required": []
}
🟢get_plans

Pylon SEO plans and the caller's entitlement: the paid catalogue (Growth / Agency, monthly / yearly) with USD + INR prices, site limits, credits and features, plus the caller's current plan, site usage and trial state, and the website pricing_url where plans are purchased.

입력 스키마

{
  "type": "object",
  "properties": {},
  "required": []
}
🟡add_keyword(country_code, intent, keyword, site_id)

Track a new keyword for a site. `keyword` and `country_code` (ISO-3166-1 alpha-2, e.g. 'us') are required; `intent` (informational|commercial|transactional|navigational) is optional and estimated when omitted.

입력 스키마

{
  "type": "object",
  "properties": {
    "country_code": {
      "description": "ISO-3166-1 alpha-2 (us / in / gb / de / fr / ca / au)",
      "type": "string"
    },
    "intent": {
      "description": "Optional intent",
      "type": "string"
    },
    "keyword": {
      "description": "Keyword text (1-200 chars)",
      "type": "string"
    },
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id",
    "keyword",
    "country_code"
  ]
}
🟡add_competitor(domain, label, site_id)

Track a new competitor for a site by its bare domain (no protocol). Discovery scan is enqueued asynchronously.

입력 스키마

{
  "type": "object",
  "properties": {
    "domain": {
      "description": "Bare domain (e.g. example.com)",
      "type": "string"
    },
    "label": {
      "description": "Optional human-friendly label",
      "type": "string"
    },
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id",
    "domain"
  ]
}
🔴add_rank_alert(drop_threshold, site_id)

Configure a rank-drop alert rule for a site. `drop_threshold` (positive int) fires when any tracked keyword drops that many positions between runs.

입력 스키마

{
  "type": "object",
  "properties": {
    "drop_threshold": {
      "description": "Positions dropped between runs to fire (1-100)",
      "type": "integer"
    },
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id",
    "drop_threshold"
  ]
}
⚪start_scan(site_id)

Enqueue a fresh crawl + audit run for a site. Idempotent: a running / queued run short-circuits.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
⚪start_ranking_run(site_id)

Enqueue a keyword-rankings sweep for a site (resolves every tracked keyword's SERP position).

입력 스키마

{
  "type": "object",
  "properties": {
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    }
  },
  "required": [
    "site_id"
  ]
}
🔴submit_indexnow(confirm_token, site_id, urls)

Push a URL batch to IndexNow (Bing/Yandex/Naver/Seznam) for a site. Requires an existing verified IndexNow key. All URLs must share the site's host.

입력 스키마

{
  "type": "object",
  "properties": {
    "confirm_token": {
      "description": "Single-use token from the preview call. Omit to preview; include to submit.",
      "type": "string"
    },
    "site_id": {
      "description": "UUID of the site",
      "type": "string"
    },
    "urls": {
      "description": "URL list (1-1000)",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "site_id",
    "urls"
  ]
}
🟢run_public_scan(url)

Run the anonymous single-URL SEO checker (public). Returns the same audit shape logged-in users see. Rate-limited per anonymous identity.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Full URL to scan (https://example.com/path)",
      "type": "string"
    }
  },
  "required": [
    "url"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 31개