serpapi-mcp

Run SerpAPI searches via SerpAPI's MCP server using mcporter. Use when the user asks to search the web with SerpAPI/SerpAPI MCP, wants SerpAPI inside Clawdbot, or to use the /serp command.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "serpapi-mcp" with this command: npx skills add merlintxu/serpapi-mcp

serpapi-mcp

A wrapper skill that calls SerpAPI’s MCP server (Model Context Protocol) via the mcporter CLI.

What this skill provides

  • Runs SerpAPI searches from OpenClaw via MCP (HTTP).
  • Returns the full SerpAPI JSON to stdout (the primary contract).
  • Optionally persists each query + response into Airtable:
    • raw JSON (full SerpAPI payload)
    • a structured “summary” (Top 10 organics, PAA/Related questions, videos, images, counts, flags)

/serp usage

Treat this skill as providing the /serp command.

Syntax:

  • /serp <query>
  • /serp <query> [engine] [num] [mode]

Defaults:

  • engine=google_light
  • num=5
  • mode=compact

Notes:

  • If you want SERP features such as People also ask (PAA), video packs, knowledge graph, etc., prefer:
    • engine=google
    • mode=complete

Examples:

  • /serp site:cnmv.es "educación financiera"
  • /serp "AAPL stock" google 3 compact
  • /serp "mortgage pay off vs invest" google 10 complete

How it works

Main script (prints JSON to stdout):

  • skills/serpapi-mcp/scripts/serp.sh "<query>" [engine] [num] [mode]

It calls this MCP tool endpoint:

  • https://mcp.serpapi.com/$SERPAPI_API_KEY/mcp.search

Optional Airtable logger:

  • skills/serpapi-mcp/scripts/airtable_log.mjs

Requirements

1) MCP client (mcporter)

This skill requires mcporter installed on the host.

Install:

  • npm install -g mcporter

Verify:

  • mcporter --help

2) SerpAPI key(s) + failover

You can configure either a single key or a failover pool:

  • Single key:
    • SERPAPI_API_KEY
  • Failover pool (comma-separated, tried in order):
    • SERPAPI_API_KEYS

Recommended placement (any of these is supported):

  • Skill-scoped:
    • skills.entries.serpapi-mcp.env.SERPAPI_API_KEY
    • skills.entries.serpapi-mcp.env.SERPAPI_API_KEYS
  • Global:
    • env.vars.SERPAPI_API_KEY
    • env.vars.SERPAPI_API_KEYS

Failover behavior:

  • The script retries with the next key on common quota / auth / rate-limit errors (e.g. 429/401/403, “quota exceeded”, “rate limit”).
  • For other errors (e.g. malformed request), it stops early and returns the error.

Optional: store searches/results in Airtable

Enable / disable

Enable logging:

  • SERP_LOG_AIRTABLE=1 (or true)

You can set this globally in the Gateway env (always on) or per-run when executing the script.

Airtable configuration (Gateway env)

Set these environment variables (do not store secrets in the repo/workspace):

  • AIRTABLE_TOKEN (Airtable Personal Access Token)
  • AIRTABLE_BASE_ID
  • AIRTABLE_TABLE (table name or table id)

Write behavior & compatibility

  • Airtable does not auto-create fields.
  • The logger is schema-aware:
    • It reads the table schema via Airtable Metadata API.
    • It only writes fields that already exist in your table (by name).
    • It coerces values to the Airtable field type when possible (checkbox/number/text/select/date).

Airtable table schema (recommended)

Field names must match exactly.

Core:

  • Query → Single line text
  • Engine → Single line text
  • Num → Number (integer)
  • Mode → Single line text
  • CreatedAt → Date/Time

Provenance:

  • SerpApiSearchId → Single line text
  • SerpApiJsonEndpoint → URL
  • GoogleUrl → URL

Raw payload:

  • ResultJson → Long text
  • ResultJsonTruncatedFlag → Checkbox
    • (Back-compat: the logger also supports ResultJsonTruncated if you prefer that name.)

Structured summary:

  • SummaryJson → Long text
  • SummaryJsonTruncated → Checkbox
  • OrganicTop10Json → Long text
  • RelatedQuestionsTop10Json → Long text
  • ShortVideosTop10Json → Long text
  • VideosTop10Json → Long text
  • ImagesTop10Json → Long text

Flags + counts:

  • HasAiOverview → Checkbox
  • HasAnswerBox → Checkbox
  • HasKnowledgeGraph → Checkbox
  • OrganicCount → Number (integer)
  • RelatedQuestionsCount → Number (integer)
  • ShortVideosCount → Number (integer)
  • VideosCount → Number (integer)
  • ImagesCount → Number (integer)

Airtable size limits

Airtable has per-cell size limits. The logger truncates JSON strings if needed:

  • AIRTABLE_MAX_JSON_CHARS (default: 90000)
  • AIRTABLE_MAX_SUMMARY_CHARS (default: 90000)

Output

Returns SerpAPI JSON. Depending on engine and what Google shows, the payload may include keys like:

  • organic_results
  • short_videos / videos_results
  • images_results
  • related_questions
  • knowledge_graph
  • answer_box / ai_overview
  • ads blocks (top_ads, bottom_ads, etc.)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

Love Companion - AI恋人陪伴技能包

全AI Agent通用恋人主题陪伴技能。当用户提及恋人、男/女朋友、情感陪伴、人设配置、角色扮演、情感对话,或使用本Skill的标准化触发指令时激活。提供多轮情感对话、用户自定义人设配置、长时记忆存储、情绪识别与反馈、预设人设模板套用、配置导入导出等完整恋人伴侣交互能力。即插即用,兼容所有主流AI Agent框架。

Registry SourceRecently Updated
Automation

N8N EVOL I

A harness to help coding agents build, deploy, maintain, and debug multi-workflow n8n-powered automation systems. No lock-in — work from the agent, continue...

Registry SourceRecently Updated
Automation

Bitbrawlers Agent

Billions decentralized identity for agents. Link agents to human identities using Billions ERC-8004 and Attestation Registries. Verify and generate authentic...

Registry SourceRecently Updated
Automation

Cross-Session Memory Config

配置 OpenClaw 跨会话记忆规则。首次使用或新装 OpenClaw 时运行,自动在 SOUL.md 和 AGENTS.md 中注入记忆共享规则,使群聊和私聊的长期记忆互通。触发词:'配置跨会话记忆'、'设置记忆共享'、'cross-session memory'、'setup memory sharing'。

Registry SourceRecently Updated