Serveur MCP

Utility Matrix

io.github.helphub369/utility-matrix

Ce que fait ce MCP

Offers calculators and analyzers for cloud costs, SRE and DORA metrics, Kubernetes and Docker configuration, secrets detection, vulnerabilities, APIs, databases, and infrastructure planning.

alert-fatigue-calculator
Use when a user asks about alert noise, alert fatigue, or on-call burden from non-actionable alerts. Given weekly alert volume, actionable %, engineer count, and avg resolution time, returns noise rate, wasted hours, and fatigue tier.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['alerts_per_week', 'actionable_pct', 'engineer_count', 'avg_resolution_min'], 'properties': {'actionable_pct': {'type': 'number', 'maximum': 100, 'minimum': 0, 'examples': [1], 'description': 'actionable expressed as a percentage.'}, 'engineer_count': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'engineer count used by this deterministic tool.'}, 'alerts_per_week': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'alerts per week used by this deterministic tool.'}, 'avg_resolution_min': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'avg resolution min used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['annual_wasted_hours', 'burden_per_engineer_hours', 'computation_basis', 'fatigue_index', 'interpretation', 'next_step', 'next_step_url', 'noise_alerts_per_week', 'noise_rate_pct', 'output_tier', 'remaining_pct', 'signal_value', 'wasted_hours_per_week', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'output_tier': {'type': 'string'}, 'signal_value': {'type': 'number'}, 'fatigue_index': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'remaining_pct': {'type': 'number'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'noise_rate_pct': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'annual_wasted_hours': {'type': 'number'}, 'noise_alerts_per_week': {'type': 'number'}, 'wasted_hours_per_week': {'type': 'number'}, 'burden_per_engineer_hours': {'type': 'number'}}, 'additionalProperties': False}
apdex-score-calculator
Use this when a user asks about their Apdex score or wants to measure user satisfaction with response times. Takes satisfied, tolerating, and total request counts. Returns Apdex score (0–1) and performance rating.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['satisfied', 'tolerating', 'total'], 'properties': {'total': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'Total number of requests observed in the measurement window.'}, 'satisfied': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'satisfied used by this deterministic tool.'}, 'tolerating': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'tolerating used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['apdex_score', 'computation_basis', 'interpretation', 'next_step', 'next_step_url', 'rating', 'satisfied_pct', 'why_follow_up'], 'properties': {'rating': {'type': 'string'}, 'next_step': {'type': 'string'}, 'apdex_score': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'satisfied_pct': {'type': 'number'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}}, 'additionalProperties': False}
availability-sla-calculator
Use this when a user asks what a specific availability percentage (like 99.9% or 99.99%) means in downtime minutes per month or year. Converts availability SLA percentage to exact downtime budgets: annual, monthly, weekly, and daily.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['availability_pct'], 'properties': {'availability_pct': {'type': 'number', 'examples': [1], 'description': 'e.g. 99.9 for three nines'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['annual_downtime_minutes', 'availability_tier', 'computation_basis', 'interpretation', 'monthly_downtime_minutes', 'next_step', 'next_step_url', 'weekly_downtime_minutes', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'availability_tier': {'type': 'string'}, 'computation_basis': {'type': 'string'}, 'annual_downtime_minutes': {'type': 'number'}, 'weekly_downtime_minutes': {'type': 'number'}, 'monthly_downtime_minutes': {'type': 'number'}}, 'additionalProperties': False}
canonical-url-auditor
Audit a page URL against its canonical tag. Detects missing canonical, self-referencing canonical, and relative URL issues.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['page_url', 'canonical'], 'properties': {'page_url': {'type': 'string', 'examples': ['https://example.com/'], 'description': 'The page URL being audited'}, 'canonical': {'type': 'string', 'examples': ['example'], 'description': 'The canonical URL found in the page (empty string if missing)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['canonical_found', 'computation_basis', 'interpretation', 'issue', 'next_step', 'next_step_url', 'page_url', 'recommendation', 'severity', 'why_follow_up'], 'properties': {'issue': {'type': 'string'}, 'page_url': {'type': 'string'}, 'severity': {'type': 'string'}, 'next_step': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'recommendation': {'type': 'string'}, 'canonical_found': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}}, 'additionalProperties': False}
certificate-expiry-checker
Assess certificate expiry risk given a domain and days remaining. Returns risk level (OK, WARNING at <30 days, CRITICAL at <7 days, EXPIRED at <0).
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['domain', 'days_remaining'], 'properties': {'domain': {'type': 'string', 'examples': ['example.com'], 'description': 'Domain name (e.g. "api.example.com")'}, 'days_remaining': {'type': 'number', 'examples': [1], 'description': 'Days until certificate expires'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['computation_basis', 'days_remaining', 'domain', 'interpretation', 'next_step', 'next_step_url', 'risk_level', 'why_follow_up'], 'properties': {'domain': {'type': 'string'}, 'next_step': {'type': 'string'}, 'risk_level': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'days_remaining': {'type': 'number'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}}, 'additionalProperties': False}
change-failure-rate-calculator
Use when a user asks about change failure rate or DORA CFR. Given total and failed deployments, returns failure rate percentage and DORA tier.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['total_deploys', 'failed_deploys'], 'properties': {'total_deploys': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'total deploys used by this deterministic tool.'}, 'failed_deploys': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'failed deploys used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['change_failure_rate_pct', 'computation_basis', 'dora_rating', 'failed_count', 'interpretation', 'next_step', 'next_step_url', 'output_tier', 'remaining_pct', 'signal_value', 'total_count', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'dora_rating': {'type': 'string'}, 'output_tier': {'type': 'string'}, 'total_count': {'type': 'number'}, 'failed_count': {'type': 'number'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'remaining_pct': {'type': 'number'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'change_failure_rate_pct': {'type': 'number'}}, 'additionalProperties': False}
cloud-waste-calculator
Use when a user asks about cloud waste, idle resources, or unattached storage. Given monthly cloud bill and idle/oversized percentages, returns waste estimate and tier.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['monthly_cloud_bill'], 'properties': {'idle_pct': {'type': 'number', 'maximum': 100, 'minimum': 0, 'examples': [1], 'description': 'idle expressed as a percentage.'}, 'oversized_pct': {'type': 'number', 'maximum': 100, 'minimum': 0, 'examples': [1], 'description': 'oversized expressed as a percentage.'}, 'monthly_cloud_bill': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'monthly cloud bill used by this deterministic tool.'}, 'unattached_volumes_count': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'unattached volumes count used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['annualized', 'computation_basis', 'do_savings', 'idle_waste', 'interpretation', 'monthly_cost', 'next_step', 'next_step_url', 'output_tier', 'oversized_waste', 'signal_value', 'unattached_cost', 'waste_pct', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'waste_pct': {'type': 'number'}, 'annualized': {'type': 'number'}, 'do_savings': {'type': 'number'}, 'idle_waste': {'type': 'number'}, 'output_tier': {'type': 'string'}, 'monthly_cost': {'type': 'number'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'oversized_waste': {'type': 'number'}, 'unattached_cost': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}}, 'additionalProperties': False}
cluster-capacity-calculator
Use this when a user asks for Kubernetes cluster capacity. Uses the same node vCPU, node memory, node count, system reserve, and target utilization model as the browser calculator.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['node_vcpu', 'node_mem_gb', 'node_count'], 'properties': {'node_vcpu': {'type': 'number', 'minimum': 0.001, 'examples': [0.001], 'description': 'node vcpu used by this deterministic tool.'}, 'node_count': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'node count used by this deterministic tool.'}, 'node_mem_gb': {'type': 'number', 'minimum': 0.001, 'examples': [0.001], 'description': 'node mem in gigabytes.'}, 'system_reserve_pct': {'type': 'number', 'maximum': 99.999, 'minimum': 0, 'examples': [1], 'description': 'system reserve expressed as a percentage.'}, 'target_utilization_pct': {'type': 'number', 'maximum': 100, 'minimum': 0.001, 'examples': [0.001], 'description': 'target utilization expressed as a percentage.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['allocatable_factor', 'computation_basis', 'interpretation', 'next_step', 'next_step_url', 'node_count', 'output_tier', 'raw_memory_gb', 'raw_vcpu', 'remaining_pct', 'signal_value', 'usable_memory_gb', 'usable_vcpu', 'why_follow_up'], 'properties': {'raw_vcpu': {'type': 'number'}, 'next_step': {'type': 'string'}, 'node_count': {'type': 'number'}, 'output_tier': {'type': 'string'}, 'usable_vcpu': {'type': 'number'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'raw_memory_gb': {'type': 'number'}, 'remaining_pct': {'type': 'number'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'usable_memory_gb': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'allocatable_factor': {'type': 'number'}}, 'additionalProperties': False}
connection-pool-calculator
Use this when a user asks how many database connections to configure. Uses the same max_connections, app server count, database cores, average query duration, and peak RPS model as the browser calculator.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['max_connections', 'app_servers', 'db_cores', 'avg_query_ms', 'peak_rps'], 'properties': {'db_cores': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'db cores used by this deterministic tool.'}, 'peak_rps': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'peak rps used by this deterministic tool.'}, 'app_servers': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'app servers used by this deterministic tool.'}, 'avg_query_ms': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'avg query ms used by this deterministic tool.'}, 'max_connections': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'max connections used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['computation_basis', 'estimated_connection_memory_mb', 'interpretation', 'next_step', 'next_step_url', 'peak_concurrent_demand', 'per_app_pool_size', 'recommended_pool_total', 'saturation_pct', 'status', 'why_follow_up'], 'properties': {'status': {'type': 'string'}, 'next_step': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'saturation_pct': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'per_app_pool_size': {'type': 'number'}, 'peak_concurrent_demand': {'type': 'number'}, 'recommended_pool_total': {'type': 'number'}, 'estimated_connection_memory_mb': {'type': 'number'}}, 'additionalProperties': False}
deployment-frequency-calculator
Use when a user asks about deployment frequency or DORA deploy cadence.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['deploys_per_month', 'team_size'], 'properties': {'team_size': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'team size used by this deterministic tool.'}, 'working_days': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'working days used by this deterministic tool.'}, 'deploys_per_month': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'deploys per month used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['computation_basis', 'deploys_per_day', 'deploys_per_dev_per_day', 'deploys_per_week', 'dora_rating', 'interpretation', 'next_step', 'next_step_url', 'output_tier', 'remaining_pct', 'signal_value', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'dora_rating': {'type': 'string'}, 'output_tier': {'type': 'string'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'remaining_pct': {'type': 'number'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'deploys_per_day': {'type': 'number'}, 'deploys_per_week': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'deploys_per_dev_per_day': {'type': 'number'}}, 'additionalProperties': False}
detect-secrets-scanner
Scan text (config, code, env files) for leaked API keys, tokens, passwords, and private keys, plus static code-risk findings such as dynamic code execution, wildcard CORS, unsafe HTML sinks, process spawning and removed security guards. Returns findings with redacted matches and severity classification.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'examples': ['example'], 'description': 'Config, code, or env file content to scan for secrets'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['code_risk_count', 'code_risk_findings', 'computation_basis', 'finding_count', 'findings', 'interpretation', 'next_step', 'next_step_url', 'severity', 'types_found', 'why_follow_up'], 'properties': {'findings': {'type': 'array', 'items': {'type': 'object', 'required': ['line', 'redacted', 'type'], 'properties': {'line': {'type': 'number'}, 'type': {'type': 'string'}, 'redacted': {'type': 'string'}}, 'additionalProperties': False}}, 'severity': {'type': 'string'}, 'next_step': {'type': 'string'}, 'types_found': {'type': 'array', 'items': {'type': 'string'}}, 'finding_count': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'code_risk_count': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'code_risk_findings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'evidence_excerpt', 'severity'], 'properties': {'code': {'type': 'string'}, 'severity': {'enum': ['HIGH', 'MEDIUM', 'LOW'], 'type': 'string'}, 'evidence_excerpt': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
dockerfile-linter
Lint a Dockerfile for common issues: :latest tag on FROM, interactive installs without -y, running as root. Returns issues with suggestions per instruction.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['dockerfile'], 'properties': {'dockerfile': {'type': 'string', 'examples': ['example'], 'description': 'Dockerfile content (full or partial)'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['computation_basis', 'interpretation', 'issue_count', 'issues', 'next_step', 'next_step_url', 'severity', 'why_follow_up'], 'properties': {'issues': {'type': 'array', 'items': {'type': 'object', 'required': ['issue', 'line', 'suggestion'], 'properties': {'line': {'type': 'number'}, 'issue': {'type': 'string'}, 'suggestion': {'type': 'string'}}, 'additionalProperties': False}}, 'severity': {'type': 'string'}, 'next_step': {'type': 'string'}, 'issue_count': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}}, 'additionalProperties': False}
dora-metrics-calculator
Use this when a user wants to benchmark their engineering team against DORA metrics, or classify their deployment frequency and lead time. Takes deploy frequency, lead time hours, change failure rate, and restore time. Returns Elite/High/Medium/Low tier classification per metric.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['deploys_per_month', 'lead_time_hours', 'change_failure_pct'], 'properties': {'lead_time_hours': {'type': 'number', 'examples': [1], 'description': 'lead time in hours.'}, 'deploys_per_month': {'type': 'number', 'examples': [1], 'description': 'deploys per month used by this deterministic tool.'}, 'change_failure_pct': {'type': 'number', 'examples': [1], 'description': 'change failure expressed as a percentage.'}, 'restore_time_hours': {'type': 'number', 'examples': [1], 'description': 'restore time in hours.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['change_failure_rate_tier', 'computation_basis', 'deploy_frequency_tier', 'interpretation', 'lead_time_tier', 'mttr_tier', 'next_step', 'next_step_url', 'overall_tier', 'why_follow_up'], 'properties': {'mttr_tier': {'type': 'string'}, 'next_step': {'type': 'string'}, 'overall_tier': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'lead_time_tier': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'deploy_frequency_tier': {'type': 'string'}, 'change_failure_rate_tier': {'type': 'string'}}, 'additionalProperties': False}
ec2-cost-calculator
Use when a user asks about EC2 cost. Given instance type and hours, returns monthly cost and DO-equivalent savings estimate.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['instance_type'], 'properties': {'os': {'type': 'string', 'examples': ['example'], 'description': 'os used by this deterministic tool.'}, 'instance_type': {'type': 'string', 'examples': ['example'], 'description': 'instance type used by this deterministic tool.'}, 'hours_per_month': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'hours per month used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['annual_cost', 'computation_basis', 'do_equivalent_monthly', 'do_savings', 'hourly_rate', 'interpretation', 'monthly_cost', 'next_step', 'next_step_url', 'output_tier', 'signal_value', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'do_savings': {'type': 'number'}, 'annual_cost': {'type': 'number'}, 'hourly_rate': {'type': 'number'}, 'output_tier': {'type': 'string'}, 'monthly_cost': {'type': 'number'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'do_equivalent_monthly': {'type': 'number'}}, 'additionalProperties': False}
egress-cost-calculator
Use this when a user asks about monthly internet egress cost from daily request volume, average response size, provider, and CDN offload. Uses the same model as the browser calculator.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['daily_requests', 'avg_response_kb'], 'properties': {'cdn_pct': {'type': 'number', 'maximum': 100, 'minimum': 0, 'examples': [1], 'description': 'cdn expressed as a percentage.'}, 'provider': {'enum': ['AWS', 'GCP', 'Azure', 'Cloudflare', 'DigitalOcean'], 'type': 'string', 'examples': ['AWS'], 'description': 'Cloud provider whose published pricing model should be applied.'}, 'daily_requests': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'daily requests used by this deterministic tool.'}, 'avg_response_kb': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'avg response kb used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['billable_egress_gb', 'cdn_offload_gb', 'computation_basis', 'cost_risk', 'daily_egress_gb', 'free_tier_gb', 'interpretation', 'monthly_cost_usd', 'monthly_egress_gb', 'next_step', 'next_step_url', 'origin_egress_gb', 'provider', 'rate_per_gb', 'why_follow_up'], 'properties': {'provider': {'type': 'string'}, 'cost_risk': {'type': 'string'}, 'next_step': {'type': 'string'}, 'rate_per_gb': {'type': 'number'}, 'free_tier_gb': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'cdn_offload_gb': {'type': 'number'}, 'interpretation': {'type': 'string'}, 'daily_egress_gb': {'type': 'number'}, 'monthly_cost_usd': {'type': 'number'}, 'origin_egress_gb': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'monthly_egress_gb': {'type': 'number'}, 'billable_egress_gb': {'type': 'number'}}, 'additionalProperties': False}
error-budget-calculator
Use this when a user asks about their SLO error budget, remaining error budget, or burn rate. Given SLO percentage and window, returns budget minutes remaining, burn rate multiplier, and status (Under budget / Elevated / ALERTING).
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['slo_pct'], 'properties': {'slo_pct': {'type': 'number', 'maximum': 99.9999, 'minimum': 0.001, 'examples': [0.001], 'description': 'Service-level objective target expressed as a percentage.'}, 'window_days': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'Length of the service-level objective window in days.'}, 'consumed_minutes': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'consumed in minutes.'}, 'window_elapsed_days': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'window elapsed days used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['budget_minutes', 'burn_rate', 'computation_basis', 'interpretation', 'next_step', 'next_step_url', 'remaining_minutes', 'status', 'why_follow_up'], 'properties': {'status': {'type': 'string'}, 'burn_rate': {'type': 'number'}, 'next_step': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'budget_minutes': {'type': 'number'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'remaining_minutes': {'type': 'number'}}, 'additionalProperties': False}
incident-cost-calculator
Use this when a user asks what an outage or incident cost, or wants to calculate the financial impact of downtime. Takes hourly revenue, downtime duration, and affected percentage. Returns revenue impact, engineering cost, and total incident cost in dollars.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['hourly_revenue', 'downtime_hours'], 'properties': {'eng_hourly': {'type': 'number', 'examples': [1], 'description': 'eng hourly used by this deterministic tool.'}, 'responders': {'type': 'number', 'examples': [1], 'description': 'responders used by this deterministic tool.'}, 'affected_pct': {'type': 'number', 'examples': [1], 'description': 'affected expressed as a percentage.'}, 'downtime_hours': {'type': 'number', 'examples': [1], 'description': 'downtime in hours.'}, 'hourly_revenue': {'type': 'number', 'examples': [1], 'description': 'hourly revenue used by the calculation; monetary values are in USD unless stated otherwise.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['computation_basis', 'engineering_cost_usd', 'interpretation', 'next_step', 'next_step_url', 'revenue_impact_usd', 'severity', 'total_cost_usd', 'why_follow_up'], 'properties': {'severity': {'type': 'string'}, 'next_step': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'total_cost_usd': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'revenue_impact_usd': {'type': 'number'}, 'engineering_cost_usd': {'type': 'number'}}, 'additionalProperties': False}
known-vulnerability-checker
Check a package name against a database of known CVEs. Returns vulnerability status, CVE ID, and severity for common packages (log4j, lodash, moment, axios, django, flask, pillow, etc.).
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['package_name'], 'properties': {'package_name': {'type': 'string', 'examples': ['example'], 'description': 'Package name to check (e.g. "lodash", "log4j", "django")'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['checked_against', 'computation_basis', 'cve', 'interpretation', 'next_step', 'next_step_url', 'package_name', 'severity', 'status', 'why_follow_up'], 'properties': {'cve': {'type': 'string'}, 'status': {'type': 'string'}, 'severity': {'type': 'string'}, 'next_step': {'type': 'string'}, 'package_name': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'checked_against': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}}, 'additionalProperties': False}
kubernetes-manifest-linter
Lint a Kubernetes manifest (YAML) for common issues: missing resource limits, missing health checks, :latest tag usage, privileged containers. Returns issue list and severity.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['manifest'], 'properties': {'manifest': {'type': 'string', 'examples': ['example'], 'description': 'Kubernetes manifest YAML content'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['computation_basis', 'interpretation', 'issue_count', 'issues', 'next_step', 'next_step_url', 'severity', 'why_follow_up'], 'properties': {'issues': {'type': 'array', 'items': {'type': 'object', 'required': ['issue', 'recommendation', 'severity'], 'properties': {'issue': {'type': 'string'}, 'severity': {'type': 'string'}, 'recommendation': {'type': 'string'}}, 'additionalProperties': False}}, 'severity': {'type': 'string'}, 'next_step': {'type': 'string'}, 'issue_count': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}}, 'additionalProperties': False}
mttr-calculator
Use when a user asks about MTTR or DORA recovery time. Takes incident timestamps (string lines "start,detected,resolved" or array of {start,detected,resolved}).
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['incidents'], 'properties': {'incidents': {'examples': ['example'], 'description': 'incidents used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['computation_basis', 'dora_rating', 'incident_count', 'interpretation', 'mean_total_minutes', 'mttd_minutes', 'mttr_minutes', 'next_step', 'next_step_url', 'output_tier', 'remaining_pct', 'signal_value', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'dora_rating': {'type': 'string'}, 'output_tier': {'type': 'string'}, 'mttd_minutes': {'type': 'number'}, 'mttr_minutes': {'type': 'number'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'remaining_pct': {'type': 'number'}, 'why_follow_up': {'type': 'string'}, 'incident_count': {'type': 'number'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'mean_total_minutes': {'type': 'number'}}, 'additionalProperties': False}
on-call-burden-calculator
Use when a user asks about on-call load or burnout risk. Uses team size, rotation length, and hourly rate exactly as the browser calculator does.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['team_size', 'rotation_weeks', 'hourly_rate'], 'properties': {'team_size': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'team size used by this deterministic tool.'}, 'hourly_rate': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'hourly rate used by the calculation; monetary values are in USD unless stated otherwise.'}, 'rotation_weeks': {'type': 'number', 'examples': [1], 'description': 'rotation weeks used by this deterministic tool.', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['annual_cost', 'computation_basis', 'hours_per_engineer', 'interpretation', 'monthly_cost', 'next_step', 'next_step_url', 'output_tier', 'pct_working_time', 'remaining_pct', 'shifts_per_engineer', 'signal_value', 'total_hours_per_month', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'annual_cost': {'type': 'number'}, 'output_tier': {'type': 'string'}, 'monthly_cost': {'type': 'number'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'remaining_pct': {'type': 'number'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'pct_working_time': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'hours_per_engineer': {'type': 'number'}, 'shifts_per_engineer': {'type': 'number'}, 'total_hours_per_month': {'type': 'number'}}, 'additionalProperties': False}
pipeline-cost-calculator
Use this when a user asks how much their GitHub Actions CI/CD pipeline costs per month, or wants to compare runner costs. Takes average job duration, jobs per run, monthly run count, and runner type. Returns monthly billing cost with runner multiplier breakdown.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['avg_job_min', 'jobs_per_run', 'runs_per_month'], 'properties': {'runner': {'type': 'string', 'examples': ['example'], 'description': 'runner used by this deterministic tool.'}, 'avg_job_min': {'type': 'number', 'examples': [1], 'description': 'avg job min used by this deterministic tool.'}, 'jobs_per_run': {'type': 'number', 'examples': [1], 'description': 'jobs per run used by this deterministic tool.'}, 'runs_per_month': {'type': 'number', 'examples': [1], 'description': 'runs per month used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['billable_minutes', 'computation_basis', 'interpretation', 'monthly_cost_usd', 'next_step', 'next_step_url', 'runner_multiplier', 'severity', 'total_minutes_per_month', 'why_follow_up'], 'properties': {'severity': {'type': 'string'}, 'next_step': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'billable_minutes': {'type': 'number'}, 'monthly_cost_usd': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'runner_multiplier': {'type': 'number'}, 'total_minutes_per_month': {'type': 'number'}}, 'additionalProperties': False}
precision-recall-f1-calculator
Use this when a user asks about their ML model precision, recall, F1 score, or F-beta score. Takes precision, recall, and optional beta weight. Returns F1, F-beta, and interpretation of the precision-recall tradeoff.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['precision', 'recall'], 'properties': {'beta': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'beta used by this deterministic tool.'}, 'recall': {'type': 'number', 'maximum': 1, 'minimum': 0, 'examples': [1], 'description': 'recall used by this deterministic tool.'}, 'precision': {'type': 'number', 'maximum': 1, 'minimum': 0, 'examples': [1], 'description': 'precision used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['computation_basis', 'f1_score', 'f_beta_score', 'interpretation', 'next_step', 'next_step_url', 'precision_recall_balance', 'why_follow_up'], 'properties': {'f1_score': {'type': 'number'}, 'next_step': {'type': 'string'}, 'f_beta_score': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'precision_recall_balance': {'type': 'string'}}, 'additionalProperties': False}
query-cost-estimator
Estimate PostgreSQL sequential-scan and index-scan cost from table rows, table pages, selectivity, and storage type. Uses the same four-input model as the browser calculator.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['table_rows', 'table_pages', 'selectivity_pct', 'storage_type'], 'properties': {'table_rows': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'table rows used by this deterministic tool.'}, 'table_pages': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'table pages used by this deterministic tool.'}, 'storage_type': {'enum': ['ssd', 'nvme', 'hdd', 'network'], 'type': 'string', 'examples': ['ssd'], 'description': 'storage type; accepted values: ssd, nvme, hdd, network.'}, 'selectivity_pct': {'type': 'number', 'maximum': 100, 'minimum': 0, 'examples': [1], 'description': 'selectivity expressed as a percentage.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['computation_basis', 'cost_ratio', 'index_pages', 'index_scan_cost', 'index_tuples', 'interpretation', 'next_step', 'next_step_url', 'random_page_cost', 'recommended_plan', 'sequential_scan_cost', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'cost_ratio': {'type': 'number'}, 'index_pages': {'type': 'number'}, 'index_tuples': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'index_scan_cost': {'type': 'number'}, 'random_page_cost': {'type': 'number'}, 'recommended_plan': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'sequential_scan_cost': {'type': 'number'}}, 'additionalProperties': False}
rate-limit-utilization-calculator
Calculate API rate limit utilization given current request count and limit. Returns utilization percentage, buffer, safety status, and risk level (OK at <80%, WARNING at 80-95%, CRITICAL at >95%).
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['current_requests', 'limit'], 'properties': {'limit': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'Rate limit ceiling'}, 'window_seconds': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'Rate limit window in seconds (e.g. 60 for per-minute)'}, 'current_requests': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'Current request count in the window'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['buffer', 'computation_basis', 'interpretation', 'next_step', 'next_step_url', 'safe', 'status', 'utilization_pct', 'why_follow_up', 'window_seconds'], 'properties': {'safe': {'type': 'boolean'}, 'buffer': {'type': 'number'}, 'status': {'type': 'string'}, 'next_step': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'window_seconds': {'type': 'number'}, 'utilization_pct': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}}, 'additionalProperties': False}
reserved-instance-breakeven
Use this when a user asks whether to buy Reserved Instances or stay on On-Demand, or how long until an RI pays for itself. Takes On-Demand and RI monthly costs plus upfront fee. Returns break-even month and net savings over 1yr and 3yr terms.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['od_monthly', 'ri_1yr_monthly', 'ri_3yr_monthly'], 'properties': {'od_monthly': {'type': 'number', 'examples': [1], 'description': 'od monthly used by this deterministic tool.'}, 'ri_1yr_monthly': {'type': 'number', 'examples': [1], 'description': 'ri 1yr monthly used by this deterministic tool.'}, 'ri_1yr_upfront': {'type': 'number', 'examples': [1], 'description': 'ri 1yr upfront used by this deterministic tool.'}, 'ri_3yr_monthly': {'type': 'number', 'examples': [1], 'description': 'ri 3yr monthly used by this deterministic tool.'}, 'ri_3yr_upfront': {'type': 'number', 'examples': [1], 'description': 'ri 3yr upfront used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['breakeven_months', 'computation_basis', 'interpretation', 'net_savings_1yr_usd', 'net_savings_3yr_usd', 'next_step', 'next_step_url', 'recommended_term', 'severity', 'why_follow_up'], 'properties': {'severity': {'type': 'string'}, 'next_step': {'type': 'string'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'breakeven_months': {'type': 'number'}, 'recommended_term': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'net_savings_1yr_usd': {'type': 'number'}, 'net_savings_3yr_usd': {'type': 'number'}}, 'additionalProperties': False}
rightsizing-calculator
Use when a user asks about instance rightsizing or overprovisioned compute.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['current_vcpu', 'p99_cpu_pct', 'current_memory_gb', 'p99_memory_pct'], 'properties': {'hourly_cost': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'hourly cost used by the calculation; monetary values are in USD unless stated otherwise.'}, 'p99_cpu_pct': {'type': 'number', 'maximum': 100, 'minimum': 0, 'examples': [1], 'description': 'p99 cpu expressed as a percentage.'}, 'current_vcpu': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'current vcpu used by this deterministic tool.'}, 'instance_count': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'instance count used by this deterministic tool.'}, 'p99_memory_pct': {'type': 'number', 'maximum': 100, 'minimum': 0, 'examples': [1], 'description': 'p99 memory expressed as a percentage.'}, 'current_memory_gb': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'current memory in gigabytes.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['annual_savings', 'computation_basis', 'do_savings', 'instance_count', 'interpretation', 'monthly_cost', 'needed_memory_gb', 'needed_vcpu', 'next_step', 'next_step_url', 'output_tier', 'savings_factor', 'signal_value', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'do_savings': {'type': 'number'}, 'needed_vcpu': {'type': 'number'}, 'output_tier': {'type': 'string'}, 'monthly_cost': {'type': 'number'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'annual_savings': {'type': 'number'}, 'instance_count': {'type': 'number'}, 'interpretation': {'type': 'string'}, 'savings_factor': {'type': 'number'}, 'needed_memory_gb': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}}, 'additionalProperties': False}
slo-burn-rate-calculator
Use this when a user asks how fast they are burning their error budget, or whether their current error rate will exhaust their SLO window. Takes error count, total requests, SLO target, and observation window. Returns burn rate and budget consumption per hour.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['errors', 'total', 'slo', 'window_hours'], 'properties': {'slo': {'type': 'number', 'maximum': 99.9999, 'minimum': 0, 'examples': [1], 'description': 'Service-level objective target expressed as a percentage.'}, 'total': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'Total number of requests observed in the measurement window.'}, 'errors': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'Number of failed requests observed in the measurement window.'}, 'window_hours': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'Length of the observed measurement window in hours.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['budget_consumed_pct_per_hour', 'burn_rate', 'computation_basis', 'error_rate_pct', 'interpretation', 'next_step', 'next_step_url', 'status', 'why_follow_up', 'window_hours'], 'properties': {'status': {'type': 'string'}, 'burn_rate': {'type': 'number'}, 'next_step': {'type': 'string'}, 'window_hours': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'error_rate_pct': {'type': 'number'}, 'interpretation': {'type': 'string'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'budget_consumed_pct_per_hour': {'type': 'number'}}, 'additionalProperties': False}
software-purchase-risk-calculator
Use when a user asks about risk of a software purchase or SaaS commitment.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['monthlySubscription'], 'properties': {'numUsers': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'numUsers used by this deterministic tool.'}, 'setupHours': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'setupHours used by this deterministic tool.'}, 'integrationCount': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'integrationCount used by this deterministic tool.'}, 'internalHourlyCost': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'internalHourlyCost used by this deterministic tool.'}, 'monthlySubscription': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'monthlySubscription used by this deterministic tool.'}, 'changeManagementRisk': {'type': 'number', 'maximum': 5, 'minimum': 1, 'examples': [1], 'description': 'changeManagementRisk used by this deterministic tool.'}, 'contractLengthMonths': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'contractLengthMonths used by this deterministic tool.'}, 'vendorStabilityScore': {'type': 'number', 'maximum': 5, 'minimum': 1, 'examples': [1], 'description': 'vendorStabilityScore used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['adoption_component', 'complexity_component', 'computation_basis', 'contract_months', 'contract_total', 'integration_component', 'interpretation', 'monthly_cost', 'next_step', 'next_step_url', 'output_tier', 'risk_score', 'signal_value', 'vendor_component', 'why_follow_up', 'year1_labor_cost', 'year1_sub_cost', 'year1_total_cost'], 'properties': {'next_step': {'type': 'string'}, 'risk_score': {'type': 'number'}, 'output_tier': {'type': 'string'}, 'monthly_cost': {'type': 'number'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'contract_total': {'type': 'number'}, 'interpretation': {'type': 'string'}, 'year1_sub_cost': {'type': 'number'}, 'contract_months': {'type': 'number'}, 'vendor_component': {'type': 'number'}, 'year1_labor_cost': {'type': 'number'}, 'year1_total_cost': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'adoption_component': {'type': 'number'}, 'complexity_component': {'type': 'number'}, 'integration_component': {'type': 'number'}}, 'additionalProperties': False}
terraform-plan-cost-estimator
Use when a user asks to estimate monthly cost of a Terraform plan.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['resource_type', 'count'], 'properties': {'count': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'count used by this deterministic tool.'}, 'instance_size': {'type': 'string', 'examples': ['example'], 'description': 'instance size used by this deterministic tool.'}, 'resource_type': {'type': 'string', 'examples': ['example'], 'description': 'resource type used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['annual_cost', 'computation_basis', 'hourly_rate', 'interpretation', 'monthly_cost', 'next_step', 'next_step_url', 'output_tier', 'resource_count', 'resource_type', 'signal_value', 'why_follow_up'], 'properties': {'next_step': {'type': 'string'}, 'annual_cost': {'type': 'number'}, 'hourly_rate': {'type': 'number'}, 'output_tier': {'type': 'string'}, 'monthly_cost': {'type': 'number'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'resource_type': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'interpretation': {'type': 'string'}, 'resource_count': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}}, 'additionalProperties': False}
total-cost-of-ownership-calculator
Use when a user asks about TCO or multi-year SaaS cost.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['numPaidSeats', 'expectedActiveUsers'], 'properties': {'oneTimeFees': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'oneTimeFees used by this deterministic tool.'}, 'numPaidSeats': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'numPaidSeats used by this deterministic tool.'}, 'contractLength': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'contractLength used by this deterministic tool.'}, 'perUserMonthlyFee': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'perUserMonthlyFee used by this deterministic tool.'}, 'adminHoursPerMonth': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'adminHoursPerMonth used by this deterministic tool.'}, 'expectedActiveUsers': {'type': 'number', 'minimum': 1, 'examples': [1], 'description': 'expectedActiveUsers used by this deterministic tool.'}, 'internalHourlyCost105': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'internalHourlyCost105 used by this deterministic tool.'}, 'baseMonthlySubscription': {'type': 'number', 'minimum': 0, 'examples': [1], 'description': 'baseMonthlySubscription used by this deterministic tool.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['computation_basis', 'contract_months', 'contract_total', 'cost_per_user_monthly', 'do_savings', 'interpretation', 'monthly_cost', 'next_step', 'next_step_url', 'output_tier', 'overpaying_flags', 'seat_waste_cost_yr', 'seat_waste_pct', 'shelfware_seats', 'signal_value', 'why_follow_up', 'year1_admin_cost', 'year1_total_cost', 'year1_vendor_cost'], 'properties': {'next_step': {'type': 'string'}, 'do_savings': {'type': 'number'}, 'output_tier': {'type': 'string'}, 'monthly_cost': {'type': 'number'}, 'signal_value': {'type': 'number'}, 'next_step_url': {'type': 'string'}, 'why_follow_up': {'type': 'string'}, 'contract_total': {'type': 'number'}, 'interpretation': {'type': 'string'}, 'seat_waste_pct': {'type': 'number'}, 'contract_months': {'type': 'number'}, 'shelfware_seats': {'type': 'number'}, 'overpaying_flags': {'type': 'number'}, 'year1_admin_cost': {'type': 'number'}, 'year1_total_cost': {'type': 'number'}, 'affiliate_context': {'type': 'object', 'required': ['affiliate', 'cta_label', 'disclosure', 'framing', 'posture', 'slot_id', 'url', 'variant'], 'properties': {'url': {'type': 'string'}, 'framing': {'type': 'string'}, 'posture': {'enum': ['secondary'], 'type': 'string'}, 'slot_id': {'type': 'string'}, 'variant': {'type': 'string'}, 'affiliate': {'type': 'string'}, 'cta_label': {'type': 'string'}, 'disclosure': {'type': 'string'}}, 'additionalProperties': False}, 'computation_basis': {'type': 'string'}, 'year1_vendor_cost': {'type': 'number'}, 'seat_waste_cost_yr': {'type': 'number'}, 'cost_per_user_monthly': {'type': 'number'}}, 'additionalProperties': False}
Ajouté
total-cost-of-ownership-calculator
29 September 2026 02:52
Ajouté
terraform-plan-cost-estimator
29 September 2026 02:52
Ajouté
software-purchase-risk-calculator
29 September 2026 02:52
Ajouté
rightsizing-calculator
29 September 2026 02:52
Ajouté
on-call-burden-calculator
29 September 2026 02:52
Ajouté
mttr-calculator
29 September 2026 02:52
Ajouté
ec2-cost-calculator
29 September 2026 02:52
Ajouté
deployment-frequency-calculator
29 September 2026 02:52
Ajouté
cloud-waste-calculator
29 September 2026 02:52
Ajouté
change-failure-rate-calculator
29 September 2026 02:52
Ajouté
alert-fatigue-calculator
29 September 2026 02:52
Ajouté
rate-limit-utilization-calculator
29 September 2026 02:52
Ajouté
canonical-url-auditor
29 September 2026 02:52
Ajouté
query-cost-estimator
29 September 2026 02:52
Ajouté
dockerfile-linter
29 September 2026 02:52
Ajouté
kubernetes-manifest-linter
29 September 2026 02:52
Ajouté
certificate-expiry-checker
29 September 2026 02:52
Ajouté
known-vulnerability-checker
29 September 2026 02:52
Ajouté
detect-secrets-scanner
29 September 2026 02:52
Ajouté
egress-cost-calculator
29 September 2026 02:52
Ajouté
precision-recall-f1-calculator
29 September 2026 02:52
Ajouté
cluster-capacity-calculator
29 September 2026 02:52
Ajouté
connection-pool-calculator
29 September 2026 02:52
Ajouté
pipeline-cost-calculator
29 September 2026 02:52
Ajouté
dora-metrics-calculator
29 September 2026 02:52
Ajouté
apdex-score-calculator
29 September 2026 02:52
Ajouté
availability-sla-calculator
29 September 2026 02:52
Ajouté
reserved-instance-breakeven
29 September 2026 02:52
Ajouté
incident-cost-calculator
29 September 2026 02:52
Ajouté
slo-burn-rate-calculator
29 September 2026 02:52