An MCP server for the Church of the Eternal Cluster. Daily scripture, doctrine, incident diagnosis, and deployment blessings for those who run Kubernetes and have suffered for it. HA-llelujah.
Three tools with clear naming (verb_noun pattern) and detailed descriptions (150-250 chars each). All tools have input schemas with type definitions and parameter descriptions. However, output schemas are entirely undocumented, LLMs cannot predict response structure. Error handling is present but generic (fallback text, no recovery guidance). No tool annotations (readOnlyHint, idempotentHint). Parameter descriptions are good but lack format constraints (e.g., no enum for symptom matching, no length limits). Tools are well-composed (single responsibility) and read-only, but lack structured output documentation.
Submit a deployment for blessing by the Church of the Eternal Cluster. Judges the deployment against the Sacred Manifest (the ten commandments of the faith) and returns either a blessing or an admonishment, with the specific commandments violated. A doctrinally-themed pre-flight checklist for Kubernetes workloads.
Diagnose a Kubernetes incident, error, or symptom through the doctrine of the Church of the Eternal Cluster. Returns the sin named, the relevant scripture, and genuinely useful practical remediation steps. Handles CrashLoopBackOff, OOMKilled, ImagePullBackOff, Pending pods, DNS failures, certificate expiry, evictions, PVC problems, alert fatigue, and more. The theology is a joke; the remediation is not.
Fetch today's verse from the Church of the Eternal Cluster, live from the parish at fivenines.church. Scripture for people who run Kubernetes. Good for standup, MOTDs, commit messages, or a moment of reflection before a deploy.
Output schemas completely undocumented. All three tools return text responses via text() helper, but LLMs cannot predict structure (plain text vs. structured fields). Prevents downstream tool chaining and forces LLMs to parse unstructured output.
No tool annotations (readOnlyHint, idempotentHint, destructiveHint). All three tools are read-only and idempotent, but this is not declared in the schema. Agents cannot infer safety properties without explicit hints.
diagnose_incident accepts free-form 'symptom' string with no enum or pattern constraint. Keyword matching is case-insensitive and substring-based, but LLMs cannot know valid values. Should document expected symptom categories (CrashLoopBackOff, OOMKilled, ImagePullBackOff, etc.) as enum or pattern.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Error handling is generic fallback text, not actionable recovery guidance. get_daily_verse returns a hardcoded verse on network failure; diagnose_incident returns generic kubectl advice when no diagnosis matches. Should guide LLM on next steps (retry, try alternative tool, ask user).
bless_deployment has 7 boolean parameters (stateless, has_probes, has_limits, pinned_version, rolling_update) with no defaults. Agents must pass all 7 explicitly; no smart defaults for common cases. Should default to false or provide a 'quick_check' mode.