MCPInstall

aws-strands-agents-agentcore

Use when working with AWS Strands Agents SDK or Amazon Bedrock AgentCore platform for building AI agents. Provides architecture guidance, implementation patterns, deployment strategies, observability, quality evaluations, multi-agent orchestration, and MCP server integration.

Installs
95
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/sammcj/agentic-coding --skill aws-strands-agents-agentcore
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads aws-strands-agents-agentcore automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

AWS Strands Agents & AgentCore

Overview

AWS Strands Agents SDK: Open-source Python framework for building AI agents with model-driven orchestration (minimal code, model decides tool usage)

Amazon Bedrock AgentCore: Enterprise platform for deploying, operating, and scaling agents in production

Relationship: Strands SDK runs standalone OR with AgentCore platform services. AgentCore is optional but provides enterprise features (8hr runtime, streaming, memory, identity, observability).


Quick Start Decision Tree

What are you building?

Single-purpose agent:

  • Event-driven (S3, SQS, scheduled) → Lambda deployment
  • Interactive with streaming → AgentCore Runtime
  • API endpoint (stateless) → Lambda

Multi-agent system:

  • Deterministic workflow → Graph Pattern
  • Autonomous collaboration → Swarm Pattern
  • Simple delegation → Agent-as-Tool Pattern

Tool/Integration Server (MCP):

  • ALWAYS deploy to ECS/Fargate or AgentCore Runtime
  • NEVER Lambda (stateful, needs persistent connections)

See architecture.md for deployment examples.


Critical Constraints

MCP Server Requirements

  1. Transport: MUST use streamable-http (NOT stdio)
  2. Endpoint: MUST be at 0.0.0.0:8000/mcp
  3. Deployment: MUST be ECS/Fargate or AgentCore Runtime (NEVER Lambda)
  4. Headers: Must accept application/json and text/event-stream

Why: MCP servers are stateful and need persistent connections. Lambda is ephemeral and unsuitable.

See limitations.md for details.

Tool Count Limits

  • Models struggle with > 50-100 tools
  • Solution: Implement semantic search for dynamic tool loading

See patterns.md for implementation.

Token Management

  • Claude 4.5: 200K context (use ~180K max)
  • Long conversations REQUIRE conversation managers
  • Multi-agent costs multiply 5-10x

See limitations.md for strategies.


Deployment Decision Matrix

ComponentLambdaECS/FargateAgentCore Runtime
Stateless Agents✅ Perfect❌ Overkill❌ Overkill
Interactive Agents❌ No streaming⚠️ Possible✅ Ideal
MCP Servers❌ NEVER✅ Standard✅ With features
Duration< 15 minutesUnlimitedUp to 8 hours
Cold StartsYes (30-60s)NoNo

Multi-Agent Pattern Selection

PatternComplexityPredictabilityCostUse Case
Single AgentLowHigh1xMost tasks
Agent as ToolLowHigh2-3xSimple delegation
GraphHighVery High3-5xDeterministic workflows
SwarmMediumLow5-8xAutonomous collaboration

Recommendation: Start with single agents, evolve as needed.

See architecture.md for examples.


When to Read Reference Files

patterns.md

  • Base agent factory patterns (reusable components)
  • MCP server registry patterns (tool catalogues)
  • Semantic tool search (> 50 tools)
  • Tool design best practices
  • Security patterns
  • Testing patterns

observability.md

  • AWS AgentCore Observability Platform setup
  • Runtime-hosted vs self-hosted configuration
  • Session tracking for multi-turn conversations
  • OpenTelemetry setup
  • Cost tracking hooks
  • Production observability patterns

evaluations.md

  • AWS AgentCore Evaluations - Quality assessment with LLM-as-a-Judge
  • 13 built-in evaluators (Helpfulness, Correctness, GoalSuccessRate, etc.)
  • Custom evaluators with your own prompts and models
  • Online (continuous) and on-demand evaluation modes
  • CloudWatch integration and alerting

limitations.md

  • MCP server deployment issues
  • Tool selection problems (> 50 tools)
  • Token overflow
  • Lambda limitations
  • Multi-agent cost concerns
  • Throttling errors
  • Cold start latency

#-Driven Philosophy

Key Concept: Strands Agents delegates orchestration to the model rather than requiring explicit control flow code.

# Traditional: Manual orchestration (avoid)
while not done:
    if needs_research:
        result = research_tool()
    elif needs_analysis:
        result = analysis_tool()

# Strands: Model decides (prefer)
agent = Agent(
    system_prompt="You are a research analyst. Use tools to answer questions.",
    tools=[research_tool, analysis_tool]
)
result = agent("What are the top tech trends?")
 automatically orchestrates: research_tool → analysis_tool → respond

Selection

Primary Provider: Anthropic Claude via AWS Bedrock

Model ID Format: anthropic.claude-{model}-{version}

Current Models (as of January 2025):

  • anthropic.claude-sonnet-4-5-20250929-v1:0 - Production
  • anthropic.claude-haiku-4-5-20251001-v1:0 - Fast/economical
  • anthropic.claude-opus-4-5-20250514-v1:0 - Complex reasoning

Check Latest Models:

aws bedrock list-foundation-models --by-provider anthropic \
  --query 'modelSummaries[*].[modelId,modelName]' --output table

Quick Examples

Basic Agent

from strands import Agent
from strands.models import BedrockModel
from strands.session import DynamoDBSessionManager
from strands.agent.conversation_manager import SlidingWindowConversationManager

agent = Agent(
    agent_id="my-agent",
    model=BedrockModel(model_id="anthropic.claude-sonnet-4-5-20250929-v1:0"),
    system_prompt="You are helpful.",
    tools=[tool1, tool2],
    session_manager=DynamoDBSessionManager(table_name="sessions"),
    conversation_manager=SlidingWindowConversationManager(max_messages=20)
)

result = agent("Process this request")

See patterns.md for base agent factory patterns.

MCP Server (ECS/Fargate)

from mcp.server import FastMCP
import psycopg2.pool

# Persistent connection pool (why Lambda won't work)
db_pool = psycopg2.pool.SimpleConnectionPool(minconn=1, maxconn=10, host="db.internal")

mcp = FastMCP("Database Tools")

@mcp.tool()
def query_database(sql: str) -> dict:
    conn = db_pool.getconn()
    try:
        cursor = conn.cursor()
        cursor.execute(sql)
        return {"status": "success", "rows": cursor.fetchall()}
    finally:
        db_pool.putconn(conn)

# CRITICAL: streamable-http mode
if __name__ == "__main__":
    mcp.run(transport="streamable-http", host="0.0.0.0", port=8000)

See architecture.md for deployment details.

Tool Error Handling

from strands import tool

@tool
def safe_tool(param: str) -> dict:
    """Always return structured results, never raise exceptions."""
    try:
        result = operation(param)
        return {"status": "success", "content": [{"text": str(result)}]}
    except Exception as e:
        return {"status": "error", "content": [{"text": f"Failed: {str(e)}"}]}

See patterns.md for tool design patterns.

Observability

AgentCore Runtime (Automatic):

# Install with OTEL support
# pip install 'strands-agents[otel]'
# Add 'aws-opentelemetry-distro' to requirements.txt

from bedrock_agentcore.runtime import BedrockAgentCoreApp

app = BedrockAgentCoreApp()
agent = Agent(...)  # Automatically instrumented

@app.entrypoint
def handler(payload):
    return agent(payload["prompt"])

Self-Hosted:

export AGENT_OBSERVABILITY_ENABLED=true
export OTEL_PYTHON_DISTRO=aws_distro
export OTEL_RESOURCE_ATTRIBUTES="service.name=my-agent"

opentelemetry-instrument python agent.py

General OpenTelemetry:

from strands.observability import StrandsTelemetry

# Development
telemetry = StrandsTelemetry().setup_console_exporter()

# Production
telemetry = StrandsTelemetry().setup_otlp_exporter()

See observability.md for detailed patterns.


Session Storage Selection

Local dev         → FileSystem
Lambda agents     → S3 or DynamoDB
ECS agents        → DynamoDB
Interactive chat  → AgentCore Memory
Knowledge bases   → AgentCore Memory

See architecture.md for storage backend comparison.


When to Use AgentCore Platform vs SDK Only

Use Strands SDK Only

  • Simple, stateless agents
  • Tight cost control required
  • No enterprise features needed
  • Want deployment flexibility

Use Strands SDK + AgentCore Platform

  • Need 8-hour runtime support
  • Streaming responses required
  • Enterprise security/compliance
  • Cross-session intelligence needed
  • Want managed infrastructure

See architecture.md for platform service details.


Common Anti-Patterns

  1. ❌ Overloading agents with > 50 tools → Use semantic search
  2. ❌ No conversation management → Implement SlidingWindow or Summarising
  3. ❌ Deploying MCP servers to Lambda → Use ECS/Fargate
  4. ❌ No timeout configuration → Set execution limits everywhere
  5. ❌ Ignoring token limits → Implement conversation managers
  6. ❌ No cost monitoring → Implement cost tracking from day one

See patterns.md and limitations.md for details.


Production Checklist

Before deploying:

  • Conversation management configured
  • AgentCore Observability enabled or OpenTelemetry configured
  • AgentCore Evaluations configured for quality monitoring
  • Observability hooks implemented
  • Cost tracking enabled
  • Error handling in all tools
  • Security permissions validated
  • MCP servers deployed to ECS/Fargate
  • Timeout limits set
  • Session backend configured (DynamoDB for production)
  • CloudWatch alarms configured

Reference Files Navigation

  • architecture.md - Deployment patterns, multi-agent orchestration, session storage, AgentCore services
  • patterns.md - Foundation components, tool design, security, testing, performance optimisation
  • limitations.md - Known constraints, workarounds, mitigation strategies, challenges
  • observability.md - AgentCore Observability platform, ADOT, GenAI dashboard, OpenTelemetry, hooks, cost tracking
  • evaluations.md - AgentCore Evaluations, built-in evaluators, custom evaluators, quality monitoring

Key Takeaways

  1. MCP servers MUST use streamable-http, NEVER Lambda
  2. Use semantic search for > 15 tools
  3. Always implement conversation management
  4. Multi-agent costs multiply 5-10x (track from day one)
  5. Set timeout limits everywhere
  6. Error handling in tools is non-negotiable
  7. Lambda for stateless, AgentCore for interactive
  8. AgentCore Observability and Evaluations for production
  9. Start simple, evolve complexity
  10. Security by default
  11. Separate config from code

FAQ

What does the aws-strands-agents-agentcore skill do?

Use when working with AWS Strands Agents SDK or Amazon Bedrock AgentCore platform for building AI agents. Provides architecture guidance, implementation patterns, deployment strategies, observability, quality evaluations, multi-agent orchestration, and MCP server integration.

How do I install aws-strands-agents-agentcore?

Run npx skills add https://github.com/sammcj/agentic-coding --skill aws-strands-agents-agentcore in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/aws-strands-agents-agentcore/ (personal) or .claude/skills/aws-strands-agents-agentcore/ (project).

Which AI agents can use aws-strands-agents-agentcore?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is aws-strands-agents-agentcore safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains aws-strands-agents-agentcore?

It is published by sammcj in sammcj/agentic-coding. It has 95 recorded installs.

More from sammcj/agentic-coding

View all →

Critically analyse the reasoning in written content (articles, blogs, transcripts, reports), not code. Use only when explicitly asked to critically analyse or critique an argument.

AI & Agents2.4K installs

Applies the Diataxis framework to create or improve technical documentation. Use when being asked to write high quality tutorials, how-to guides, reference docs, or explanations, when reviewing documentation quality, or when deciding what type of documentation to create. Helps identify documentation types using the action/cognition and acquisition/application dimensions.

Docs & Writing615 installs

creating-development-plans

sammcj/agentic-coding

Creates structured development plans with phased task breakdowns, requirements, and QA checklists. Use when the user explicitly asks to create a dev plan, development plan, or document development requirements.

ghostty-config

sammcj/agentic-coding

Open the skill to read its SKILL.md instructions.

AI & Agents221 installs

code-simplification

sammcj/agentic-coding

Open the skill to read its SKILL.md instructions.

AI & Agents203 installs

prompt-enhancer

sammcj/agentic-coding

Open the skill to read its SKILL.md instructions.

AI & Agents184 installs

Popular devops & cloud skills

View category →

microsoft-foundry

microsoft/azure-skills

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure

OfficialDevOps & Cloud579.1K installs

azure-diagnostics

microsoft/azure-skills

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.

OfficialDevOps & Cloud569.8K installs

azure-prepare

microsoft/azure-skills

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

OfficialDevOps & Cloud569K installs

azure-ai

microsoft/azure-skills

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

OfficialDevOps & Cloud568.8K installs

azure-deploy

microsoft/azure-skills

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.

OfficialDevOps & Cloud568.6K installs

azure-validate

microsoft/azure-skills

Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.

OfficialDevOps & Cloud568K installs