Skip to content

Conversation

@marcusquinn
Copy link
Owner

@marcusquinn marcusquinn commented Jan 25, 2026

Summary

  • Remove serper MCP server from aidevops - replaced by curl-based subagent
  • The .agent/seo/serper.md subagent provides the same functionality using direct curl API calls
  • No MCP server overhead, simpler setup, same capabilities

Changes

  • generate-opencode-agents.sh: Remove code that was re-adding serper MCP
  • setup-mcp-integrations.sh: Remove serper from MCP list and install function
  • Keep serper in setup.sh deprecated list so existing configs get cleaned up

Migration

Users with existing serper MCP configs will have them removed on next ./setup.sh run. The serper subagent (.agent/seo/serper.md) provides equivalent functionality via curl.

Summary by CodeRabbit

  • Chores
    • Removed Serper integration from agent configurations and MCP server setup. Serper search tools and functionality are no longer available for use.

✏️ Tip: You can customize this high-level summary in your review settings.

Serper functionality is now provided by .agent/seo/serper.md which uses
curl directly - no MCP server overhead, same API functionality.

- Remove serper from generate-opencode-agents.sh (was re-adding it)
- Remove serper from setup-mcp-integrations.sh MCP list
- Keep serper in setup.sh deprecated list for cleanup of existing configs
@gemini-code-assist
Copy link

Summary of Changes

Hello @marcusquinn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refactors the integration of Serper search capabilities by replacing the existing Serper Micro-Controller Platform (MCP) server with a more lightweight, curl-based subagent. This change aims to simplify the system's architecture and reduce operational overhead while preserving full functionality for Google Search API interactions.

Highlights

  • Serper MCP Removal: The dedicated Serper Micro-Controller Platform (MCP) server integration has been completely removed from the system.
  • Curl-based Subagent Implementation: Serper functionality is now handled by a new .agent/seo/serper.md subagent, which utilizes direct curl API calls for Google Search interactions.
  • Simplified Setup and Reduced Overhead: This refactoring eliminates the need for a separate MCP server, resulting in a simpler setup and reduced operational overhead while maintaining equivalent capabilities.
  • Automatic Configuration Cleanup: Existing Serper MCP configurations will be automatically detected and removed upon the next execution of the ./setup.sh script.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 25, 2026

Walkthrough

These changes remove Serper MCP integration from the DevOps framework by eliminating Serper tool definitions from agent configuration, removing MCP server setup code, and updating configuration lists to exclude Serper across shell script infrastructure.

Changes

Cohort / File(s) Summary
Serper MCP Removal
.agent/scripts/generate-opencode-agents.sh, .agent/scripts/setup-mcp-integrations.sh
Removes Serper tool mappings from SEO agent configuration, deletes serper_* tool grants, eliminates Serper case branches from subagent generation logic, removes Serper MCP server entry creation, updates MCP_LIST variable to exclude Serper, and removes Serper installation/configuration block from install_mcp function. Changes are cleanly marked with removal comments for audit trail.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Poem

🔧 Serper's search strings fade away,
MCP lists get trimmed today,
Case branches cleaned with surgical care,
Zero debt maintained everywhere! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: removing serper MCP infrastructure and replacing it with a curl-based subagent approach.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the Serper integration by removing the MCP server and replacing it with a curl-based subagent. The changes are clean and effectively remove the now-unnecessary code from generate-opencode-agents.sh and setup-mcp-integrations.sh. This simplification reduces overhead and complexity, which is a great improvement. I've added a couple of suggestions to improve code maintainability in the shell script.


# Available integrations list
MCP_LIST="chrome-devtools playwright cloudflare-browser ahrefs perplexity nextjs-devtools google-search-console pagespeed-insights grep-vercel claude-code-mcp stagehand stagehand-python stagehand-both dataforseo serper"
MCP_LIST="chrome-devtools playwright cloudflare-browser ahrefs perplexity nextjs-devtools google-search-console pagespeed-insights grep-vercel claude-code-mcp stagehand stagehand-python stagehand-both dataforseo"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For better readability and maintainability, consider defining MCP_LIST as a bash array instead of a long, space-separated string. This makes it easier to add, remove, or view items in the list.

You would need to update how this variable is used in loops and for printing, for example, by iterating with for mcp in "${MCP_LIST[@]}" and printing with echo "${MCP_LIST[*]}".

Suggested change
MCP_LIST="chrome-devtools playwright cloudflare-browser ahrefs perplexity nextjs-devtools google-search-console pagespeed-insights grep-vercel claude-code-mcp stagehand stagehand-python stagehand-both dataforseo"
MCP_LIST=(
"chrome-devtools"
"playwright"
"cloudflare-browser"
"ahrefs"
"perplexity"
"nextjs-devtools"
"google-search-console"
"pagespeed-insights"
"grep-vercel"
"claude-code-mcp"
"stagehand"
"stagehand-python"
"stagehand-both"
"dataforseo"
)

print_info "Alternative: pip install serper-mcp-server"
fi
;;
# "serper" - REMOVED: Uses curl subagent (.agent/seo/serper.md), no MCP needed

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There appears to be a stray double quote at the beginning of this comment. For consistency and clarity, it should be removed.

Suggested change
# "serper" - REMOVED: Uses curl subagent (.agent/seo/serper.md), no MCP needed
# serper - REMOVED: Uses curl subagent (.agent/seo/serper.md), no MCP needed

@github-actions
Copy link

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 447 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Sun Jan 25 00:13:05 UTC 2026: Code review monitoring started
Sun Jan 25 00:13:06 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 447
Sun Jan 25 00:13:06 UTC 2026: Qlty - 0 issues found, auto-formatting applied
Sun Jan 25 00:13:08 UTC 2026: Codacy analysis completed with auto-fixes

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 447
  • VULNERABILITIES: 0

Generated on: Sun Jan 25 00:14:29 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.agent/scripts/setup-mcp-integrations.sh (1)

316-318: Fix malformed JSON in chrome-devtools.json heredoc.

The return 0 and } statements at lines 317-318 are embedded inside the heredoc that generates chrome-devtools.json (EOF delimiter at line 319). These will be written as literal text into the config file, creating invalid JSON and breaking any tool that attempts to parse it. Move these statements outside and after the heredoc block (after line 319) to properly close the create_config_templates() function.

🧹 Nitpick comments (1)
.agent/scripts/generate-opencode-agents.sh (1)

646-647: Consider removing the commented case entry entirely.

The empty comment # serper - REMOVED: Uses curl subagent now, no MCP tools sits between active case branches. While informative, leaving commented-out case entries can accumulate over time. Since the migration is documented at lines 537-538, this entry is redundant.

♻️ Suggested cleanup
         dataforseo)
             extra_tools=$'  dataforseo_*: true\n  webfetch: true'
             ;;
-        # serper - REMOVED: Uses curl subagent now, no MCP tools
         playwriter)
             extra_tools=$'  playwriter_*: true'
             ;;

@marcusquinn marcusquinn merged commit 0f4c1fe into main Jan 25, 2026
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant