🔍 blueprint_search live output
Ranks the whole catalog against plain language; returns each blueprint's full contract (inputs, cost, maturity).
1 · The builder asks
2 · Claude calls the tool
{
"tool": "blueprint_search",
"arguments": {
"query": "smoke test that the deploy path works"
}
}3 · Captured output
{
"query": "smoke test that the deploy path works",
"results": [
{
"match_score": 18.0,
"name": "hello-world",
"version": "0.1.0",
"maturity": "supported",
"summary": "Trivial tagged stack that proves the deploy path end to end: one S3 bucket and one SSM deployment marker, carrying the full cornell:* tagging convention.",
"matches": [
"prove the deploy path",
"hello world",
"smoke test a deployment",
"check the pipeline works"
],
"inputs": {
"owner_netid": {
"type": "string",
"required": true,
"description": "NetID of the person who owns the deployment (cornell:owner)"
}
},
"singleton": true,
"cost": {
"baseline_monthly_usd": 0,
"scales_with": []
},
"data_classification": [
"public"
]
}
]
}🏗️ deployment_create live output
dry_run=true returns the full plan — repo, registration PR, stack, cost — for the human to confirm. Nothing deploys until a human merges the PR.
1 · The builder asks
2 · Claude calls the tool
{
"tool": "deployment_create",
"arguments": {
"blueprint": "hello-world",
"deployment_name": "hello-world",
"owner_netid": "tmf77",
"dry_run": true
}
}3 · Captured output
{
"dry_run": true,
"plan": {
"blueprint": "hello-world v0.1.0 (supported)",
"stack": "aidlc-main-hello-world",
"estimated_cost": {
"baseline_monthly_usd": 0,
"scales_with": []
},
"new_repo": "cu-aaii/deploy-hello-world",
"registration_pr": {
"repo": "cu-aaii/ai-dlc-workshop",
"edits": "pipeline/pipeline.yml \u2014 one new BlueprintDeploy action",
"parameter_overrides": {
"Application": "aidlc",
"Environment": "main",
"Owner": "tmf77",
"SourceCommitId": "#{GitRepository.CommitId}"
}
},
"governance": "Deploys only when a human approves and merges the registration PR."
}
}📊 deployment_read graceful degradation — no AWS creds on this laptop; live values on AgentCore
The whole chain in one view: registration PR → pipeline stages → CloudFormation stack.
1 · The builder asks
2 · Claude calls the tool
{
"tool": "deployment_read",
"arguments": {
"deployment_name": "hello-world"
}
}3 · Captured output
{
"deployment": "hello-world",
"open_registration_prs": [],
"pipeline": {
"error": "AWS call failed while reading pipeline aidlc-main: TokenRetrievalError: Error when retrieving token from sso: Token has expired and refresh failed"
},
"stack": {
"error": "AWS call failed while describing stack aidlc-main-hello-world: TokenRetrievalError: Error when retrieving token from sso: Token has expired and refresh failed"
}
}✏️ deployment_update live output
Changes become a branch + pull request — never a direct push. The review gate stays unbypassable.
1 · The builder asks
2 · Claude calls the tool
{
"tool": "deployment_update",
"arguments": {
"repo": "deploy-hello-world",
"title": "Clarify usage docs",
"description": "Expand the README usage section.",
"files": {
"README.md": "# hello-world\n\nUpdated usage docs..."
},
"dry_run": true
}
}3 · Captured output
{
"dry_run": true,
"plan": {
"repo": "cu-aaii/deploy-hello-world",
"branch": "propose/87278",
"files_changed": [
"README.md"
],
"pr_title": "Clarify usage docs"
}
}🩺 deployment_health graceful degradation — no AWS creds on this laptop; live values on AgentCore
Stack status, failure events, and an inventory audit that every resource carries the four cornell:* tags.
1 · The builder asks
2 · Claude calls the tool
{
"tool": "deployment_health",
"arguments": {
"deployment_name": "hello-world"
}
}3 · Captured output
{
"deployment": "hello-world",
"stack": {
"error": "AWS call failed while describing stack aidlc-main-hello-world: TokenRetrievalError: Error when retrieving token from sso: Token has expired and refresh failed"
},
"tag_inventory": {
"error": "AWS call failed while listing resources tagged aidlc-main-hello-world: TokenRetrievalError: Error when retrieving token from sso: Token has expired and refresh failed"
},
"healthy": false
}🔄 deployment_restart graceful degradation — no AWS creds on this laptop; live values on AgentCore
Retries a failed pipeline stage or re-runs at the current version. Can never change WHAT is deployed — that takes a PR.
1 · The builder asks
2 · Claude calls the tool
{
"tool": "deployment_restart",
"arguments": {
"deployment_name": "hello-world",
"dry_run": true
}
}3 · Captured output
{
"deployment": "hello-world",
"error": "AWS call failed while reading pipeline aidlc-main: TokenRetrievalError: Error when retrieving token from sso: Token has expired and refresh failed"
}🗑️ deployment_delete live output
Governed deletion, symmetric with creation: a deregistration PR removing the pipeline action — never an AWS delete call. The platform removes the stack after merge, per its DeletionPolicy.
1 · The builder asks
2 · Claude calls the tool
{
"tool": "deployment_delete",
"arguments": {
"deployment_name": "hello-world",
"dry_run": true
}
}3 · Captured output
{
"dry_run": true,
"plan": {
"deployment": "hello-world",
"stack": "aidlc-main-hello-world",
"deregistration_pr": {
"repo": "cu-aaii/ai-dlc-workshop",
"branch": "undeploy/hello-world",
"edits": "pipeline/pipeline.yml \u2014 remove the HelloWorldCloudFormation BlueprintDeploy action"
},
"warning": "The stack itself is deleted by the platform after the PR merges, per its DeletionPolicy \u2014 this tool only removes the deployment's registration.",
"governance": "Tears down only when a human approves and merges the deregistration PR."
}
}📄 spec_export live output
One deployment, six audiences: coder, narrative, security, transfer, user, offboarding.
1 · The builder asks
2 · Claude calls the tool
{
"tool": "spec_export",
"arguments": {
"deployment_name": "hello-world",
"blueprint": "hello-world",
"audience": "narrative"
}
}3 · Captured output
{
"audience": "narrative",
"spec_markdown": "# hello-world \u2014 narrative spec\n\nDeployment of blueprint **hello-world** v0.1.0 (supported), owned by `see stack parameters`.\n\n## What this system does, in plain language\n\nTrivial tagged stack that proves the deploy path end to end: one S3 bucket and one SSM deployment marker, carrying the full cornell:* tagging convention.\n\nIt was created by asking the Cornell Builder for it; nobody wrote cloud configuration by hand. The running system is called `hello-world` and belongs to `see stack parameters`. It was built from a governed, reusable blueprint (**hello-world**, version 0.1.0) maintained by ai-sei@cornell.edu.\n\nEvery change to it goes through a reviewed pull request \u2014 that review is the governance gate. When the platform improves the blueprint, this deployment receives the improvement as a proposed update to accept or decline.\n\nEstimated baseline cost: $0/month."
}Outputs captured by calling the same functions the MCP transport serves (builder-mcp/docs is generated by a script, not hand-written). Amber items show the designed no-credential fallback (NFR7): a clear narrative instead of a stack trace; on the deployed AgentCore runtime these return live AWS state.