Evidence-first architecture workbench: 48 deterministic tools, 10 architect personas, any cloud
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Design an evaluation plan for an AI agent: golden set sizing, metrics, judge rubric, red-team cases and regression cadence from explicit capabilities and risks.
Design an evaluation plan for an AI agent: golden set sizing, metrics, judge rubric, red-team cases and regression cadence from explicit capabilities and risks.
| Argument | Type | Description |
|---|---|---|
| agent* | string | |
| risks* | array | |
| tools* | array | |
| capabilities* | array | |
| releaseCadence* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"agent",
"capabilities",
"tools",
"risks",
"releaseCadence"
],
"properties": {
"agent": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"risks": {
"type": "array",
"items": {
"enum": [
"wrong-action",
"data-leak",
"prompt-injection",
"cost-runaway",
"hallucinated-fact",
"bias",
"latency"
],
"type": "string"
},
"maxItems": 7,
"minItems": 1
},
"tools": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"mutating"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"mutating": {
"type": "boolean"
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 40
},
"capabilities": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 20,
"minItems": 1
},
"releaseCadence": {
"enum": [
"daily",
"weekly",
"monthly"
],
"type": "string",
"default": "weekly"
}
},
"additionalProperties": false
}Design a per-operation authorization and recovery contract for an agent tool.
| Argument | Type | Description |
|---|---|---|
| operation* | string | |
| reversible* | boolean | |
| resourceScope* | array | |
| approvalRequired* | boolean | |
| maxDurationSeconds* | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"operation",
"resourceScope",
"approvalRequired",
"maxDurationSeconds",
"reversible"
],
"properties": {
"operation": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"reversible": {
"type": "boolean"
},
"resourceScope": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"maxItems": 30
},
"approvalRequired": {
"type": "boolean"
},
"maxDurationSeconds": {
"type": "integer",
"maximum": 3600,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Convene architect personas (solution, enterprise, business, data, infrastructure, software, AI, security, governance, FinOps) on a subject: each returns its questions, checks, deliverables and the workbench tools to call. Lens, not a verdict.
| Argument | Type | Description |
|---|---|---|
| roles* | array | |
| subject* | string | |
| knownFacts* | array | |
| artifactType* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subject",
"artifactType",
"roles",
"knownFacts"
],
"properties": {
"roles": {
"type": "array",
"items": {
"enum": [
"solution",
"enterprise",
"business",
"data",
"infrastructure",
"software",
"ai",
"security",
"governance",
"finops"
],
"type": "string"
},
"default": [
"solution",
"security",
"finops"
],
"maxItems": 10,
"minItems": 1
},
"subject": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"knownFacts": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"default": [],
"maxItems": 30
},
"artifactType": {
"enum": [
"requirements",
"design",
"code",
"iac",
"api-contract",
"data-model",
"pipeline",
"incident"
],
"type": "string"
}
},
"additionalProperties": false
}Build Mermaid from explicit nodes and edges. Sanitizes labels and rejects dangling edges.
| Argument | Type | Description |
|---|---|---|
| edges* | array | |
| nodes* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"nodes",
"edges"
],
"properties": {
"edges": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"from": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"label": {
"type": "string",
"maxLength": 120
}
},
"additionalProperties": false
},
"maxItems": 80
},
"nodes": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"label"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,39}$"
},
"label": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 40,
"minItems": 1
}
},
"additionalProperties": false
}Select a reference architecture by explicit workload pattern; returns tradeoffs, questions and Mermaid. provider maps the AWS services to Azure, GCP, OCI or open source equivalents.
| Argument | Type | Description |
|---|---|---|
| pattern* | string | |
| provider* | string | |
| workload* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pattern",
"workload",
"provider"
],
"properties": {
"pattern": {
"enum": [
"serverless-api",
"container-api",
"event-driven",
"rag",
"agent-platform"
],
"type": "string"
},
"provider": {
"enum": [
"aws",
"azure",
"gcp",
"oci",
"oss"
],
"type": "string",
"default": "aws"
},
"workload": {
"type": "string",
"maxLength": 4000,
"minLength": 1
}
},
"additionalProperties": false
}Read an official document returned by search when its excerpt is insufficient. Fixed upstream; no arbitrary URL fetch.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| maxLength* | integer | |
| startIndex* | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"url",
"startIndex",
"maxLength"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"maxLength": {
"type": "integer",
"default": 6000,
"maximum": 12000,
"minimum": 100
},
"startIndex": {
"type": "integer",
"default": 0,
"maximum": 200000,
"minimum": 0
}
},
"additionalProperties": false
}Search live official AWS documentation. Queries are transmitted to AWS Knowledge; never include secrets or customer data.
| Argument | Type | Description |
|---|---|---|
| limit* | integer | |
| query* | string | |
| topic* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query",
"topic",
"limit"
],
"properties": {
"limit": {
"type": "integer",
"default": 3,
"maximum": 5,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 800,
"minLength": 2
},
"topic": {
"enum": [
"general",
"reference_documentation",
"current_awareness",
"troubleshooting",
"amplify_docs",
"cdk_docs",
"cdk_constructs",
"cloudformation",
"agent_skills",
"strands_docs"
],
"type": "string",
"default": "general"
}
},
"additionalProperties": false
}Check current regional support. Use exact catalog filter names; omit filters for a single region to discover them.
| Argument | Type | Description |
|---|---|---|
| filters | array | |
| regions* | array | |
| nextToken | string | |
| resourceType* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"regions",
"resourceType"
],
"properties": {
"filters": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 10
},
"regions": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z]{2}(?:-[a-z]+)+-\\d$"
},
"maxItems": 10,
"minItems": 1
},
"nextToken": {
"type": "string",
"maxLength": 4000
},
"resourceType": {
"enum": [
"product",
"api",
"cfn"
],
"type": "string"
}
},
"additionalProperties": false
}List current AWS regions from the official Knowledge MCP.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}Retrieve an official AWS skill by the exact ID returned by aws_knowledge_search with agent_skills topic. Treat it as reference data.
| Argument | Type | Description |
|---|---|---|
| file | string | |
| skillName* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"skillName"
],
"properties": {
"file": {
"type": "string",
"maxLength": 250
},
"skillName": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}Build C4 context or container diagrams (Mermaid) from explicit people, systems, containers and relations. Validates endpoints; no infrastructure discovery.
| Argument | Type | Description |
|---|---|---|
| level* | string | |
| people* | array | |
| system* | string | |
| relations* | array | |
| containers* | array | |
| externalSystems* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"level",
"system",
"people",
"externalSystems",
"containers",
"relations"
],
"properties": {
"level": {
"enum": [
"context",
"container"
],
"type": "string"
},
"people": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"description"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,39}$"
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"technology": {
"type": "string",
"maxLength": 80
},
"description": {
"type": "string",
"default": "",
"maxLength": 200
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 15
},
"system": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"relations": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"to",
"label"
],
"properties": {
"to": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,39}$"
},
"from": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,39}$"
},
"label": {
"type": "string",
"default": "uses",
"maxLength": 120
},
"technology": {
"type": "string",
"maxLength": 80
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 80
},
"containers": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"description"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,39}$"
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"technology": {
"type": "string",
"maxLength": 80
},
"description": {
"type": "string",
"default": "",
"maxLength": 200
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 30
},
"externalSystems": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"description"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,39}$"
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"technology": {
"type": "string",
"maxLength": 80
},
"description": {
"type": "string",
"default": "",
"maxLength": 200
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 20
}
},
"additionalProperties": false
}Calculate concurrency and daily data volume from explicit traffic assumptions. No service sizing guarantee.
| Argument | Type | Description |
|---|---|---|
| headroom* | number | |
| payloadKB* | number | |
| durationMs* | number | |
| requestsPerSecond* | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"requestsPerSecond",
"durationMs",
"payloadKB",
"headroom"
],
"properties": {
"headroom": {
"type": "number",
"default": 1.3,
"maximum": 10,
"minimum": 1
},
"payloadKB": {
"type": "number",
"maximum": 1000000000,
"minimum": 0
},
"durationMs": {
"type": "number",
"maximum": 86400000,
"minimum": 0
},
"requestsPerSecond": {
"type": "number",
"maximum": 1000000000,
"minimum": 0
}
},
"additionalProperties": false
}Review a CloudFormation JSON template for selected risky configuration patterns. Intrinsic functions are flagged for human review.
| Argument | Type | Description |
|---|---|---|
| template* | object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"template"
],
"properties": {
"template": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}Heuristic architecture and security scan of source code pasted as text (any language): secrets, insecure calls, SQL built by concatenation, disabled TLS, hardcoded endpoints, missing timeouts and retry hazards. Not a linter or SAST replacement.
| Argument | Type | Description |
|---|---|---|
| code* | string | |
| filename* | string | |
| language* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"filename",
"language",
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 60000,
"minLength": 1
},
"filename": {
"type": "string",
"default": "snippet",
"maxLength": 200
},
"language": {
"enum": [
"auto",
"typescript",
"javascript",
"python",
"java",
"go",
"csharp",
"kotlin",
"ruby",
"php",
"rust",
"shell",
"yaml",
"json",
"hcl",
"sql"
],
"type": "string",
"default": "auto"
}
},
"additionalProperties": false
}Calculate an auditable scenario using caller-supplied unit rates and source URLs. Does not guess AWS prices or credit coverage.
| Argument | Type | Description |
|---|---|---|
| items* | array | |
| currency* | string | |
| contingencyPercent* | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"currency",
"items",
"contingencyPercent"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"quantity",
"unit",
"pricePerUnit",
"source",
"priceDate"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"unit": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"source": {
"type": "string",
"format": "uri"
},
"quantity": {
"type": "number",
"maximum": 1000000000000000,
"minimum": 0
},
"priceDate": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"pricePerUnit": {
"type": "number",
"maximum": 1000000000,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1
},
"currency": {
"enum": [
"USD",
"BRL"
],
"type": "string",
"default": "USD"
},
"contingencyPercent": {
"type": "number",
"default": 20,
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
}Classify data elements, map them to regulation hints (LGPD, GDPR, PCI DSS, HIPAA) and list handling controls and open questions. Review aid, not legal advice.
| Argument | Type | Description |
|---|---|---|
| system* | string | |
| elements* | array | |
| jurisdictions* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"system",
"elements",
"jurisdictions"
],
"properties": {
"system": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"elements": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"category",
"purpose",
"sharedWith"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"purpose": {
"type": "string",
"default": "",
"maxLength": 200
},
"category": {
"enum": [
"public",
"internal",
"personal",
"sensitive-personal",
"financial-card",
"health",
"credential",
"children"
],
"type": "string"
},
"residency": {
"type": "string",
"maxLength": 60
},
"sharedWith": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"default": [],
"maxItems": 10
},
"retentionDays": {
"type": "integer",
"maximum": 36500,
"minimum": 0
}
},
"additionalProperties": false
},
"maxItems": 60,
"minItems": 1
},
"jurisdictions": {
"type": "array",
"items": {
"enum": [
"BR",
"EU",
"US",
"other"
],
"type": "string"
},
"default": [
"BR"
],
"maxItems": 4,
"minItems": 1
}
},
"additionalProperties": false
}Generate an ADR from explicit alternatives, decision and consequences. Does not invent acceptance.
| Argument | Type | Description |
|---|---|---|
| title* | string | |
| status* | string | |
| context* | string | |
| options* | array | |
| decision* | string | |
| consequences* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"context",
"options",
"decision",
"consequences",
"status"
],
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"status": {
"enum": [
"proposed",
"accepted",
"superseded"
],
"type": "string",
"default": "proposed"
},
"context": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"options": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 10,
"minItems": 2
},
"decision": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"consequences": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"maxItems": 30
}
},
"additionalProperties": false
}Review a dependency manifest (package.json, requirements.txt, pyproject, go.mod, pom.xml, Gemfile, Cargo.toml as text) for unpinned ranges, git or URL sources, wildcard versions and missing lockfile hints.
| Argument | Type | Description |
|---|---|---|
| content* | string | |
| filename* | string | |
| lockfilePresent | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"filename",
"content"
],
"properties": {
"content": {
"type": "string",
"maxLength": 60000,
"minLength": 1
},
"filename": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"lockfilePresent": {
"type": "boolean"
}
},
"additionalProperties": false
}Compare disaster recovery tiers (backup-and-restore, pilot light, warm standby, active-active) against RTO, RPO and data constraints; returns feasible tiers and required capabilities, not a guarantee.
| Argument | Type | Description |
|---|---|---|
| dataGB* | number | |
| workload* | string | |
| rpoMinutes* | number | |
| rtoMinutes* | number | |
| statefulComponents* | array | |
| regulatoryResidency | string | |
| replicationBandwidthMbps | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"workload",
"rtoMinutes",
"rpoMinutes",
"dataGB",
"statefulComponents"
],
"properties": {
"dataGB": {
"type": "number",
"default": 0,
"maximum": 1000000000,
"minimum": 0
},
"workload": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"rpoMinutes": {
"type": "number",
"maximum": 10080,
"minimum": 0
},
"rtoMinutes": {
"type": "number",
"maximum": 10080,
"exclusiveMinimum": 0
},
"statefulComponents": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"default": [],
"maxItems": 30
},
"regulatoryResidency": {
"type": "string",
"maxLength": 80
},
"replicationBandwidthMbps": {
"type": "number",
"maximum": 1000000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Design an event contract: envelope fields, schema evolution rules, idempotency, ordering, DLQ and replay decisions for a named business event. Deterministic template with open questions.
| Argument | Type | Description |
|---|---|---|
| ordering* | string | |
| producer* | string | |
| consumers* | array | |
| eventName* | string | |
| payloadFields* | array | |
| deliveryGuarantee* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"eventName",
"producer",
"consumers",
"payloadFields",
"ordering",
"deliveryGuarantee"
],
"properties": {
"ordering": {
"enum": [
"none",
"per-key",
"global"
],
"type": "string",
"default": "per-key"
},
"producer": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"consumers": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 20,
"minItems": 1
},
"eventName": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9]*(\\.[A-Za-z][A-Za-z0-9]*)+$"
},
"payloadFields": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"type",
"required",
"pii"
],
"properties": {
"pii": {
"type": "boolean",
"default": false
},
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"type": {
"enum": [
"string",
"number",
"integer",
"boolean",
"timestamp",
"object",
"array",
"id",
"money"
],
"type": "string"
},
"required": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
},
"maxItems": 60,
"minItems": 1
},
"deliveryGuarantee": {
"enum": [
"at-least-once",
"at-most-once",
"effectively-once"
],
"type": "string",
"default": "at-least-once"
}
},
"additionalProperties": false
}Design a controlled failure drill with observable success criteria and stop conditions; never executes it.
| Argument | Type | Description |
|---|---|---|
| target* | string | |
| failure* | string | |
| operation* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"operation",
"target",
"failure"
],
"properties": {
"target": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"failure": {
"enum": [
"timeout",
"duplicate",
"drift",
"after-write-crash",
"revocation",
"dependency-outage"
],
"type": "string"
},
"operation": {
"type": "string",
"maxLength": 4000,
"minLength": 1
}
},
"additionalProperties": false
}Compute cost per unit (request, customer, transaction), fixed versus variable split and the volume at which the marginal cost crosses a target. Caller supplies costs; no provider prices are guessed.
| Argument | Type | Description |
|---|---|---|
| units* | array | |
| period* | string | |
| currency* | string | |
| fixedCosts* | array | |
| variableCosts* | array | |
| targetCostPerPrimaryUnit | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"period",
"currency",
"fixedCosts",
"variableCosts",
"units"
],
"properties": {
"units": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"count"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"count": {
"type": "number",
"maximum": 1000000000000000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1
},
"period": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"currency": {
"enum": [
"USD",
"BRL",
"EUR"
],
"type": "string",
"default": "USD"
},
"fixedCosts": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"amount"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"amount": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 50
},
"variableCosts": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"amount"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"amount": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 50
},
"targetCostPerPrimaryUnit": {
"type": "number",
"maximum": 1000000000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Read public GitHub repository metadata and contribution links. Fixed api.github.com destination, no tokens, no private repositories.
| Argument | Type | Description |
|---|---|---|
| repo* | string | |
| owner* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"owner",
"repo"
],
"properties": {
"repo": {
"type": "string",
"pattern": "^[a-zA-Z0-9_.-]+$",
"maxLength": 100
},
"owner": {
"type": "string",
"pattern": "^[a-zA-Z0-9_.-]+$",
"maxLength": 100
}
},
"additionalProperties": false
}Inspect an IAM document for broad grants: AWS policy JSON (default), Azure custom role definition or Google Cloud IAM policy bindings (provider). Heuristic only; the provider analyzers are authoritative.
| Argument | Type | Description |
|---|---|---|
| policy* | object | |
| provider* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"policy",
"provider"
],
"properties": {
"policy": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"provider": {
"enum": [
"aws",
"azure",
"gcp"
],
"type": "string",
"default": "aws"
}
},
"additionalProperties": false
}Turn an architecture decision into a delivery checklist with validation gates.
| Argument | Type | Description |
|---|---|---|
| decision* | string | |
| deliverables* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"decision",
"deliverables"
],
"properties": {
"decision": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"deliverables": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"maxItems": 30
}
},
"additionalProperties": false
}Search the snapshot of the complete official AWS MCP catalog. Discovery entries are not hosted/executed tools.
| Argument | Type | Description |
|---|---|---|
| limit* | integer | |
| query* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query",
"limit"
],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 70,
"minimum": 1
},
"query": {
"type": "string",
"default": "",
"maxLength": 200
}
},
"additionalProperties": false
}Generate a version-pinned local configuration for an official AWS server, or a remote Knowledge config. Does not install, start or approve tools.
| Argument | Type | Description |
|---|---|---|
| region* | string | |
| serverId* | string | |
| awsProfile* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"serverId",
"awsProfile",
"region"
],
"properties": {
"region": {
"type": "string",
"default": "us-east-1",
"pattern": "^[a-z]{2}(?:-[a-z]+)+-\\d$"
},
"serverId": {
"type": "string",
"pattern": "^[a-zA-Z0-9_.-]+$",
"maxLength": 100
},
"awsProfile": {
"type": "string",
"default": "your-readonly-profile",
"pattern": "^[a-zA-Z0-9_.-]+$",
"maxLength": 100
}
},
"additionalProperties": false
}Review Kubernetes manifests (parsed JSON objects) for probes, resources, security context, image pinning, host access, secrets in env, PDB and NetworkPolicy coverage. No cluster access.
| Argument | Type | Description |
|---|---|---|
| manifests* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"manifests"
],
"properties": {
"manifests": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"maxItems": 300,
"minItems": 1
}
},
"additionalProperties": false
}Split an end-to-end latency objective across hops and show which hops exceed their share. Pure arithmetic over caller-supplied estimates.
| Argument | Type | Description |
|---|---|---|
| hops* | array | |
| targetMs* | number | |
| percentile* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"targetMs",
"percentile",
"hops"
],
"properties": {
"hops": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"estimatedMs",
"cacheable"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"cacheable": {
"type": "boolean",
"default": false
},
"estimatedMs": {
"type": "number",
"maximum": 600000,
"minimum": 0
},
"parallelGroup": {
"type": "string",
"maxLength": 40
}
},
"additionalProperties": false
},
"maxItems": 30,
"minItems": 1
},
"targetMs": {
"type": "number",
"maximum": 600000,
"exclusiveMinimum": 0
},
"percentile": {
"enum": [
"p50",
"p95",
"p99"
],
"type": "string",
"default": "p95"
}
},
"additionalProperties": false
}Review an MCP client configuration JSON (mcpServers map) for unpinned packages, inline secrets, plain HTTP, auto-approved tools and unreviewed enablement.
| Argument | Type | Description |
|---|---|---|
| config* | object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"config"
],
"properties": {
"config": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}Heuristic safety review of ANOTHER MCP server from its tools/list output: tool-poisoning text, missing annotations, risky parameters, free-form schemas, name shadowing and context cost. Paste the JSON your client shows.
| Argument | Type | Description |
|---|---|---|
| tools* | array | |
| serverName* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"serverName",
"tools"
],
"properties": {
"tools": {
"type": "array",
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"annotations": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": {
"type": "string",
"maxLength": 5000
},
"inputSchema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
},
"maxItems": 300,
"minItems": 1
},
"serverName": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}Prepare phased discovery, pilot, migration and rollback gates; includes AWS Transform integration discovery.
| Argument | Type | Description |
|---|---|---|
| source* | string | |
| target* | string | |
| strategy* | string | |
| constraints* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"source",
"target",
"strategy",
"constraints"
],
"properties": {
"source": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"target": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"strategy": {
"enum": [
"rehost",
"replatform",
"refactor",
"retire",
"retain"
],
"type": "string"
},
"constraints": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"default": [],
"maxItems": 30
}
},
"additionalProperties": false
}Heuristic review of an OpenAPI 3.x document (JSON): security, pagination, error responses, idempotency, versioning and documentation gaps. Not a linter replacement.
| Argument | Type | Description |
|---|---|---|
| document* | object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"document"
],
"properties": {
"document": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}Generate a blameless postmortem document from incident facts: timeline, impact, detection, contributing factors and owned action items. Rejects action items without owner and due date.
| Argument | Type | Description |
|---|---|---|
| title* | string | |
| impact* | string | |
| severity* | string | |
| timeline* | array | |
| startedAt* | string | |
| detectedAt* | string | |
| resolvedAt* | string | |
| actionItems* | array | |
| mitigatedAt* | string | |
Enumerate injection paths and controls for an agent from its tools and untrusted data sources; produces a checklist with status to fill, not a scan.
| Argument | Type | Description |
|---|---|---|
| agent* | string | |
| tools* | array | |
| humanInLoop* | boolean | |
| untrustedSources* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"agent",
"untrustedSources",
"tools",
"humanInLoop"
],
"properties": {
"agent": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"tools": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"mutating",
"external"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"external": {
"type": "boolean",
"default": false
},
"mutating": {
"type": "boolean"
}
},
"additionalProperties": false
},
"maxItems": 40,
"minItems": 1
},
"humanInLoop": {
"type": "boolean"
},
"untrustedSources": {
"type": "array",
"items": {
"enum": [
"web-pages",
"documents",
"emails",
"tickets",
"database-rows",
"tool-results",
"user-uploads",
"other-agents"
],
"type": "string"
},
"maxItems": 8,
"minItems": 1
}
},
"additionalProperties": false
}Size consumers for a queue with Little's law and Erlang C: utilization, wait probability, backlog drain time and consumers needed for a target utilization.
| Argument | Type | Description |
|---|---|---|
| consumers* | integer | |
| serviceTimeMs* | number | |
| backlogMessages* | number | |
| arrivalsPerSecond* | number | |
| targetUtilizationPercent* | number | |
| maxConcurrencyPerConsumer* | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"arrivalsPerSecond",
"serviceTimeMs",
"consumers",
"backlogMessages",
"targetUtilizationPercent",
"maxConcurrencyPerConsumer"
],
"properties": {
"consumers": {
"type": "integer",
"maximum": 100000,
"exclusiveMinimum": 0
},
"serviceTimeMs": {
"type": "number",
"maximum": 3600000,
"exclusiveMinimum": 0
},
"backlogMessages": {
"type": "number",
"default": 0,
"maximum": 1000000000000,
"minimum": 0
},
"arrivalsPerSecond": {
"type": "number",
"maximum": 10000000,
"exclusiveMinimum": 0
},
"targetUtilizationPercent": {
"type": "number",
"default": 70,
"maximum": 95,
"minimum": 10
},
"maxConcurrencyPerConsumer": {
"type": "integer",
"default": 1,
"maximum": 10000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}Plan a retrieval-augmented generation pipeline from corpus facts: chunking, embedding, indexing, authorization, evaluation and cost drivers, with open questions. No vendor is chosen for you.
| Argument | Type | Description |
|---|---|---|
| corpus* | object | |
| useCase* | string | |
| authorization* | string | |
| latencyBudgetMs* | number | |
| citationsRequired* | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"useCase",
"corpus",
"authorization",
"latencyBudgetMs",
"citationsRequired"
],
"properties": {
"corpus": {
"type": "object",
"required": [
"documents",
"averagePages",
"formats",
"updateFrequency",
"languages"
],
"properties": {
"formats": {
"type": "array",
"items": {
"enum": [
"pdf",
"html",
"markdown",
"docx",
"code",
"tables",
"images",
"transcripts"
],
"type": "string"
},
"maxItems": 8,
"minItems": 1
},
"documents": {
"type": "integer",
"maximum": 1000000000,
"exclusiveMinimum": 0
},
"languages": {
"type": "array",
"items": {
"type": "string",
"maxLength": 10
},
"default": [
"pt-BR"
],
"maxItems": 10,
"minItems": 1
},
"averagePages": {
"type": "number",
"default": 10,
"maximum": 10000,
"exclusiveMinimum": 0
},
"updateFrequency": {
"enum": [
"static",
"daily",
"hourly",
"realtime"
],
"type": "string"
}
},
"additionalProperties": false
},
"useCase": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"authorization": {
"enum": [
"public",
"single-tenant",
"multi-tenant",
"per-document-acl"
],
"type": "string"
},
"latencyBudgetMs": {
"type": "number",
"default": 3000,
"maximum": 60000,
"exclusiveMinimum": 0
},
"citationsRequired": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
}Turn a workload brief into explicit requirements, gaps and research questions. No inferred SLA or budget.
| Argument | Type | Description |
|---|---|---|
| workload* | string | |
| constraints* | array | |
| requirements* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"workload",
"requirements",
"constraints"
],
"properties": {
"workload": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"constraints": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"default": [],
"maxItems": 30
},
"requirements": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"default": [],
"maxItems": 30
}
},
"additionalProperties": false
}Compute an exponential backoff schedule with jitter, the worst-case wait and whether it fits a deadline; adds idempotency and circuit-breaker guidance.
| Argument | Type | Description |
|---|---|---|
| capMs* | number | |
| factor* | number | |
| jitter* | string | |
| deadlineMs | number | |
| baseDelayMs* | number | |
| maxAttempts* | integer | |
| operationIdempotent* | boolean |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"baseDelayMs",
"factor",
"capMs",
"maxAttempts",
"jitter",
"operationIdempotent"
],
"properties": {
"capMs": {
"type": "number",
"default": 20000,
"maximum": 600000,
"exclusiveMinimum": 0
},
"factor": {
"type": "number",
"default": 2,
"maximum": 10,
"minimum": 1
},
"jitter": {
"enum": [
"none",
"full",
"equal"
],
"type": "string",
"default": "full"
},
"deadlineMs": {
"type": "number",
"maximum": 3600000,
"exclusiveMinimum": 0
},
"baseDelayMs": {
"type": "number",
"default": 100,
"maximum": 60000,
"exclusiveMinimum": 0
},
"maxAttempts": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1
},
"operationIdempotent": {
"type": "boolean"
}
},
"additionalProperties": false
}Generate an operational runbook from service facts: alerts, diagnostic steps, remediation, rollback, escalation and verification. Template with explicit placeholders for what the caller did not provide.
| Argument | Type | Description |
|---|---|---|
| owner* | string | |
| alerts* | array | |
| service* | string | |
| rollback* | array | |
| dashboards* | array | |
| escalation* | array | |
| diagnostics* | array | |
| remediation* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"service",
"owner",
"alerts",
"diagnostics",
"remediation",
"rollback",
"escalation",
"dashboards"
],
"properties": {
"owner": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"alerts": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"meaning"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"meaning": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"threshold": {
"type": "string",
"maxLength": 120
}
},
"additionalProperties": false
},
"maxItems": 30,
"minItems": 1
},
"service": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"rollback": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"default": [],
"maxItems": 30
},
"dashboards": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"default": [],
"maxItems": 10
},
"escalation": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"default": [],
"maxItems": 30
},
"diagnostics": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"maxItems": 30
},
"remediation": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"maxItems": 30
}
},
"additionalProperties": false
}Build a Mermaid sequence diagram from participants and ordered messages, with optional activation, notes and alt/loop blocks. Rejects unknown participants.
| Argument | Type | Description |
|---|---|---|
| title* | string | |
| messages* | array | |
| participants* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"participants",
"messages"
],
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"messages": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"to",
"text",
"style",
"activate"
],
"properties": {
"to": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,39}$"
},
"from": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,39}$"
},
"note": {
"type": "string",
"maxLength": 140
},
"text": {
"type": "string",
"maxLength": 140,
"minLength": 1
},
"block": {
"type": "object",
"required": [
"kind",
"label"
],
"properties": {
"kind": {
"enum": [
"alt",
"else",
"loop",
"opt",
"par",
"end"
],
"type": "string"
},
"label": {
"type": "string",
"default": "",
"maxLength": 80
}
},
"additionalProperties": false
},
"style": {
"enum": [
"sync",
"async",
"reply",
"reply-async"
],
"type": "string",
"default": "sync"
},
"activate": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"maxItems": 60,
"minItems": 1
},
"participants": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"label",
"kind"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,39}$"
},
"kind": {
"enum": [
"actor",
"participant"
],
"type": "string",
"default": "participant"
},
"label": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 15,
"minItems": 2
}
},
"additionalProperties": false
}Compare curated AWS service families against user constraints. No automatic winner or fabricated scores.
| Argument | Type | Description |
|---|---|---|
| family* | string | |
| constraints* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"family",
"constraints"
],
"properties": {
"family": {
"enum": [
"compute",
"database",
"messaging",
"rag-store"
],
"type": "string"
},
"constraints": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"default": [],
"maxItems": 30
}
},
"additionalProperties": false
}Map a cloud capability to equivalent managed services on AWS, Azure, Google Cloud, OCI and open source. Names as of the snapshot date; verify current naming, regions and pricing before deciding.
| Argument | Type | Description |
|---|---|---|
| to* | array | |
| from* | string | |
| query | string | |
| categories | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "array",
"items": {
"enum": [
"aws",
"azure",
"gcp",
"oci",
"oss"
],
"type": "string"
},
"default": [
"azure",
"gcp",
"oci",
"oss"
],
"maxItems": 5,
"minItems": 1
},
"from": {
"enum": [
"aws",
"azure",
"gcp",
"oci",
"oss"
],
"type": "string",
"default": "aws"
},
"query": {
"type": "string",
"maxLength": 100
},
"categories": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 40
}
},
"additionalProperties": false
}Calculate an availability error budget for a chosen period.
| Argument | Type | Description |
|---|---|---|
| periodDays* | integer | |
| availabilityPercent* | number | |
| usedDowntimeMinutes* | number |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"availabilityPercent",
"periodDays",
"usedDowntimeMinutes"
],
"properties": {
"periodDays": {
"type": "integer",
"maximum": 366,
"minimum": 1
},
"availabilityPercent": {
"type": "number",
"exclusiveMaximum": 100,
"exclusiveMinimum": 0
},
"usedDowntimeMinutes": {
"type": "number",
"default": 0,
"minimum": 0
}
},
"additionalProperties": false
}Project storage volume and relative cost over time from ingest, retention, compression, replication and growth; suggests tiering thresholds.
| Argument | Type | Description |
|---|---|---|
| months* | integer | |
| hotDays* | integer | |
| dailyIngestGB* | number | |
| retentionDays* | integer | |
| compressionRatio* | number | |
| replicationFactor* | number | |
| monthlyGrowthPercent* | number | |
| hotTierPricePerGBMonth | number | |
| coldTierPricePerGBMonth | number |
Review a Terraform or OpenTofu plan exported as JSON (terraform show -json): deletions and replacements of stateful resources, public exposure, disabled encryption, literal credentials, broad policies and unpinned providers. Any provider; heuristic.
| Argument | Type | Description |
|---|---|---|
| plan* | object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"plan"
],
"properties": {
"plan": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}Create STRIDE review prompts for explicitly supplied assets and trust boundaries. Review aid, not a scanner.
| Argument | Type | Description |
|---|---|---|
| assets* | array | |
| boundaries* | array | |
| dataClassification* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"assets",
"boundaries",
"dataClassification"
],
"properties": {
"assets": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 15,
"minItems": 1
},
"boundaries": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"maxItems": 30
},
"dataClassification": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}Organize evidence by six pillars. A met control without evidence is unknown, never certified.
| Argument | Type | Description |
|---|---|---|
| controls* | array | |
| workload* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"workload",
"controls"
],
"properties": {
"controls": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"pillar",
"status",
"evidence"
],
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"owner": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"pillar": {
"enum": [
"operational-excellence",
"security",
"reliability",
"performance",
"cost",
"sustainability"
],
"type": "string"
},
"status": {
"enum": [
"met",
"gap",
"unknown"
],
"type": "string"
},
"evidence": {
"type": "string",
"default": "",
"maxLength": 4000
}
},
"additionalProperties": false
},
"maxItems": 80,
"minItems": 1
},
"workload": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
}| whatWentWell* |
| array |
| contributingFactors* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title",
"severity",
"startedAt",
"detectedAt",
"mitigatedAt",
"resolvedAt",
"impact",
"timeline",
"contributingFactors",
"whatWentWell",
"actionItems"
],
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"impact": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"severity": {
"enum": [
"sev1",
"sev2",
"sev3",
"sev4"
],
"type": "string"
},
"timeline": {
"type": "array",
"items": {
"type": "object",
"required": [
"at",
"event"
],
"properties": {
"at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"event": {
"type": "string",
"maxLength": 300,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 60,
"minItems": 2
},
"startedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"detectedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"resolvedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"actionItems": {
"type": "array",
"items": {
"type": "object",
"required": [
"action",
"owner",
"due",
"kind"
],
"properties": {
"due": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"kind": {
"enum": [
"prevent",
"detect",
"mitigate",
"process"
],
"type": "string"
},
"owner": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"action": {
"type": "string",
"maxLength": 300,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 30,
"minItems": 1
},
"mitigatedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"whatWentWell": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"default": [],
"maxItems": 30
},
"contributingFactors": {
"type": "array",
"items": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"maxItems": 30
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"dailyIngestGB",
"retentionDays",
"monthlyGrowthPercent",
"compressionRatio",
"replicationFactor",
"months",
"hotDays"
],
"properties": {
"months": {
"type": "integer",
"default": 24,
"maximum": 120,
"minimum": 1
},
"hotDays": {
"type": "integer",
"default": 30,
"maximum": 36500,
"minimum": 0
},
"dailyIngestGB": {
"type": "number",
"maximum": 1000000000,
"minimum": 0
},
"retentionDays": {
"type": "integer",
"maximum": 36500,
"minimum": 1
},
"compressionRatio": {
"type": "number",
"default": 1,
"maximum": 100,
"minimum": 1
},
"replicationFactor": {
"type": "number",
"default": 1,
"maximum": 10,
"minimum": 1
},
"monthlyGrowthPercent": {
"type": "number",
"default": 0,
"maximum": 100,
"minimum": -50
},
"hotTierPricePerGBMonth": {
"type": "number",
"maximum": 1000,
"minimum": 0
},
"coldTierPricePerGBMonth": {
"type": "number",
"maximum": 1000,
"minimum": 0
}
},
"additionalProperties": false
}