Skip to main content
Glama
CamMicGo SEO Agent

CamMicGo SEO Agent

Official
by CamMicGo

CamMicGo SEO MCP

Your Google data, your LinkedIn profile and five scientific sources, inside your AI assistant.

Free · Open source (MIT) · Remote MCP for Claude, ChatGPT and other clients · Local MCP for Windows, macOS and Linux

MIT License MCP Next.js Website

Website · Connect your assistant · Your account · Privacy · CamMicGo

                       


What it is

CamMicGo SEO MCP is a Model Context Protocol server. It lets your AI assistant work with your own accounts: Search Console, Google Analytics 4, YouTube and YouTube Analytics, Google Ads, Drive, Gmail, Calendar, LinkedIn publishing, and five scientific sources. Ask in plain language, for example "Which queries lost clicks this month?", "Where do my YouTube viewers come from?" or "Post this on my LinkedIn", and the assistant calls the right tool.

  • Read-only by default. Write permissions are optional boxes that you tick yourself.

  • Nothing is published, spent or trashed without your explicit yes. The assistant always shows the exact preview first.

  • Your own accounts, kept separate. Google calls use your own Google Cloud project. LinkedIn connects in one click with the shared CamMicGo app, or with your own LinkedIn app. Each connection only acts for its owner, and secrets are encrypted on the server and never shown to the assistant.

  • The website and every guide are available in 11 languages: English, French, Spanish, German, Portuguese, Italian, Russian, Chinese, Japanese, Korean and Arabic.

Related MCP server: Google Search Console MCP Server

Services

Service

What your assistant can do

Where

Search Console

Queries, pages, countries and devices for web, image, video, news, Discover and Google News, with regex filters and up to 25,000 rows. It can also show what changed between two periods, inspect URLs (index status, canonical, last crawl) and check sitemaps.

Remote + local

Google Analytics 4

Any dimensions and metrics, with filters, sorting and comparison with the previous period, plus realtime active users

Remote + local

YouTube Data API

Search, channels, videos, playlists and comments. Timestamped transcripts come through the CamMicGo apps. Optional, remote only: upload a video to your channel after your yes.

Remote + local

YouTube Analytics

Your channels: views, watch time, subscribers, top videos, traffic sources, the YouTube search terms that brought viewers, countries, devices, age and gender, and retention curves

Remote

LinkedIn

Posts on your own profile: text with an image, a video or a link. Connect in one click with the CamMicGo app, or bring your own LinkedIn app.

Remote

Google Ads

Accounts and performance reports. Campaigns are created paused, with a fixed total budget, after your confirmation.

Remote

Google Drive

List, search and read Docs, Sheets, Slides, PDF and text files. Optional: create folders and files, and move to the trash after your yes (never permanent deletion).

Remote

Gmail

Search and read your emails, read-only

Remote

Google Calendar

Calendars and events, read-only

Remote + local

OpenAlex

Open catalog of works, authors, institutions and citations; a researcher's complete list with BibTeX, RIS, CSV and Markdown exports

Remote + local

Semantic Scholar

AI-powered academic search, citations and references

Remote + local

arXiv

Preprints in physics, mathematics, computer science, statistics and more, with open full text

Remote + local

PubMed

Biomedical and life-science literature, with abstracts and links to free full text

Remote + local

HAL

French open archive: articles, theses and preprints, often with full text

Remote + local

Other Google services:

  • Docs, Sheets and Slides are readable through the Drive tools.

  • Tasks, Contacts, Classroom, Chat and Apps Script are available as OAuth permissions only, with no dedicated tools yet.

Get started: step-by-step guides

Every setup has a complete illustrated guide on the website.

You want to…

Guide

Connect Claude, ChatGPT or another remote MCP client

Connect your assistant

Create your own Google Cloud project (OAuth client, APIs to enable)

Google Cloud setup

Run the MCP on your own computer

Windows · macOS · Linux

Get YouTube transcripts with the remote MCP

Android app · Desktop relay

Publish on your LinkedIn profile

LinkedIn setup

Raise the scientific sources' limits with free keys

Scientific sources

Remote MCP in four steps

  1. In your assistant, add the custom connector https://seo.cammicgo.com/api/mcp (Streamable HTTP with OAuth).

  2. Sign in to CamMicGo with your email and authorize the assistant.

  3. On your account, save your Google Cloud OAuth client: Web application, with the redirect URI https://seo.cammicgo.com/api/auth/google/callback. Tick the APIs you want, then click Connect Google.

  4. Ask: "List my Search Console sites and my GA4 properties."

YouTube blocks cloud servers, so the remote MCP fetches transcripts through a device you pair: the Android app or the desktop relay for Windows, macOS and Linux. Ask your assistant for a pairing code. The local MCP doesn't need a paired device.

Local MCP in short

Requires Node.js 22+ and Git.

git clone https://github.com/CamMicGo/cammicgo-seo-agent.git
cd cammicgo-seo-agent
npm install
npm run install:local   # guided: Google Desktop OAuth client, sign-in, agent registration
npm run local:doctor    # checks credentials and tokens
  • OAuth client: the local MCP uses a Desktop app OAuth client from your own Google Cloud project. Tokens stay encrypted on your computer.

  • Register it in your assistant: npm run agent:setup -- claude (or gemini, cursor) adds the stdio server to Claude Desktop, Gemini CLI or Cursor.

  • More help: full guide on the website, with troubleshooting in docs/LOCAL-MCP-INSTALL.md.

cammicgo: terminal and local MCP for NotebookLM

npm link                # once, in the cloned folder: adds the "cammicgo" command
cammicgo login          # sign in to NotebookLM in a dedicated Chrome window
cammicgo setup vscode   # or claude, claude-code, cursor, windsurf, gemini, all
cammicgo notebook list

The full NotebookLM toolset of the Android app (notebooks, sources, Studio, chat, notes, research, collections, sharing, downloads), YouTube transcripts into notebooks, from the terminal or any MCP client, without the phone or the CamMicGo server. See docs/CAMMICGO-CLI.md.

LinkedIn: two ways to connect

  • Simple (one minute): on your account, click Connect LinkedIn and allow with your own LinkedIn account. You don't need a LinkedIn Page or a developer app.

  • Advanced, with your own LinkedIn app: create a developer app (LinkedIn requires a Page for it) and add the Share on LinkedIn and Sign In with LinkedIn using OpenID Connect products. Register the redirect URL https://seo.cammicgo.com/api/auth/linkedin/callback, then save the app's keys on your account. CamMicGo then uses your app instead of the shared one. Illustrated guide: seo.cammicgo.com/setup/linkedin.

  • Who can post where: each connection only lets the person who authorized it post on their own profile. The owner of the shared app cannot post on your profile, and nobody can post on a company Page through CamMicGo.

  • Local MCP: LinkedIn publishing is part of the remote MCP, because after sign-in LinkedIn sends you back to a CamMicGo web address. Add the remote connector next to your local one to publish on LinkedIn.

  • Reuse the style of your previous posts: LinkedIn doesn't let apps read your past posts. Paste one or more of them into the conversation and ask for a new one in the same format. For your whole history, use LinkedIn's Get a copy of your data (Settings & Privacy › Data privacy): its Shares.csv file lists all your posts. Attach it to the conversation or put it in your Google Drive.

  • Self-hosting: set LINKEDIN_CLIENT_ID and LINKEDIN_CLIENT_SECRET to offer a shared app. Otherwise, an administrator can share the app saved in their own account (account page, LinkedIn section).

1. Advanced: your LinkedIn app, Auth tab

2. Advanced: your CamMicGo account, keys pasted

3. After Connect LinkedIn

Full walkthrough: seo.cammicgo.com/setup/linkedin

Tools

Remote MCP: https://seo.cammicgo.com/api/mcp

Area

Tools

Account

service_info, list_google_properties

Search Console

search_console_report, search_console_changes, search_console_inspect_url, search_console_sitemaps

Google Analytics 4

ga4_report, ga4_realtime

YouTube

youtube_search_videos, youtube_video_details, youtube_channel, youtube_find_channels, youtube_video_comments, youtube_upload_video ✎

YouTube Analytics

youtube_channel_stats, youtube_top_videos, youtube_audience, youtube_video_retention

Transcripts (paired device)

youtube_get_transcript, youtube_channel_batch, youtube_batch_status, youtube_transcript_status, device_pairing_code, device_revoke

LinkedIn

linkedin_post ✎

Google Ads

ads_accounts, ads_report, ads_create_paused_campaign ✎

Google Drive

drive_list_files, drive_search_files, drive_read_file, drive_storage_quota, drive_create_folder ✎, drive_upload_file ✎, drive_trash_file ✎, drive_restore_file ✎

Gmail

gmail_search, gmail_read

Google Calendar

calendar_list, calendar_events

Scientific sources

science_search, science_latest, science_paper, science_author, science_author_works, science_citations, science_fulltext, science_verify_references, science_sources

Google API catalog

search_apis, describe_operation, read_operation: read-only operations of Calendar, YouTube, YouTube Analytics, Search Console and Gmail

✎ marks a tool that writes something. These tools always work in two steps: an exact preview first, then your explicit yes.

Local MCP (stdio, read-only)

The local server has these tools:

  • Account and properties: service_info, find_google_properties

  • Search Console: list_search_sites, search_performance, seo_keyword_opportunities

  • Google Analytics 4: list_ga4_properties, ga4_top_pages, ga4_countries

  • YouTube: youtube_my_channels, youtube_my_videos, youtube_video_metrics, youtube_get_transcript (the local server fetches transcripts itself)

  • Google Calendar: calendar_list, calendar_upcoming_events

  • Scientific sources: the same nine science_* tools as the remote server

  • NotebookLM (after cammicgo login): the same 51 NotebookLM tools as the remote server, executed directly on the computer — see docs/CAMMICGO-CLI.md

Bing Webmaster Tools

Each user saves their own Bing Webmaster Tools API key at /account (Bing Webmaster Tools › Settings › API access › API Key). The key is encrypted with AES-256-GCM in cmg_bing_keys, shown back only as a hint, and never returned to the AI assistant.

Tools: bing_sites, bing_search_performance, bing_queries, bing_pages, bing_crawl, bing_sitemaps, bing_url_info, bing_inbound_links, bing_keyword_research (read-only) and bing_submit_urls, bing_submit_sitemap (URLs of the user's own site only, within Bing's daily quota).

Safety: nothing happens without your yes

  • Two steps for every write. LinkedIn posts, YouTube uploads, Drive trash and Google Ads campaigns all work the same way. The first call returns the exact preview and a confirmation token, bound to your account and to the exact content (including the bytes of an attached file). The token can be used from 10 seconds to 15 minutes after the preview. Only your explicit yes, in a new message, carries out the action. One confirmation publishes once, even if the assistant retries.

  • Google Ads: campaigns are always created paused, with a total budget that is never exceeded. You enable them yourself in Google Ads.

  • Google Drive: files are moved to the trash only, never deleted permanently, and drive_restore_file undoes it.

  • Secrets stay on the server. Google and LinkedIn client secrets, API keys and tokens are encrypted on the server (AES-256-GCM). They are never returned to the browser or to the assistant.

  • No access to arbitrary files. The assistant cannot read files on the server or on your computer. Files come only from your Drive, a public https link or the conversation.

Quotas

Limit

Value

CamMicGo allowance per account

100 counted tool calls per day and 10 per minute; status tools are free

Google APIs

The quotas of your own Google Cloud project. For example, the YouTube Data API allows 10,000 units per day by default, and video uploads have their own bucket.

LinkedIn

150 requests per member per day. Access lasts 60 days, then you reconnect with one click.

Scientific sources

They work without keys. Free personal keys for OpenAlex, Semantic Scholar and NCBI give you higher limits (guide).

Privacy

See the privacy page.

Development

npm install
cp .env.example .env.local   # fill in your own values, never commit them
npm run dev                  # http://localhost:3000
npm test                     # unit tests
npm run lint
npm run build
npm run test:mcp:local       # local MCP protocol smoke test (no Google call)

Stack: Next.js 15 (App Router), mcp-handler, zod, Supabase (sign-in and encrypted storage) and Vercel. Pushes to main deploy to production.

Path

Contents

app/api/mcp/route.ts

Remote MCP server and its tools

scripts/local-mcp.mjs

Local stdio MCP server

lib/

Unit-tested helpers (Search Console, GA4, YouTube Analytics, Drive, Google Ads, LinkedIn, science…)

app/setup/, app/download/

The step-by-step guides of the website

desktop/relay.mjs

Desktop transcript relay (Windows, macOS, Linux)

android-kamiko/

Android transcript app

supabase/migrations/

Database schema (all private tables, service role only)

Main environment variables:

  • Google and sessions: APP_BASE_URL, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, SESSION_ENCRYPTION_KEY

  • Supabase: SUPABASE_URL, SUPABASE_SECRET_KEY, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY, ENABLE_SUPABASE_MCP_AUTH

  • Optional science keys: OPENALEX_API_KEY, SEMANTIC_SCHOLAR_API_KEY, NCBI_API_KEY

  • Optional shared LinkedIn app: LINKEDIN_CLIENT_ID, LINKEDIN_CLIENT_SECRET

  • Allowance overrides: MCP_DAILY_LIMIT, MCP_MINUTE_LIMIT, MCP_MINUTE_TOTAL_LIMIT, MCP_GLOBAL_DAILY_LIMIT, MCP_ADMIN_DAILY_LIMIT

More documentation

License and notices

The original code is published under the MIT license. Third-party dependencies keep their own licenses. The country map uses react-svg-worldmap (MIT). Country photos come from Wikimedia Commons and are credited in the app (for example, Japan: SRP1998, CC BY-SA 4.0).

Google, YouTube, Google Ads, LinkedIn, OpenAlex, Semantic Scholar, arXiv, PubMed and HAL are trademarks of their respective owners. Their names and logos only identify the services this project connects to. CamMicGo is not affiliated with or endorsed by them.

Made by CamMicGo: free webcam, microphone, headphone and device tests.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      C
      maintenance
      Provides AI agents with hands-on control of Google SEO and analytics tools including Search Console, GA4, Tag Manager, Indexing API, and PageSpeed Insights, with self-configuring OAuth2.
      33
      14 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Connects AI assistants to Google Search Console data for SEO analysis, including search analytics, URL inspection, sitemaps, indexing, and opportunity detection.
      17
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Connects Google Search Console to AI assistants, enabling natural language analysis of SEO data. Provides read-only tools for properties, search analytics, URL inspection, and sitemaps.
      15
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to analyze Google Search Console SEO data through natural language, including search analytics, URL inspection, sitemap management, and property management.
      21
      MIT