{"name":"io.github.Rachit8484/geoseo-mcp","slug":"rachit8484-geoseo-mcp","title":"geoseo-mcp","description":"SEO + GEO: Search Console, Bing, Yandex, IndexNow, AI Overviews and LLM citation tracking.","url":"https://mcp.market/server/rachit8484-geoseo-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"seo","tags":["seo","ai","search","maps"],"presence":{"score":31,"stars":3,"forks":0,"downloads_week":107,"last_push_at":"2026-10-23T13:32:53.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Rachit8484/geoseo-mcp","website":null,"version":"0.4.0","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"geoseo-mcp","version":"0.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"OpenAI API key for ChatGPT citation checks","format":"string","isSecret":true,"name":"GEOSEO_OPENAI_API_KEY"},{"description":"Anthropic API key for Claude citation checks","format":"string","isSecret":true,"name":"GEOSEO_ANTHROPIC_API_KEY"},{"description":"Gemini API key for Google Search grounded checks","format":"string","isSecret":true,"name":"GEOSEO_GEMINI_API_KEY"},{"description":"Perplexity API key","format":"string","isSecret":true,"name":"GEOSEO_PERPLEXITY_API_KEY"},{"description":"xAI API key for Grok citation checks","format":"string","isSecret":true,"name":"GEOSEO_XAI_API_KEY"},{"description":"Brave Search API key (Answers plan) for Brave citation checks","format":"string","isSecret":true,"name":"GEOSEO_BRAVE_API_KEY"},{"description":"SerpAPI key for Google AI Overviews tracking","format":"string","isSecret":true,"name":"GEOSEO_SERPAPI_API_KEY"},{"description":"Bing Webmaster Tools API key","format":"string","isSecret":true,"name":"GEOSEO_BING_WEBMASTER_API_KEY"},{"description":"Yandex Webmaster OAuth token","format":"string","isSecret":true,"name":"GEOSEO_YANDEX_OAUTH_TOKEN"},{"description":"IndexNow key hosted at https://yourdomain.com/<key>.txt","format":"string","isSecret":true,"name":"GEOSEO_INDEXNOW_KEY"},{"description":"Path to a Google OAuth client_secret.json for Search Console","format":"filepath","name":"GEOSEO_GOOGLE_CLIENT_SECRET"},{"description":"Comma-separated toolsets to expose (default: all)","format":"string","name":"GEOSEO_TOOLSETS"}]}],"tools":[{"name":"aio_check","description":"Run a Google search via SerpAPI and parse the AI Overview block.","write_action":true,"price_micros":0,"input_schema":null},{"name":"aio_citation_check","description":"For a batch of queries, report AIO fire-rate and citation share for ``target_domain``.","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_page","description":"Audit a single page (local file path or http(s) URL).","write_action":false,"price_micros":0,"input_schema":null},{"name":"audit_site","description":"Recursively audit every HTML file under a folder.","write_action":false,"price_micros":0,"input_schema":null},{"name":"bing_crawl_issues","description":"Crawl errors / blocked URLs / DNS issues reported by Bingbot.","write_action":false,"price_micros":0,"input_schema":null},{"name":"bing_list_sites","description":"List all Bing-verified sites for the API key owner.","write_action":false,"price_micros":0,"input_schema":null},{"name":"bing_page_stats","description":"Per-page stats from Bing Webmaster.","write_action":false,"price_micros":0,"input_schema":null},{"name":"bing_query_stats","description":"Last-6-months query stats from Bing Webmaster (clicks, impressions, position).","write_action":false,"price_micros":0,"input_schema":null},{"name":"bing_submit_url","description":"Submit a URL for fast crawling. Daily quota applies (default ~10/day).","write_action":true,"price_micros":0,"input_schema":null},{"name":"bing_url_info","description":"Index status + crawl info for a single URL on Bing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"brave_query","description":"Ask Brave's AI Answers (grounded in Brave Search); return answer + cited URLs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"claude_query","description":"Ask Claude (with server-side web search) a question; return answer + cited URLs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"find_broken_external_links","description":"Find dead, redirected, or flaky outbound links across a folder of HTML.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gemini_query","description":"Ask Gemini (with Google Search grounding) a question; return answer + cited URLs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_llms_txt","description":"Generate a draft ``llms.txt`` from a folder of HTML pages.","write_action":false,"price_micros":0,"input_schema":null},{"name":"geoseo_status","description":"Report which engines are configured and reachable.","write_action":false,"price_micros":0,"input_schema":null},{"name":"grok_query","description":"Ask Grok (with live web search) a question; return answer + cited URLs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gsc_inspect_url","description":"Get index status for a specific URL via the URL Inspection API.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gsc_list_sites","description":"List all Search Console properties the authenticated user can access.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gsc_performance","description":"Query GSC search analytics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"gsc_submit_sitemap","description":"Submit (or resubmit) a sitemap URL to GSC.","write_action":true,"price_micros":0,"input_schema":null},{"name":"indexnow_submit_url","description":"Notify Bing, Yandex, Naver, Seznam, and Yep that a single URL was published or updated.","write_action":true,"price_micros":0,"input_schema":null},{"name":"indexnow_submit_urls","description":"Batch-notify search engines about up to 10,000 URLs (must share one host).","write_action":true,"price_micros":0,"input_schema":null},{"name":"internal_link_graph","description":"Audit a folder of HTML pages as a directed internal-link graph.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lint_schema_page","description":"Validate a page's JSON-LD against Google's structured-data requirements.","write_action":false,"price_micros":0,"input_schema":null},{"name":"lint_schema_site","description":"Run ``lint_schema_page`` over every HTML file in a folder.","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_llm_engines","description":"Return the LLM engines currently configured (have an API key).","write_action":false,"price_micros":0,"input_schema":null},{"name":"multi_llm_citation_check","description":"How often each configured LLM cites (or mentions) ``target_domain``.","write_action":false,"price_micros":0,"input_schema":null},{"name":"multi_llm_query","description":"Ask the same question to all (or selected) configured LLM engines in parallel.","write_action":false,"price_micros":0,"input_schema":null},{"name":"openai_query","description":"Ask ChatGPT (with web search) a question; return answer + cited URLs.","write_action":false,"price_micros":0,"input_schema":null},{"name":"perplexity_citation_check","description":"Citation share for ``target_domain`` across a Perplexity question batch.","write_action":false,"price_micros":0,"input_schema":null},{"name":"perplexity_query","description":"Ask Perplexity (Agent API + web search); return answer + cited URLs/domains.","write_action":false,"price_micros":0,"input_schema":null},{"name":"snapshot_gsc","description":"Run a GSC performance query and persist the rows as a snapshot.","write_action":true,"price_micros":0,"input_schema":null},{"name":"snapshot_llm_citations","description":"Run multi-LLM citation check and persist the per-question results.","write_action":true,"price_micros":0,"input_schema":null},{"name":"snapshot_serp_aio","description":"Run AIO citation check via SerpAPI and persist as ``serpapi_aio`` engine rows.","write_action":true,"price_micros":0,"input_schema":null},{"name":"suggest_internal_links","description":"Suggest top-K internal links to add to each page in a folder.","write_action":false,"price_micros":0,"input_schema":null},{"name":"trend_gsc","description":"Time-series of clicks/impressions/position from stored GSC snapshots.","write_action":false,"price_micros":0,"input_schema":null},{"name":"trend_init","description":"Create the local SQLite snapshot DB if it doesn't exist; return its path.","write_action":true,"price_micros":0,"input_schema":null},{"name":"trend_llm_citations","description":"Per-snapshot citation share for ``target_domain`` over time.","write_action":false,"price_micros":0,"input_schema":null},{"name":"trend_stats","description":"Inventory of what's stored: row counts, sites/domains, oldest/newest snapshots.","write_action":false,"price_micros":0,"input_schema":null},{"name":"validate_llms_txt","description":"Validate an ``llms.txt`` file (local path or URL) against the spec.","write_action":false,"price_micros":0,"input_schema":null},{"name":"yandex_crawl_issues","description":"Active Yandex site diagnostics (by severity) plus sample broken internal links.","write_action":false,"price_micros":0,"input_schema":null},{"name":"yandex_list_sites","description":"List sites in the token owner's Yandex Webmaster account.","write_action":false,"price_micros":0,"input_schema":null},{"name":"yandex_query_stats","description":"Top Yandex search queries: shows, clicks, average show/click position.","write_action":false,"price_micros":0,"input_schema":null},{"name":"yandex_site_summary","description":"Site quality index (SQI), pages in search, excluded pages, problem counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"yandex_submit_url","description":"Queue a URL for Yandex recrawl. Daily quota applies.","write_action":true,"price_micros":0,"input_schema":null},{"name":"yandex_url_info","description":"Indexing + search status for a URL in Yandex \"Monitoring important pages\".","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-10-24T16:16:47.660Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-24T16:16:47.604Z","components":{"code":{"score":25,"max":25,"notes":["44 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"geoseo-mcp","version":"0.4.0","found":true,"weeklyDownloads":107,"license":"MIT","dependencyCount":14,"publishedAt":"2026-10-23T13:33:37.184758Z","repositoryUrl":"https://github.com/Rachit8484/geoseo-mcp"}],"repo":{"found":true,"owner":"Rachit8484","repo":"geoseo-mcp","archived":false,"pushedAt":"2026-10-23T13:32:53Z","stars":3,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/30018996?v=4","ownerCreatedAt":"2017-07-09T09:56:16Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/30018996?v=4&s=128","source":"github"},"presence":{"stars":3,"forks":0,"downloadsWeek":107,"license":"MIT","lastPushAt":"2026-10-23T13:32:53.000Z","score":31}}}},"grade_history":[],"reviews":[]}