Tool tree
gradeNot graded
page: Every page
search_blog_articlesAnswer
Search Aleksei Aleinikov's engineering blog (100+ articles in English and German on Google Cloud, Kubernetes, cloud security, platform engineering, databases, architecture and AI). Returns the best-matching articles with title, topic, date, a one-line summary and URL.
View tool JSON
{
"name": "search_blog_articles",
"kind": "answer",
"impl": "imperative",
"description": "Search Aleksei Aleinikov's engineering blog (100+ articles in English and German on Google Cloud, Kubernetes, cloud security, platform engineering, databases, architecture and AI). Returns the best-matching articles with title, topic, date, a one-line summary and URL.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "What to look for, in the user's words, e.g. \"gke autopilot vs standard cost\"."
},
"language": {
"type": "string",
"enum": [
"en",
"de"
],
"description": "Article language. Defaults to the language of the current page."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"description": "How many results to return, 1 to 8. Default 5."
}
},
"required": [
"query"
]
},
"page": "/en/tools/"
}read_blog_articleAnswer
Read an article from this blog. Without "section" it returns the title, summary and numbered list of sections; with "section" it returns that section's text. Use the URLs returned by search_blog_articles.
View tool JSON
{
"name": "read_blog_article",
"kind": "answer",
"impl": "imperative",
"description": "Read an article from this blog. Without \"section\" it returns the title, summary and numbered list of sections; with \"section\" it returns that section's text. Use the URLs returned by search_blog_articles.",
"inputSchema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Article URL on alekseialeinikov.com, as returned by search_blog_articles."
},
"section": {
"type": "string",
"description": "Section number or heading from the section list, e.g. \"3\" or \"Ordering\"."
}
},
"required": [
"url"
]
},
"page": "/en/tools/"
}page: Tools
check_gcp_iam_policyAnswer
Audit a Google Cloud IAM policy for least-privilege problems: public access (allUsers), basic Owner/Editor/Viewer roles, privilege-escalation roles, humans holding admin roles and unconditional sensitive grants. Returns findings ranked by severity, each with a fix. Runs locally in the browser; the policy is never uploaded.
View tool JSON
{
"name": "check_gcp_iam_policy",
"kind": "answer",
"impl": "imperative",
"description": "Audit a Google Cloud IAM policy for least-privilege problems: public access (allUsers), basic Owner/Editor/Viewer roles, privilege-escalation roles, humans holding admin roles and unconditional sensitive grants. Returns findings ranked by severity, each with a fix. Runs locally in the browser; the policy is never uploaded.",
"inputSchema": {
"type": "object",
"properties": {
"policy": {
"type": "string",
"description": "IAM policy JSON, as printed by `gcloud projects get-iam-policy PROJECT_ID --format=json`."
}
},
"required": [
"policy"
]
},
"page": "/en/tools/"
}recommend_gcp_computeAction
Recommend the best Google Cloud compute service for a workload — Cloud Run, Cloud Functions, Cloud Run jobs, GKE Autopilot, GKE Standard or Compute Engine — with why it fits, when not to use it and the strongest alternatives. Every field is optional; more answers give a sharper result.
View tool JSON
{
"name": "recommend_gcp_compute",
"kind": "act",
"impl": "imperative",
"description": "Recommend the best Google Cloud compute service for a workload — Cloud Run, Cloud Functions, Cloud Run jobs, GKE Autopilot, GKE Standard or Compute Engine — with why it fits, when not to use it and the strongest alternatives. Every field is optional; more answers give a sharper result.",
"inputSchema": {
"type": "object",
"properties": {
"workload": {
"type": "string",
"enum": [
"service",
"event",
"batch",
"stateful",
"legacy"
],
"description": "What are you running? service = A web app / API; event = Event-driven glue; batch = A batch / scheduled job; stateful = A stateful system; legacy = A legacy / VM-based app"
},
"idle": {
"type": "string",
"enum": [
"zero",
"warm"
],
"description": "When there’s no traffic? zero = Scale to zero; warm = Stay warm"
},
"k8s": {
"type": "string",
"enum": [
"none",
"want",
"have"
],
"description": "Do you need Kubernetes? none = No; want = Yes; have = Already on it"
},
"hardware": {
"type": "string",
"enum": [
"none",
"gpu",
"tpu"
],
"description": "Special hardware? none = None; gpu = GPU; tpu = TPU"
},
"ops": {
"type": "string",
"enum": [
"minimal",
"control"
],
"description": "How much ops do you want to own? minimal = As little as possible; control = I want control"
},
"control": {
"type": "string",
"enum": [
"container",
"custom-os"
],
"description": "Runtime needs? container = A standard container; custom-os = Full OS control"
}
}
},
"page": "/en/tools/"
}recommend_gcp_databaseAction
Recommend the best Google Cloud database for a workload — Cloud SQL, AlloyDB, Spanner, Firestore, Bigtable, BigQuery or Memorystore — with why it fits, when not to use it and the strongest alternatives. Every field is optional; more answers give a sharper result.
View tool JSON
{
"name": "recommend_gcp_database",
"kind": "act",
"impl": "imperative",
"description": "Recommend the best Google Cloud database for a workload — Cloud SQL, AlloyDB, Spanner, Firestore, Bigtable, BigQuery or Memorystore — with why it fits, when not to use it and the strongest alternatives. Every field is optional; more answers give a sharper result.",
"inputSchema": {
"type": "object",
"properties": {
"model": {
"type": "string",
"enum": [
"relational",
"document",
"keyvalue",
"wide",
"analytical"
],
"description": "What shape is your data? relational = Relational; document = Documents; keyvalue = Key–value; wide = Wide-column; analytical = Analytical"
},
"access": {
"type": "string",
"enum": [
"oltp",
"olap",
"realtime",
"cache"
],
"description": "How is it accessed? oltp = Transactions (OLTP); olap = Analytics (OLAP); realtime = Real-time sync; cache = Cache / sessions"
},
"scale": {
"type": "string",
"enum": [
"small",
"throughput",
"petabyte",
"global"
],
"description": "What scale do you need? small = Modest; throughput = Huge throughput; petabyte = Petabytes; global = Global"
},
"consistency": {
"type": "string",
"enum": [
"strong",
"eventual"
],
"description": "Consistency needs? strong = Strong; eventual = Eventual is fine"
},
"existing": {
"type": "string",
"enum": [
"postgres",
"mysql",
"sqlserver",
"greenfield"
],
"description": "Existing engine? postgres = PostgreSQL; mysql = MySQL; sqlserver = SQL Server; greenfield = Greenfield"
},
"ops": {
"type": "string",
"enum": [
"serverless",
"managed",
"global"
],
"description": "Operational model? serverless = Serverless; managed = Managed instance; global = Globally distributed"
}
}
},
"page": "/en/tools/"
}explain_cronAction
Explain a cron expression in plain language and list its next runs in a time zone, plus traps: Unix day-of-month OR day-of-week, Quartz/AWS weekday numbering, uneven steps, runs hit by daylight-saving gaps or repeats. Auto-detects Linux, Kubernetes, GitHub Actions, Cloud Scheduler, AWS EventBridge, Quartz, Spring, Azure and Vercel syntax. Runs locally.
View tool JSON
{
"name": "explain_cron",
"kind": "act",
"impl": "imperative",
"description": "Explain a cron expression in plain language and list its next runs in a time zone, plus traps: Unix day-of-month OR day-of-week, Quartz/AWS weekday numbering, uneven steps, runs hit by daylight-saving gaps or repeats. Auto-detects Linux, Kubernetes, GitHub Actions, Cloud Scheduler, AWS EventBridge, Quartz, Spring, Azure and Vercel syntax. Runs locally.",
"inputSchema": {
"type": "object",
"properties": {
"expression": {
"type": "string",
"description": "Cron expression, e.g. \"30 2 * * 1-5\", \"0 0 12 ? * MON#1\" or \"cron(0 9 ? * MON-FRI *)\"."
},
"timezone": {
"type": "string",
"description": "IANA time zone the schedule should follow, e.g. Europe/Berlin. Default UTC."
},
"platform": {
"type": "string",
"enum": [
"unix",
"kubernetes",
"github",
"gcp",
"aws",
"quartz",
"spring",
"azure",
"vercel"
],
"description": "Source; omit to auto-detect. unix=Linux, kubernetes, github=Actions, gcp=Cloud Scheduler, aws=EventBridge, quartz, spring, azure=Functions, vercel"
}
},
"required": [
"expression"
]
},
"page": "/en/tools/"
}convert_cronAction
Translate a cron schedule to another platform's exact syntax (Linux, Kubernetes, GitHub Actions, Cloud Scheduler, AWS EventBridge, Quartz, Spring, Azure Functions, Vercel) with a ready config snippet and platform caveats. Fixes weekday numbering, adds "?" where required, shifts to UTC for UTC-only platforms, and says when two schedules are needed. Omit "to" to get every platform.
View tool JSON
{
"name": "convert_cron",
"kind": "act",
"impl": "imperative",
"description": "Translate a cron schedule to another platform's exact syntax (Linux, Kubernetes, GitHub Actions, Cloud Scheduler, AWS EventBridge, Quartz, Spring, Azure Functions, Vercel) with a ready config snippet and platform caveats. Fixes weekday numbering, adds \"?\" where required, shifts to UTC for UTC-only platforms, and says when two schedules are needed. Omit \"to\" to get every platform.",
"inputSchema": {
"type": "object",
"properties": {
"expression": {
"type": "string",
"description": "Cron expression, e.g. \"30 2 * * 1-5\", \"0 0 12 ? * MON#1\" or \"cron(0 9 ? * MON-FRI *)\"."
},
"timezone": {
"type": "string",
"description": "IANA time zone the schedule should follow, e.g. Europe/Berlin. Default UTC."
},
"from": {
"type": "string",
"enum": [
"unix",
"kubernetes",
"github",
"gcp",
"aws",
"quartz",
"spring",
"azure",
"vercel"
],
"description": "Source; omit to auto-detect. unix=Linux, kubernetes, github=Actions, gcp=Cloud Scheduler, aws=EventBridge, quartz, spring, azure=Functions, vercel"
},
"to": {
"type": "string",
"enum": [
"unix",
"kubernetes",
"github",
"gcp",
"aws",
"quartz",
"spring",
"azure",
"vercel"
],
"description": "Target; omit for all. unix=Linux, kubernetes, github=Actions, gcp=Cloud Scheduler, aws=EventBridge, quartz, spring, azure=Functions, vercel"
}
},
"required": [
"expression"
]
},
"page": "/en/tools/"
}analyze_jwtAction
Decode a JSON Web Token and audit it like an attacker would: alg none, well-known HMAC secrets, algorithm confusion, injected jwk/jku/kid headers, missing exp/iss/aud, long lifetimes, secrets or PII in claims. Optionally verifies the signature with a key. Returns a grade A-F, decoded claims and findings with fixes. Runs locally with Web Crypto; nothing is uploaded or echoed into links.
View tool JSON
{
"name": "analyze_jwt",
"kind": "act",
"impl": "imperative",
"description": "Decode a JSON Web Token and audit it like an attacker would: alg none, well-known HMAC secrets, algorithm confusion, injected jwk/jku/kid headers, missing exp/iss/aud, long lifetimes, secrets or PII in claims. Optionally verifies the signature with a key. Returns a grade A-F, decoded claims and findings with fixes. Runs locally with Web Crypto; nothing is uploaded or echoed into links.",
"inputSchema": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "The JWT (JWS or JWE). A \"Bearer \" or \"Authorization:\" prefix is fine."
},
"key": {
"type": "string",
"description": "Optional: HMAC secret, PEM public key, X.509 certificate or JWK/JWKS JSON to verify the signature. Never pass a private key."
}
},
"required": [
"token"
]
},
"page": "/en/tools/"
}