MCP server for searching web content from news portals and Wikipedia using Serper API
Single tool with moderate quality but significant gaps. The tool 'get_docs' has a reasonably clear name starting with a verb and adequate parameter documentation. However, the output schema is completely undocumented (no return type specification), parameter descriptions lack constraints and format guidance, and no error handling paths are documented. The description is adequate at ~110 characters but lacks actionable detail about what clients should expect from the response. The tool accepts free-form strings for 'library' when it should use an enum constraint (detik|liputan6|cnn|wikipedia). There is no documentation of output structure, no pagination guidance despite fetching web content, and no guidance on error recovery.
Search the latest content from news portals and Wikipedia. Supports detik, liputan6, cnn indonesia, and wikipedia.
Output schema completely undocumented. Function returns text blob with no type definition, field structure, or size guidance. LLMs cannot plan downstream operations or extract structured data.
'library' parameter accepts free-form string instead of constrained enum. Should be enum: ['detik', 'liputan6', 'cnn', 'wikipedia']. Current design invites hallucinated invalid portal names.
Parameter descriptions lack format/constraint guidance. 'query' has no guidance on minimum length, language, or character restrictions. 'library' description lists examples but does not declare enum constraint formally.
No error handling documentation. Tool raises ValueError for unsupported portal and returns 'No results found' as string, but tool description does not explain these failure modes or how agents should respond. Callers cannot distinguish success from failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 61 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 43 | - | v1 |
Response token overhead not controlled. Tool fetches multiple web pages and concatenates all text into single response without pagination, limits, or structured fields. Large responses will exhaust context window.
Tool description mentions 'Returns: Text from the portal' but does not document return type, structure, encoding, or typical size. Incomplete docstring forces LLM to guess.
No timeout or rate-limit documentation in description. Code contains 30-second timeouts and external API calls, but agents have no visibility into these constraints and cannot plan for failures.
Dependency on external SERPER_API_KEY not documented in tool description. Agents cannot infer that this tool requires backend configuration and will fail silently if key is missing.