MCP server for browsing meupc.net — Brazilian PC building platform with price comparison
mcp-meupc is a STDIO-only server with 6 well-defined read-only tools targeting the Brazilian PC component marketplace (meupc.net). Tool naming follows verb_noun conventions consistently (search_*, list_*, get_*). All tools have descriptions (mean ~110 chars, within baseline 34-392 range). Input schemas use Zod with type definitions and parameter descriptions present. However, output schemas are NOT documented, responses are plain text only, lacking structured field documentation that LLMs need for downstream reasoning. Parameter descriptions are functional but generic (e.g., 'Número da página' vs actionable constraints). No error handling guidance, no pagination documentation in tool descriptions despite accepting page params, and no mention of result limits or API rate considerations. The server is architecturally sound for read-only web scraping but falls short of production-grade tooling patterns in schema completeness, error recovery, and composition clarity.
Detalhes de uma build específica: lista completa de componentes, preços, compatibilidade e consumo estimado
Detalhes completos de um componente: especificações técnicas, preços por loja (PIX e normal), menor preço
Ofertas atuais com desconto no meupc.net, com preço atual e menor preço em 90 dias
Builds de PC compartilhadas pela comunidade do meupc.net, com título, preço e componentes
Lista componentes por categoria com paginação (processadores, placas-video, placas-mae, memorias, armazenamentos, gabinetes, fontes, monitores)
Busca componentes de PC por texto no meupc.net (processadores, placas de vídeo, memórias, etc.)
Output schemas completely undocumented. All 6 tools return text-only responses with no field structure documentation. LLMs cannot parse responses reliably or plan downstream calls without knowing return field types and names.
No error handling or recovery guidance. Tools that fetch remote HTML (scraper.ts) have timeout handling (15s) but return errors as raw HTTP status strings (e.g., 'HTTP 404: Not Found, https://...'). No actionable guidance for LLMs on retryability, alternatives, or next steps.
Pagination incomplete. list_components, get_deals, and list_community_builds accept a 'page' parameter but tool descriptions do not mention result limits, total count, or how to detect end-of-results. LLMs cannot reason about pagination boundaries.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 66 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Parameter descriptions lack actionable constraints. 'Número máximo de resultados' (max results) has no documented limit (e.g., 1-100), inviting LLMs to pass values that might break the scraper. Similarly, sort parameter has no validation or constraint guidance.
get_component_details and get_build_details accept 'url' and 'build_id' parameters respectively but provide no guidance on format validation, error handling for malformed inputs, or how the tool resolves partial/invalid identifiers.
Responses are plain-text HTML-parsed blobs. No structured JSON objects returned. This violates the response-shaper pattern and forces LLMs to re-parse HTML-like text from tool responses, risking parsing errors and wasted token overhead.