mcpField
A
aws-agentcore

aws-agentcore

github.com/hoodiniAgent workflows291148 installsUpdated 5d ago
Repository

About aws-agentcore

AWS Bedrock AgentCore is a set of AWS primitives for building and operating AI agents. It covers agent execution, memory, identity, observability, orchestration, and connections that turn APIs or Lambda into MCP-compatible tools.

Key features

  1. 01Framework-agnostic serverless agent runtime
  2. 02API and Lambda to MCP tools
  3. 03Semantic and preference memory strategies
  4. 04Agent orchestration with sub-agents
  5. 05Identity, guardrails, and observability

Use cases

  1. 01Build an agent using API or Lambda tools
  2. 02Create agents with semantic memory
  3. 03Coordinate specialized research sub-agents

MCP support

AgentCore Gateway converts APIs and Lambda functions into MCP-compatible tools. These tools can then be used by agents.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/hoodini/ai-agents-skills --skill aws-agentcore

After installing, type/aws-agentcorein Claude Code to confirm it loaded.

Details

From the project README

AWS Bedrock AgentCore

Build production-grade AI agents on AWS infrastructure.

Quick Start

import boto3
from agentcore import Agent, Tool

# Initialize AgentCore client
client = boto3.client('bedrock-agent-runtime')

# Define a tool
@Tool(name="search_database", description="Search the product database")
def search_database(query: str, limit: int = 10) -> dict:
    # Tool implementation
    return {"results": [...]}

# Create agent
agent = Agent(
    model_id="anthropic.claude-3-sonnet",
    tools=[search_database],
    instructions="You are a helpful product search assistant."
)

# Invoke agent
response = agent.invoke("Find laptops under $1000")

AgentCore Components

AgentCore provides these primitives:

ComponentPurpose
RuntimeServerless agent execution (framework-agnostic)
GatewayConvert APIs/Lambda to MCP-compatible tools
MemoryMulti-strategy memory (semantic, user preference)
IdentityAuth with Cognito, Okta, Google, EntraID
ToolsCode Interpreter, Browser Tool
ObservabilityDeep analysis and tracing

Lambda Tool Integration

# Lambda function as tool
import json

def lambda_handler(event, context):
    action = event.get('actionGroup')
    function = event.get('function')
    parameters = event.get('parameters', [])
    
    # Parse parameters
    params = {p['name']: p['value'] for p in parameters}
    
    if function == 'get_weather':
        result = get_weather(params['city'])
    elif function == 'book_flight':
        result = book_flight(params['origin'], params['destination'])
    
    return {
        'response': {
            'actionGroup': action,
            'function': function,
            'functionResponse': {
                'responseBody': {
                    'TEXT': {'body': json.dumps(result)}
                }
            }
        }
    }

Agent Orchestration

from agentcore import SupervisorAgent, SubAgent

# Create specialized sub-agents
research_agent = SubAgent(
    name="researcher",
    model_id="anthropic.claude-3-sonnet",
    instructions="You research and gather information."
)

writer_agent = SubAgent(
    name="writer", 
    model_id="anthropic.claude-3-sonnet",
    instructions="You write clear, engaging content."
)

# Create supervisor
supervisor = SupervisorAgent(
    model_id="anthropic.claude-3-opus",
    sub_agents=[research_agent, writer_agent],
    routing_strategy="supervisor"  # or "intent_classification"
)

response = supervisor.invoke("Write a blog post about AI agents")

Guardrails Integration

from agentcore import Agent, Guardrail

# Define guardrail
guardrail = Guardrail(
    guardrail_id="my-guardrail-id",
    guardrail_version="1"
)

agent = Agent(
    model_id="anthropic.claude-3-sonnet",
    guardrails=[guardrail],
    tools=[...],
)

AgentCore Gateway

Convert existing APIs to MCP-compatible tools:

# gateway_setup.py
from bedrock_agentcore import GatewayClient

gateway = GatewayClient()

# Create gateway from OpenAPI spec
gateway.create_target(
    name="my-api",
    type="OPENAPI",
    openapi_spec_path="./api-spec.yaml"
)

# Create gateway from Lambda function
gateway.create_target(
    name="my-lambda-tool",
    type="LAMBDA",
    function_arn="arn:aws:lambda:us-east-1:123456789:function:my-tool"
)

AgentCore Memory

from agentcore import Agent, Memory

# Create memory with multiple strategies
memory = Memory(
    name="customer-support-memory",
    strategies=["semantic", "user_preference"]
)

agent = Agent(
    model_id="anthropic.claude-3-sonnet",
    memory=memory,
    tools=[...],
)

# Memory persists across sessions
response = agent.invoke(
    "What did we discuss last time?",
    session_id="user-123"
)

Official Use Cases Repository

AWS provides production-ready implementations:

Repository: https://github.com/awslabs/amazon-bedrock-agentcore-samples

Available Use Cases (02-use-cases/)
Use CaseDescription
A2A Multi-Agent Incident ResponseAgent-to-Agent with Strands + OpenAI SDK
Customer Support AssistantMemory, Knowledge Base, Google OAuth
Market Trends AgentLangGraph with browser tools
DB Performance AnalyzerPostgreSQL integration
Device Management AgentIoT with Cognito auth
Enterprise Web IntelligenceBrowser tools for research
Text to Python IDEAgentCore Code Interpreter
Video Games Sales AssistantAmplify + CDK deployment
Quick Start with Use Cases
git clone https://github.com/awslabs/amazon-bedrock-agentcore-samples.git
cd amazon-bedrock-agentcore-samples/02-use-cases/customer-support-assistant
# Follow README for deployment

Resources

Comments

Markdown supported