Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
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.
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.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
A wrapper skill that calls SerpAPIβs MCP server (Model Context Protocol) via the mcporter CLI.
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)
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
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
This skill requires mcporter installed on the host. Install: npm install -g mcporter Verify: mcporter --help
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.
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.
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)
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).
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 has per-cell size limits. The logger truncates JSON strings if needed: AIRTABLE_MAX_JSON_CHARS (default: 90000) AIRTABLE_MAX_SUMMARY_CHARS (default: 90000)
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.)
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.