{"id":"yasu89-switch-bot-mcp-server","name":"switch-bot-mcp-server","homepage":null,"repo_url":"https://github.com/yasu89/switch-bot-mcp-server","category":"automation","subcategories":[],"tags":["mcp","switchbot","iot","automation","home-automation","go"],"what_it_does":"Provides an MCP (Model Context Protocol) server that lets an agent retrieve SwitchBot device lists and statuses and execute commands on SwitchBot devices using SwitchBotAPI credentials.","use_cases":["Interactively control SwitchBot devices through an MCP-capable client (e.g., Claude Desktop)","Query device status and then conditionally execute actions","Batch/sequence operations across multiple SwitchBot devices"],"not_for":["Highly sensitive environments requiring fine-grained authorization controls per action/user","Use cases needing a public REST/GraphQL API surface for direct programmatic access outside MCP clients","Workflows requiring guaranteed idempotency semantics for device control operations"],"best_when":"You want an MCP-integrated automation agent to manage SwitchBot devices (read status, then execute device commands) using a single set of SwitchBotAPI credentials.","avoid_when":"You cannot safely store/manage API tokens/secrets (SWITCH_BOT_TOKEN, SWITCH_BOT_SECRET) or you need strict auditability and per-scope authorization beyond what the MCP server offers.","alternatives":["Use SwitchBotAPI directly with your own application logic","Use existing home automation platforms/integrations that support SwitchBot (e.g., Home Assistant integrations)","Implement your own MCP server wrapper around SwitchBotAPI"],"af_score":50.0,"security_score":51.8,"reliability_score":23.8,"package_type":"mcp_server","discovery_source":["github"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T19:37:31.042326+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":["SwitchBotAPI token + secret via environment variables"],"oauth":false,"scopes":false,"notes":"Authentication is done by providing SWITCH_BOT_TOKEN and SWITCH_BOT_SECRET (per README). No OAuth or scope model is described at the MCP layer 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":"No pricing information provided in the README."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":50.0,"security_score":51.8,"reliability_score":23.8,"mcp_server_quality":65.0,"documentation_accuracy":55.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":75.0,"rate_limit_clarity":10.0,"tls_enforcement":70.0,"auth_strength":60.0,"scope_granularity":20.0,"dependency_hygiene":45.0,"secret_handling":60.0,"security_notes":"Uses environment variables for SwitchBotAPI credentials (better than embedding secrets in code). The README does not describe transport security details, scope granularity, or how errors/logging handle secrets. MCP server likely bridges powerful device-control actions; without per-tool/user scoping, an agent with access to the server can execute commands broadly.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":35.0,"error_recovery":25.0,"idempotency_support":"false","idempotency_notes":"No idempotency guarantees or guidance described for command execution tools; device commands may be non-idempotent (e.g., toggles).","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Command execution tools may produce side effects that are not idempotent (be careful with retries).","Rate limiting/backoff behavior is not described in the README.","The server requires correct SwitchBotAPI credentials; failures will likely occur when tokens are missing/invalid."]}}