{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ops-mcp-server",
    "name": "ops-mcp-server",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/shaowenchen/ops-mcp-server",
    "canonicalUrl": "https://clawhub.ai/shaowenchen/ops-mcp-server",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ops-mcp-server",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ops-mcp-server",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "_meta.json",
      "examples/README.md",
      "examples/events.md",
      "examples/logs.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ops-mcp-server"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/ops-mcp-server",
    "agentPageUrl": "https://openagent3.xyz/skills/ops-mcp-server/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ops-mcp-server/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ops-mcp-server/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Ops MCP Server Skill",
        "body": "Access your infrastructure's observability data and execute operational procedures through a unified MCP interface."
      },
      {
        "title": "Capabilities at a Glance",
        "body": "ModuleToolsWhat it answersEvents (Kubernetes)list-events-from-ops, get-events-from-opsWhat happened to a pod/deployment/node?Metrics (Prometheus)list-metrics-from-prometheus, query-metrics-from-prometheus, query-metrics-range-from-prometheusIs CPU/memory/traffic normal? What changed over time?Logs (Elasticsearch)list-log-indices-from-elasticsearch, search-logs-from-elasticsearch, query-logs-from-elasticsearchWhat errors are in the logs? What did service X log?Traces (Jaeger)get-services-from-jaeger, get-operations-from-jaeger, find-traces-from-jaeger, get-trace-from-jaegerWhy is this request slow? Where did it fail?SOPSlist-sops-from-ops, list-sops-parameters-from-ops, execute-sops-from-opsRun a standard operational procedure"
      },
      {
        "title": "Setup (first-time)",
        "body": "# 1. Use mcporter with npx (no installation needed)\n# Or install globally: npm i -g mcporter\n\n# 2. Register the server\ncd ~/.openclaw/workspace\nnpx mcporter config add ops-mcp-server --url http://localhost/mcp\n\n# 3. Authenticate (if needed)\nnpx mcporter auth ops-mcp-server\n# On failure, add to ~/.openclaw/workspace/config/mcporter.json:\n# \"headers\": { \"Authorization\": \"Bearer YOUR_TOKEN\" }\n\n# 4. Verify\nnpx mcporter list ops-mcp-server\nnpx mcporter call ops-mcp-server list-events-from-ops page_size=5\n\n# 5. Set env var\nexport OPS_MCP_SERVER_URL=\"http://localhost/mcp\""
      },
      {
        "title": "How to Investigate: Decision Guide",
        "body": "When a user describes a problem, use this guide to choose starting tools and build a complete picture."
      },
      {
        "title": "🔴 \"Something is broken / service is down\"",
        "body": "Kubernetes Events first — check if pods crashed, restarted, or got evicted\nget-events-from-ops  subject_pattern=\"ops.clusters.*.namespaces.<ns>.pods.*.events\"\n\n\nLogs — search for errors around the time of the incident\nquery-logs-from-elasticsearch  query=\"FROM logs-* | WHERE @timestamp > NOW() - 30 minutes | WHERE level == 'error' | LIMIT 50\"\n\n\nTraces — find failed or slow requests\nfind-traces-from-jaeger  serviceName=<service>  tags={\"error\":\"true\"}"
      },
      {
        "title": "🟡 \"Performance is degraded / requests are slow\"",
        "body": "Metrics — check resource saturation\nquery-metrics-from-prometheus  query=\"100 - (avg(rate(node_cpu_seconds_total{mode='idle'}[5m])) * 100)\"\nquery-metrics-range-from-prometheus  query=\"node_memory_MemAvailable_bytes\"  time_range=\"1h\"  step=\"1m\"\n\n\nTraces — find slow spans\nfind-traces-from-jaeger  serviceName=<service>  durationMin=1000\n\n\nLogs — look for timeouts or slow query warnings"
      },
      {
        "title": "🔵 \"I need to run a procedure / restart something\"",
        "body": "List available SOPs\nlist-sops-from-ops\n\n\nGet parameters\nlist-sops-parameters-from-ops  sops_id=<id>\n\n\nExecute\nexecute-sops-from-ops  sops_id=<id>  parameters='{...}'"
      },
      {
        "title": "🟢 \"General health check / nothing specific\"",
        "body": "Start with events + a key metrics query, then go deeper based on what you find."
      },
      {
        "title": "Events — NATS subject pattern format",
        "body": "# Namespace resources\nops.clusters.{cluster}.namespaces.{ns}.{resourceType}.{name}.{observation}\n\n# Node level\nops.clusters.{cluster}.nodes.{nodeName}.{observation}\n\n# Notifications\nops.notifications.providers.{provider}.channels.{channel}.severities.{severity}\n\nWildcards: * = one segment, > = everything remaining (tail only)\n\nObservation types: status | events | alerts | findings\n\nTime is Unix milliseconds: $(date +%s)000"
      },
      {
        "title": "Logs — ES|QL query patterns",
        "body": "-- Recent errors\nFROM logs-* | WHERE @timestamp > NOW() - 30 minutes | WHERE level == 'error' | LIMIT 100\n\n-- Top errors by frequency\nFROM logs-* | WHERE @timestamp > NOW() - 1 hour | WHERE level == 'error'\n| STATS count() BY message | SORT count DESC | LIMIT 10\n\n-- Specific service\nFROM logs-* | WHERE service == 'checkout-service' | WHERE @timestamp > NOW() - 1 hour | LIMIT 50"
      },
      {
        "title": "Metrics — PromQL patterns",
        "body": "# CPU usage\n100 - (avg(rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) by (instance) * 100)\n\n# Memory available\nnode_memory_MemAvailable_bytes\n\n# HTTP error rate\nrate(http_requests_total{status=~\"5..\"}[5m])"
      },
      {
        "title": "Detailed Examples & Reference Files",
        "body": "For complete parameter lists, output formats, and advanced patterns, read the relevant file:\n\nevents → examples/events.md\nmetrics → examples/metrics.md\nlogs → examples/logs.md\ntraces → examples/traces.md\nsops → examples/sops.md\nevent subject format design → references/design.md\n\nRead the relevant example file before making complex tool calls you're unsure about."
      },
      {
        "title": "What This Skill is NOT For",
        "body": "Direct infrastructure changes (use dedicated automation tooling)\nReal-time alerting (investigation only, not a monitoring agent)\nWriting to or modifying operational data (all access is read-only)"
      }
    ],
    "body": "Ops MCP Server Skill\n\nAccess your infrastructure's observability data and execute operational procedures through a unified MCP interface.\n\nCapabilities at a Glance\nModule\tTools\tWhat it answers\nEvents (Kubernetes)\tlist-events-from-ops, get-events-from-ops\tWhat happened to a pod/deployment/node?\nMetrics (Prometheus)\tlist-metrics-from-prometheus, query-metrics-from-prometheus, query-metrics-range-from-prometheus\tIs CPU/memory/traffic normal? What changed over time?\nLogs (Elasticsearch)\tlist-log-indices-from-elasticsearch, search-logs-from-elasticsearch, query-logs-from-elasticsearch\tWhat errors are in the logs? What did service X log?\nTraces (Jaeger)\tget-services-from-jaeger, get-operations-from-jaeger, find-traces-from-jaeger, get-trace-from-jaeger\tWhy is this request slow? Where did it fail?\nSOPS\tlist-sops-from-ops, list-sops-parameters-from-ops, execute-sops-from-ops\tRun a standard operational procedure\nSetup (first-time)\n# 1. Use mcporter with npx (no installation needed)\n# Or install globally: npm i -g mcporter\n\n# 2. Register the server\ncd ~/.openclaw/workspace\nnpx mcporter config add ops-mcp-server --url http://localhost/mcp\n\n# 3. Authenticate (if needed)\nnpx mcporter auth ops-mcp-server\n# On failure, add to ~/.openclaw/workspace/config/mcporter.json:\n# \"headers\": { \"Authorization\": \"Bearer YOUR_TOKEN\" }\n\n# 4. Verify\nnpx mcporter list ops-mcp-server\nnpx mcporter call ops-mcp-server list-events-from-ops page_size=5\n\n# 5. Set env var\nexport OPS_MCP_SERVER_URL=\"http://localhost/mcp\"\n\nHow to Investigate: Decision Guide\n\nWhen a user describes a problem, use this guide to choose starting tools and build a complete picture.\n\n🔴 \"Something is broken / service is down\"\nKubernetes Events first — check if pods crashed, restarted, or got evicted\nget-events-from-ops  subject_pattern=\"ops.clusters.*.namespaces.<ns>.pods.*.events\"\n\nLogs — search for errors around the time of the incident\nquery-logs-from-elasticsearch  query=\"FROM logs-* | WHERE @timestamp > NOW() - 30 minutes | WHERE level == 'error' | LIMIT 50\"\n\nTraces — find failed or slow requests\nfind-traces-from-jaeger  serviceName=<service>  tags={\"error\":\"true\"}\n\n🟡 \"Performance is degraded / requests are slow\"\nMetrics — check resource saturation\nquery-metrics-from-prometheus  query=\"100 - (avg(rate(node_cpu_seconds_total{mode='idle'}[5m])) * 100)\"\nquery-metrics-range-from-prometheus  query=\"node_memory_MemAvailable_bytes\"  time_range=\"1h\"  step=\"1m\"\n\nTraces — find slow spans\nfind-traces-from-jaeger  serviceName=<service>  durationMin=1000\n\nLogs — look for timeouts or slow query warnings\n🔵 \"I need to run a procedure / restart something\"\nList available SOPs\nlist-sops-from-ops\n\nGet parameters\nlist-sops-parameters-from-ops  sops_id=<id>\n\nExecute\nexecute-sops-from-ops  sops_id=<id>  parameters='{...}'\n\n🟢 \"General health check / nothing specific\"\n\nStart with events + a key metrics query, then go deeper based on what you find.\n\nTool Quick Reference\nEvents — NATS subject pattern format\n# Namespace resources\nops.clusters.{cluster}.namespaces.{ns}.{resourceType}.{name}.{observation}\n\n# Node level\nops.clusters.{cluster}.nodes.{nodeName}.{observation}\n\n# Notifications\nops.notifications.providers.{provider}.channels.{channel}.severities.{severity}\n\n\nWildcards: * = one segment, > = everything remaining (tail only)\n\nObservation types: status | events | alerts | findings\n\nTime is Unix milliseconds: $(date +%s)000\n\nLogs — ES|QL query patterns\n-- Recent errors\nFROM logs-* | WHERE @timestamp > NOW() - 30 minutes | WHERE level == 'error' | LIMIT 100\n\n-- Top errors by frequency\nFROM logs-* | WHERE @timestamp > NOW() - 1 hour | WHERE level == 'error'\n| STATS count() BY message | SORT count DESC | LIMIT 10\n\n-- Specific service\nFROM logs-* | WHERE service == 'checkout-service' | WHERE @timestamp > NOW() - 1 hour | LIMIT 50\n\nMetrics — PromQL patterns\n# CPU usage\n100 - (avg(rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) by (instance) * 100)\n\n# Memory available\nnode_memory_MemAvailable_bytes\n\n# HTTP error rate\nrate(http_requests_total{status=~\"5..\"}[5m])\n\nDetailed Examples & Reference Files\n\nFor complete parameter lists, output formats, and advanced patterns, read the relevant file:\n\nevents → examples/events.md\nmetrics → examples/metrics.md\nlogs → examples/logs.md\ntraces → examples/traces.md\nsops → examples/sops.md\nevent subject format design → references/design.md\n\nRead the relevant example file before making complex tool calls you're unsure about.\n\nWhat This Skill is NOT For\nDirect infrastructure changes (use dedicated automation tooling)\nReal-time alerting (investigation only, not a monitoring agent)\nWriting to or modifying operational data (all access is read-only)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/shaowenchen/ops-mcp-server",
    "publisherUrl": "https://clawhub.ai/shaowenchen/ops-mcp-server",
    "owner": "shaowenchen",
    "version": "1.0.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ops-mcp-server",
    "downloadUrl": "https://openagent3.xyz/downloads/ops-mcp-server",
    "agentUrl": "https://openagent3.xyz/skills/ops-mcp-server/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ops-mcp-server/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ops-mcp-server/agent.md"
  }
}