{"id":"skernelx-mysearch-proxy","name":"MySearch-Proxy","homepage":null,"repo_url":"https://github.com/skernelx/MySearch-Proxy","category":"ai-ml","subcategories":[],"tags":["ai-search","mcp","model-context-protocol","search-proxy","firecrawl","tavily","exa","x-social","openclaw","codex","claude-code","python","docker"],"what_it_does":"MySearch-Proxy is a unified search backend for AI agents, bundling an MCP server and skills plus a deployable proxy/console. It routes queries to upstream providers (Tavily, Firecrawl, Exa, optional X/Social), manages provider health and auth errors, provides token/key/quotas syncing via the proxy layer, and offers MCP tools (search, extract_url, research, mysearch_health) accessible over stdio/HTTP/SSE.","use_cases":["Single unified search tool for Codex/Claude Code/OpenClaw and other agents via MCP/skills","Team deployment to share a common search backend and centrally manage upstream provider keys/tokens/quotas","Domain-aware document/web search using provider-specific routing and fallback behavior (e.g., Firecrawl domain-first then Tavily)","Extracting and researching URLs (search + fetch/body extraction) with health/status visibility","Compatibility endpoint for social/search (/social/search) and X/Social fallbacks"],"not_for":["Use as a general-purpose crawler without respecting provider terms and auth","Environments requiring formally verified security/compliance guarantees without further audit","Applications needing an OpenAPI/REST contract or SDKs specifically documented for third-party developers (not clearly provided in supplied README)"],"best_when":"You want to plug an MCP-based search capability into AI tooling while centralizing provider configuration/health checks behind a proxy service.","avoid_when":"You cannot tolerate dependency on multiple third-party search providers (Tavily/Firecrawl/Exa/X/Social) or you require strict guarantees about data residency/compliance, which are not described here.","alternatives":["Directly integrate each provider (Tavily/Firecrawl/Exa) in your own agent","Use a different MCP-based search gateway (community-built)","Build a lightweight proxy around provider APIs with your own routing/fallback logic"],"af_score":61.5,"security_score":56.2,"reliability_score":35.0,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:47:54.061198+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["API key (MYSEARCH_PROXY_API_KEY / MYSEARCH_* env vars)","Admin password for proxy console (ADMIN_PASSWORD env var)","Upstream provider keys configured in proxy"],"oauth":false,"scopes":false,"notes":"Authentication model appears to be proxy console/admin password plus API keys for client access (and upstream provider keys managed/validated by the proxy). No OAuth/scopes are described in the provided README."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Pricing for this project itself is not described; it functions as a gateway that consumes upstream provider APIs (Tavily/Firecrawl/Exa/etc.), which will drive costs."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":61.5,"security_score":56.2,"reliability_score":35.0,"mcp_server_quality":80.0,"documentation_accuracy":65.0,"error_message_quality":null,"error_message_notes":"README highlights health/routing self-protection for invalid upstream keys (auth_error) rather than only 'available_keys'. Detailed MCP error schema and retryable vs non-retryable guidance are not provided in the excerpt.","auth_complexity":55.0,"rate_limit_clarity":30.0,"tls_enforcement":70.0,"auth_strength":70.0,"scope_granularity":30.0,"dependency_hygiene":45.0,"secret_handling":60.0,"security_notes":"Strengths: proxy introduces an admin password concept and surfaces upstream auth failures via health checks (auth_error/live_status/live_error), which can reduce accidental use with invalid credentials. Concerns/unknowns: TLS enforcement, least-privilege scopes, and secret-handling guarantees (e.g., avoiding logging secrets) are not explicitly documented in the provided README. Scope granularity is likely coarse because the README focuses on API keys/tokens and upstream key pools rather than fine-grained scopes.","uptime_documented":10.0,"version_stability":40.0,"breaking_changes_history":20.0,"error_recovery":70.0,"idempotency_support":"false","idempotency_notes":"Search/extract operations are typically read-only, but idempotency guarantees and any server-side deduplication semantics beyond TTL caching are not explicitly stated.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Caching is TTL-based and in-process; single CLI invocations may not benefit across processes (explicitly noted).","If upstream provider auth fails, routing behavior changes: routes/docs/resource skip providers marked with auth_error.","Firecrawl 'site:' empty-results triggers fallback logic; agents expecting strictly site-filtered results may see broader follow-up retrieval."]}}