{"id":"linuxserver-yq","name":"yq","homepage":"https://hub.docker.com/r/linuxserver/yq","repo_url":"https://hub.docker.com/r/linuxserver/yq","category":"devtools","subcategories":[],"tags":["cli","yaml","configuration","data-transformation","scripting","devtools"],"what_it_does":"yq is a command-line utility for querying and transforming YAML (and related data) using a jq-like syntax. It can read from files or stdin and output transformed YAML/JSON.","use_cases":["Convert and restructure YAML configuration files","Extract specific fields from YAML","Apply transformations across multiple YAML documents","Generate derived YAML/JSON for deployment/config pipelines","Validate or normalize YAML by rewriting it in a consistent structure"],"not_for":["Complex API-driven workflows requiring network calls","Cases where you need an always-on service with authentication/rate limits","Binary or non-text formats (unless wrapped/consolidated into YAML first)"],"best_when":"You already work with YAML in shell scripts/CI and want jq-like transformations without writing a full program.","avoid_when":"You require interactive UIs, long-running services, or a hosted API interface.","alternatives":["jq (for JSON)","python/yaml or ruamel.yaml scripting","dasel (YAML/JSON/TOML query tool)","go-yq (other yq implementations)","yq-go / yq variants depending on ecosystem"],"af_score":53.2,"security_score":84.5,"reliability_score":32.5,"package_type":"mcp_server","discovery_source":["docker_mcp"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T19:34:30.035061+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":false,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":[],"oauth":false,"scopes":false,"notes":"No network authentication; operates locally on provided input (files/stdin)."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Typically open-source CLI; no usage-based pricing."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":53.2,"security_score":84.5,"reliability_score":32.5,"mcp_server_quality":0.0,"documentation_accuracy":50.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":100.0,"rate_limit_clarity":0.0,"tls_enforcement":100.0,"auth_strength":100.0,"scope_granularity":100.0,"dependency_hygiene":50.0,"secret_handling":60.0,"security_notes":"No TLS/auth involved because it is a local CLI. Main security considerations are safe handling of sensitive YAML content passed via files/stdin (avoid logging secrets) and ensuring the yq package dependencies are kept up to date to mitigate CVEs.","uptime_documented":0.0,"version_stability":60.0,"breaking_changes_history":40.0,"error_recovery":30.0,"idempotency_support":"true","idempotency_notes":"Transformations are typically deterministic given the same inputs and yq expression; treat as idempotent when writing outputs deterministically to files.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["YAML quoting/escaping issues in shell contexts (especially expressions and paths)","Handling of null/missing fields can yield different outputs vs jq-like expectations","Differences between yq variants/major versions (syntax/flags may not be identical)","Large YAML files can be memory-intensive depending on implementation"]}}