{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-06T02:18:08.198Z","url":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner","markdownUrl":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner.md","server":{"slug":"afeezadebayo-google-keyword-planner","name":"Google Keyword Planner","registryName":"io.github.afeezadebayo/google-keyword-planner","description":"Keyword ideas, search volumes, CPC ranges, trends and forecasts from Google Ads Keyword Planner.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"google-keyword-planner","type":"mcpb","identifier":"https://github.com/afeezadebayo/google-keyword-planner-mcp/releases/download/v1.1.0/google-keyword-planner.mcpb","withdrawn":false,"url":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner","version":null,"transport":"stdio","scoredAt":"2026-11-05T03:08:14.032Z"},"score":{"total":45,"tier":"low","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":45},{"date":"2026-11-04","total":45},{"date":"2026-11-03","total":45},{"date":"2026-11-02","total":45},{"date":"2026-11-01","total":45},{"date":"2026-10-31","total":45}]},"categories":[{"name":"Supply Chain Security","score":23,"verdict":"partial","reasons":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Known CVEs were checked across the 93 of 93 dependencies we could resolve, so this covers what we could see, not the whole tree.","No install/post-install scripts declared.","30 of 93 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_inconclusive","args":{"reason":"ecosystem_unsupported"}},{"code":"cve.tree_partial","args":{"seen":"93","resolved":"93"}},{"code":"installscript.none","args":{}},{"code":"dephealth.assessed","args":{"deps":"93","unhealthy":"30"}}]},{"name":"Provenance & Transparency","score":45,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT).","Actively maintained (last published 4 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"4"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":67,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 946 tokens (~135/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"135","items":"7","tools":"7","tokens":"946","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability not yet verified: not enough scan history yet (needs a 30-day window)."],"codes":[{"code":"stability.insufficient_history","args":{}}]},{"name":"Tool Coverage","score":94,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","82% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"82"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"7"}},{"code":"toolsafety.manipulation_clean","args":{"units":"8","judged":"8"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Stability not yet verified: not enough scan history yet (needs a 30-day window)."],"malware":[],"components":[{"slug":"google-keyword-planner","type":"mcpb","identifier":"https://github.com/afeezadebayo/google-keyword-planner-mcp/releases/download/v1.1.0/google-keyword-planner.mcpb","withdrawn":false,"score":45,"current":true,"url":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner","markdownUrl":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner.md"}],"facts":[{"label":"Registry","value":"mcpb"},{"label":"Package","value":"https://github.com/afeezadebayo/google-keyword-planner-mcp/releases/download/v1.1.0/google-keyword-planner.mcpb"},{"label":"Transport","value":"stdio"},{"label":"SHA-256","value":"4c0352811cf57e54aaefaffa07120a7873f6dff6a6e4ff67cb8d368409e983a0"}],"install":{"available":true,"bundleSha256":"4c0352811cf57e54aaefaffa07120a7873f6dff6a6e4ff67cb8d368409e983a0"},"tools":[{"name":"generate_keyword_ideas","title":"Generate keyword ideas","description":"Get keyword ideas from Keyword Planner using seed keywords, a page URL, a whole site, or keywords plus a URL. Returns each idea's average monthly searches, competition, top-of-page bid range, 3-month change, change across the period (first to last month), and monthly volumes.","inputs":[{"name":"include_adult_keywords","type":"boolean","required":false,"description":null},{"name":"include_monthly","type":"boolean","required":false,"description":"Include the 12-month volume series for each idea (larger output)."},{"name":"keywords","type":"array","required":false,"description":"Seed keywords (up to 20)."},{"name":"language","type":"string","required":false,"description":"Language name, code or ID, for example \"English\", \"en\" or \"1000\". Omit for the default (all languages if none set)."},{"name":"limit","type":"integer","required":false,"description":"Maximum ideas to return (default 200)."},{"name":"locations","type":"array","required":false,"description":"Up to 10 locations as names (\"Nigeria\", \"Lagos\", \"United Kingdom\") or Google geo target IDs (\"2566\"). Omit for the default or worldwide."},{"name":"min_searches","type":"integer","required":false,"description":"Drop ideas below this average monthly search volume."},{"name":"network","type":"string","required":false,"description":"GOOGLE_SEARCH (default) or GOOGLE_SEARCH_AND_PARTNERS."},{"name":"site","type":"string","required":false,"description":"A whole domain to pull ideas from, e.g. \"example.com\". Can't be combined with keywords or url."},{"name":"sort_by","type":"string","required":false,"description":null},{"name":"url","type":"string","required":false,"description":"A page URL to pull ideas from. Can be combined with keywords."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":302},{"name":"get_search_volume","title":"Get search volume and metrics","description":"Get historical Keyword Planner metrics for specific keywords: average monthly searches, monthly volumes, competition, top-of-page bid range and trends. Use this to check exact keywords rather than discover new ones. Close variants that Google groups together are listed.","inputs":[{"name":"end_month","type":"string","required":false,"description":"Last month, YYYY-MM."},{"name":"include_average_cpc","type":"boolean","required":false,"description":null},{"name":"keywords","type":"array","required":true,"description":"Keywords to look up (up to 10,000)."},{"name":"language","type":"string","required":false,"description":"Language name, code or ID, for example \"English\", \"en\" or \"1000\". Omit for the default (all languages if none set)."},{"name":"locations","type":"array","required":false,"description":"Up to 10 locations as names (\"Nigeria\", \"Lagos\", \"United Kingdom\") or Google geo target IDs (\"2566\"). Omit for the default or worldwide."},{"name":"network","type":"string","required":false,"description":"GOOGLE_SEARCH (default) or GOOGLE_SEARCH_AND_PARTNERS."},{"name":"start_month","type":"string","required":false,"description":"First month, YYYY-MM. Default: the last 12 months."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":215},{"name":"forecast_keywords","title":"Forecast clicks and cost","description":"Forecast impressions, clicks, cost, CTR and average CPC for a set of keywords over a future period, using Keyword Planner's forecasting. Useful for budgeting a paid search campaign.","inputs":[{"name":"days","type":"integer","required":false,"description":"Forecast length in days, starting tomorrow."},{"name":"keywords","type":"array","required":true,"description":null},{"name":"language","type":"string","required":false,"description":"Language name, code or ID, for example \"English\", \"en\" or \"1000\". Omit for the default (all languages if none set)."},{"name":"locations","type":"array","required":false,"description":"Up to 10 locations as names (\"Nigeria\", \"Lagos\", \"United Kingdom\") or Google geo target IDs (\"2566\"). Omit for the default or worldwide."},{"name":"max_cpc","type":"number","required":true,"description":"Maximum cost per click bid, in the account currency (e.g. 0.8)."},{"name":"network","type":"string","required":false,"description":"GOOGLE_SEARCH (default) or GOOGLE_SEARCH_AND_PARTNERS."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":188},{"name":"find_locations","title":"Find location IDs","description":"Search Google's geo targets by name to get location IDs for countries, regions, cities and more.","inputs":[{"name":"country_code","type":"string","required":false,"description":"Limit to a country, e.g. \"NG\"."},{"name":"locale","type":"string","required":false,"description":null},{"name":"names","type":"array","required":true,"description":"Place names, e.g. [\"Lagos\", \"Abuja\"]."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":73},{"name":"list_languages","title":"List languages","description":"List the languages Keyword Planner can target, with their codes and IDs.","inputs":[{"name":"filter","type":"string","required":false,"description":"Optional text to filter by name or code."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":37},{"name":"list_accessible_customers","title":"List Google Ads accounts","description":"List the Google Ads customer IDs the signed-in user can access. Use it to find the right GOOGLE_ADS_CUSTOMER_ID.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":37},{"name":"check_connection","title":"Check connection","description":"Check that credentials work and show the configured account, API version, currency and defaults.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":25}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T03:08:14.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":"no_attestation","reasonLabel":"No attestation published","discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":93,"partial":false,"deprecated":null,"stale":30,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-31","recent":[{"id":"chg_01a19193-b1bc-7119-a78c-cb12fad7d738","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner#chg-chg_01a19193-b1bc-7119-a78c-cb12fad7d738"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner/changelog.json"},"links":{"html":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner","markdown":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner.md","changelogJson":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner/changelog.json","changelogRss":"https://verifymcp.io/servers/afeezadebayo-google-keyword-planner/google-keyword-planner.xml","external":[{"label":"Repository","href":"https://github.com/afeezadebayo/google-keyword-planner-mcp"}]}}