MCP server for Test Serper MCP API with authentication and HTTP 402 payment protocol support
This server has 3 tools with variable quality. All tools have names starting with action verbs (google_search, google_news_search, google_images_search) which is positive. However, descriptions are present but generic, and while input schemas are visible with type definitions, parameter descriptions are uneven in quality. The schema is partially structured but lacks output documentation. Security concerns exist around API key handling. Overall, this is a mediocre server that falls into the 'fair' category with significant gaps in documentation and error handling.
Search Google Images
Search Google News with filtering options
Perform Google search with advanced filtering and location options
Output schemas not documented. No tool description specifies what fields are returned or what structure users should expect. This forces LLMs to guess at response shape and prevents them from planning downstream operations effectively.
API key exposed as environment variable SERPER_API_KEY without mention in code. Tool descriptions don't state whether authentication is required server-side. No indication that API key is injected server-side vs. passed by user. This violates secret-injection pattern if user must provide it.
Tool descriptions contain example values (e.g., 'artificial intelligence', 'python programming') inline. Should use formal constraints (enums, patterns) instead.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
No error handling guidance in descriptions. Tools do not explain what happens on network failure, invalid input, rate limiting, or missing credentials. Error responses will not guide LLM recovery.
Parameter 'type' in google_search is vague. Description says 'Search type (search, news, images, places, etc.)' but should be an enum constraint: ["search", "news", "images", "places"]. Free-form string invites hallucinated values.
Pagination not implemented. Tools accept 'page' and 'num' but no guidance on total results, next_cursor, or result limits. Large result sets could blow context window with no way to navigate.
Incomplete @require_payment_for_tool decorator in google_search. The description parameter is cut off mid-string ('...with advanced filtering and '). This is a syntax error in the code.