GCP Platform Engineer vs Seo Monster

A side-by-side look at the GCP Platform Engineer and Seo Monster MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

GCP Platform Engineer logoGCP Platform EngineerCloud Platforms · Local subprocess (stdio)Read-only GCP tools for debugging incidents and finding cost savings59GoodAuth: not declaredSeo Monster logoSeo MonsterCloud Platforms · Local subprocess (stdio)SEO MCP over Search Console, GA4, PageSpeed, Cloudflare, IndexNow, CrUX, technical-SEO.64GoodAuth: not declared

Verdict: choose GCP Platform Engineer for cloud platforms work as a local process; choose Seo Monster for cloud platforms as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

GCP Platform Engineer logoChoose GCP Platform Engineer when

  • You need dedicated capabilities in the Cloud Platforms domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: PLATFORM_MCP_CONFIG, PLATFORM_MCP_ENVIRONMENTS, PLATFORM_MCP_DEFAULT_ENVIRONMENT, GOOGLE_APPLICATION_CREDENTIALS.
  • You want tools like list_environments, query_logs, get_recent_errors.
Explore GCP Platform Engineer

Seo Monster logoChoose Seo Monster when

  • You need dedicated capabilities in the Cloud Platforms domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: SEO_MCP_ALLOW_DESTRUCTIVE.
  • You want tools like system_status, gsc_list_properties, gsc_search_analytics.
Explore Seo Monster

Feature & specification comparison

Rows where the two servers differ are marked.

SpecGCP Platform Engineer logoGCP Platform EngineerSeo Monster logoSeo Monster
CategoryCloud PlatformsCloud Platforms
Quality signal59/100 · Good64/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsPLATFORM_MCP_CONFIGPLATFORM_MCP_ENVIRONMENTSPLATFORM_MCP_DEFAULT_ENVIRONMENTGOOGLE_APPLICATION_CREDENTIALSSEO_MCP_ALLOW_DESTRUCTIVE
Verified ownerCommunity listingCommunity listing
GitHub stars2552
Directory activity 2 views 0 installs 0 upvotes 3 views 0 installs 0 upvotes
Tools1670

Tools & capabilities

GCP Platform Engineer tools 16

  • list_environmentsList the GCP environments this server can query and which is the default. Pass one of the returned names as the `environment` argument of any other tool to target that project (e.g. environment='production'). Omitting the argument uses the default environment shown here. Common shorthands such as 'prod' and 'stg' are accepted, as is a bare project id.
  • query_logsQuery Cloud Logging with an advanced-filter expression. Args: filter: Cloud Logging advanced filter (e.g. 'severity>=WARNING AND resource.type="cloud_run_revision"'). Leave empty to match all logs. freshness: How far back to look, e.g. '30m', '1h', '2d'. Default '1h'. limit: Maximum number of entries to return (newest first). environment: Which configured GCP environment to query, e.g. 'staging' or 'production'. Omit to use the default environment. Call list_environments to see what is configured.
  • get_recent_errorsReturn recent log entries at severity ERROR or higher. Args: service: Optional service name to narrow to (matched against resource.labels.service_name and logName). hours: How many hours back to search. Default 1. limit: Maximum number of entries to return (newest first). environment: Which configured GCP environment to query, e.g. 'staging' or 'production'. Omit to use the default environment.
  • list_error_groupsList grouped application errors from Error Reporting with counts. Args: hours: Lookback window; snapped to the nearest supported period (1h, 6h, 1d, 1w, 30d). Default 24. service: Optional service name filter (Error Reporting "service" label). limit: Maximum number of error groups to return (most frequent first). environment: Which configured GCP environment to query, e.g. 'staging' or 'production'. Omit to use the default environment.
  • query_metricQuery a Cloud Monitoring metric time series. Args: metric_type: Metric type, e.g. 'compute.googleapis.com/instance/cpu/utilization'. resource_filter: Optional extra filter, e.g. 'resource.labels.instance_id="123"'. window: How far back to query, e.g. '1h', '6h', '1d'. Default '1h'. aligner: Aggregation across the alignment period: MEAN, MAX, MIN, SUM, COUNT, RATE, PERCENTILE_99. Default MEAN. alignment_period: Bucket size for aggregation, e.g. '1m', '5m'. Default '5m'. limit: Maximum number of time series to return. environment: Which configured GCP environment to query, e.g. 'staging' or 'production'. Omit to use the default environment.
  • list_alert_policiesList Cloud Monitoring alert policies and whether they are enabled. Args: limit: Maximum number of policies to return. environment: Which configured GCP environment to query, e.g. 'staging' or 'production'. Omit to use the default environment.
  • list_uptime_checksList Cloud Monitoring uptime check configurations. Args: limit: Maximum number of uptime checks to return. environment: Which configured GCP environment to query, e.g. 'staging' or 'production'. Omit to use the default environment.
  • list_cost_recommendationsAggregate GCP cost-optimization recommendations (idle/rightsizing/etc). Fans out the cost recommenders across the locations where the project has resources. Recommenders/locations that are empty or not enabled are skipped. Args: locations: Optional comma-separated zones/regions to scan (e.g. 'us-central1,us-central1-a'). If empty, auto-discovers from Asset Inventory (requires the Cloud Asset API). limit_per_call: Max recommendations to pull per recommender+location. environment: Which configured GCP environment to query, e.g. 'staging' or 'production'. Omit to use the default environment.
  • list_recommendationsList recommendations from a specific recommender at a specific location. Args: recommender_id: Recommender id, e.g. 'google.compute.instance.MachineTypeRecommender' or 'google.iam.policy.Recommender'. location: Zone (e.g. 'us-central1-a'), region (e.g. 'us-central1'), or 'global' depending on the recommender. Default 'global'. limit: Maximum number of recommendations to return. environment: Which configured GCP environment to query, e.g. 'staging' or 'production'. Omit to use the default environment.
  • get_cost_breakdownSummarize recent spend from the BigQuery billing export. By default this reports spend for the selected environment's project only. A billing export table covers every project on the billing account, and several environments commonly share one table, so an unfiltered query would return identical account-wide totals for staging and production. Only the environment holding the export needs 'billing_export_table' set: one billing account exports to one project, and that export already covers every project on the account. Asking any other environment for costs returns an error naming the one that has it. Args: group_by: One of 'service', 'sku', 'project', 'region'. Default 'service'. days: Lookback window in days over usage_start_time. Default 30. limit: Max rows returned (highest net cost first). all_projects: Report the whole billing account instead of just this environment's project. Pair with group_by='project' to compare projects; the totals then are not specific to this environment. environment: Which configured GCP environment to bill against, e.g. 'staging' or 'production'. Omit to use the default environment.
  • get_billing_infoReturn the billing account linked to the project and its status. Args: environment: Which configured GCP environment to inspect, e.g. 'staging' or 'production'. Omit to use the default environment.
  • search_assetsSearch all cloud resources in the project via Cloud Asset Inventory. Args: asset_types: Optional comma-separated asset types to filter, e.g. 'compute.googleapis.com/Instance,run.googleapis.com/Service'. query: Optional free-text/structured query, e.g. 'state:RUNNING' or 'location:us-central1'. limit: Maximum number of resources to return. Default 50; raise it when you know you need a full inventory, since each resource costs context. include_labels: Include resource labels. Off by default because deployment labels are usually the largest part of the response and rarely answer the question being asked. environment: Which configured GCP environment to search, e.g. 'staging' or 'production'. Omit to use the default environment. Call list_environments to see what is configured.
  • +4 more on the listing page

Seo Monster tools 70

  • system_statusReport which SEO services are configured and reachable, the Google auth method and scopes, whether destructive mode is enabled, and the full catalog of available tools grouped by service. Call this first if unsure what is set up. Pass probe=true to confirm credentials work via one cheap live call per configured service (default false: config-only).
  • gsc_list_propertiesList every Search Console property the configured credentials can see, with each property's permission level. Use this to discover valid site_url values.
  • gsc_search_analyticsQuery Search Console search analytics (clicks, impressions, CTR, position) for a property, with dimensions, a date range, optional dimension filters, and data_state. The workhorse GSC tool.
  • gsc_top_queriesConvenience wrapper: top queries for a property over the last N days by clicks. Equivalent to gsc_search_analytics with dimensions=["query"]. Uses the configured data_state (default 'all'; 'final' lags 2-3 days behind the dashboard).
  • gsc_top_pagesConvenience wrapper: top pages for a property over the last N days by clicks. Equivalent to gsc_search_analytics with dimensions=["page"]. Uses the configured data_state (default 'all'; 'final' lags 2-3 days behind the dashboard).
  • gsc_compare_periodsCompare two equal-length time windows (current vs prior) and return per-key deltas in clicks, impressions, CTR, and position, plus keys present in only one window. v0.2.0: optional sort_by / sort_dir / min_delta_* filters and an anomalies_only z-score gate so the same tool covers 'biggest gainers', 'biggest losers', 'meaningful movers', and 'statistical outliers' without needing separate tools. When anomalies_only=true, the response's filters_applied.sigma_used field reports the population-stdev (sigma) actually computed from the matched rows' sort_by metric distribution; the effective z-score cutoff applied is `sigma_threshold * sigma_used`.
  • gsc_inspect_urlInspect a single URL via the URL Inspection API: index verdict, coverage state, crawl info, canonicals, and mobile/rich-results summaries when present.
  • gsc_batch_inspect_urlsInspect several URLs in one call (capped at 25). Returns a result per URL plus a list of per-URL failures. Rate-limit and transient errors are reported per URL without failing the whole batch.
  • gsc_list_sitemapsList the sitemaps Google knows about for a property, with submission and indexing status.
  • gsc_submit_sitemapSubmit a sitemap to Search Console. Requires the writable webmasters scope. Available by default (a routine SEO task; not gated). Accepts either `sitemap_url` (preferred, friendly name) or `feedpath` (the raw API field name; kept for back-compat).
  • gsc_request_indexingAsk Google to (re)crawl one or more URLs via the Indexing API (URL_UPDATED). Requires the indexing scope. Available by default. Accepts a single `url` (string) or `urls` (array up to 100). A scope or disabled-API error stops the batch and is returned with remediation; per-URL errors are collected. `notify_time: null` on success is normal upstream behavior, not a failure.
  • gsc_query_opportunitiesQueries already ranking in the top N positions but with below-target CTR. These are title and meta-description optimization candidates. Returns rows sorted by impressions desc (the bigger the impression volume, the more clicks a CTR lift unlocks).
  • +58 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

GCP Platform Engineer

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "gcp-platform-engineer": {
      "command": "uvx",
      "args": [
        "platform-mcp"
      ],
      "env": {
        "PLATFORM_MCP_CONFIG": "YOUR_PLATFORM_MCP_CONFIG_HERE",
        "PLATFORM_MCP_ENVIRONMENTS": "YOUR_PLATFORM_MCP_ENVIRONMENTS_HERE",
        "PLATFORM_MCP_DEFAULT_ENVIRONMENT": "YOUR_PLATFORM_MCP_DEFAULT_ENVIRONMENT_HERE",
        "GOOGLE_APPLICATION_CREDENTIALS": "YOUR_GOOGLE_APPLICATION_CREDENTIALS_HERE"
      }
    }
  }
}

Seo Monster

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "seo-monster": {
      "command": "uvx",
      "args": [
        "seo-monster"
      ],
      "env": {
        "SEO_MCP_ALLOW_DESTRUCTIVE": "YOUR_SEO_MCP_ALLOW_DESTRUCTIVE_HERE"
      }
    }
  }
}

Frequently asked questions

GCP Platform Engineer is categorized under Cloud Platforms and uses a local stdio subprocess. Seo Monster belongs to Cloud Platforms and uses a local stdio subprocess. Pick GCP Platform Engineer for cloud platforms work and Seo Monster for cloud platforms.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

GCP Platform Engineer has no declared pricing — check the project's own site. Seo Monster has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add gcp-platform-engineer and seo-monster as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, GCP Platform Engineer has a quality signal of 59/100 (Good) with 2 views, 0 installs and 2 GitHub stars. Seo Monster has 64/100 (Good) with 3 views, 0 installs and 552 GitHub stars.