- workspace-mcp: add proxy.py (port 8080) that reads X-Actor-Id header,
fetches per-user Google credentials from Secrets Manager, writes creds
file, sets USER_GOOGLE_EMAIL, proxies to workspace-mcp on port 8081
- workspace-mcp: update bootstrap to start workspace-mcp on 8081 + proxy on 8080
- workspace-mcp: update Dockerfile to include proxy.py
- oauth-handler Lambda: new Lambda with /oauth/start + /oauth/callback
routes; exchanges Google auth code, stores tokens in Secrets Manager
at agent-claw/google-credentials/{actor_id_safe}, updates DynamoDB
- CDK: add OAuthHandler Lambda + GET /oauth/start + /oauth/callback routes
- CDK: remove shared google-workspace-credentials secret; add per-user
secret IAM grants (agent-claw/google-credentials/*) for workspace-mcp
role, runtime1 role, and oauth-handler role
- CDK: output OAuthStartUrl + OAuthRedirectUri
- agent-runner: pass google_email in user_profile payload
- main.py: pass actor_id as X-Actor-Id header in workspace-mcp MCP calls;
skip workspace-mcp if user has no google_email; add connect_google_account
tool that generates OAuth URL for the current user
- main.py: include google_email in user_context for system prompt
- agentcore.json: add OAUTH_START_URL env var for agent runtime
AgentCore Project
This project was created with the AgentCore CLI.
Project Structure
my-project/
├── AGENTS.md # AI coding assistant context
├── agentcore/
│ ├── agentcore.json # Project config (agents, memories, credentials, gateways, evaluators)
│ ├── aws-targets.json # Deployment targets (account + region)
│ ├── .env.local # Secrets — API keys (gitignored)
│ ├── .llm-context/ # TypeScript type definitions for AI assistants
│ │ ├── agentcore.ts # AgentCoreProjectSpec types
│ │ ├── aws-targets.ts # Deployment target types
│ │ └── mcp.ts # Gateway and MCP tool types
│ └── cdk/ # CDK infrastructure (@aws/agentcore-cdk)
├── app/ # Agent application code
└── evaluators/ # Custom evaluator code (if any)
Getting Started
Prerequisites
- Node.js 20.x or later
- Python 3.10+ and uv for Python agents (install uv)
- AWS credentials configured (
aws configureor environment variables) - Docker (only for Container build agents)
Development
Run your agent locally:
agentcore dev
Deployment
Deploy to AWS:
agentcore deploy
Commands
| Command | Description |
|---|---|
agentcore create |
Create a new AgentCore project |
agentcore add |
Add resources (agent, memory, credential, gateway, evaluator, policy) |
agentcore remove |
Remove resources |
agentcore dev |
Run agent locally with hot-reload |
agentcore deploy |
Deploy to AWS via CDK |
agentcore status |
Show deployment status |
agentcore invoke |
Invoke agent (local or deployed) |
agentcore logs |
View agent logs |
agentcore traces |
View agent traces |
agentcore eval |
Run evaluations |
agentcore package |
Package agent artifacts |
agentcore validate |
Validate configuration |
agentcore pause |
Pause a deployed agent |
agentcore resume |
Resume a paused agent |
agentcore fetch |
Fetch remote resource definitions |
agentcore import |
Import existing resources |
agentcore update |
Check for CLI updates |
Configuration
Edit the JSON files in agentcore/ to configure your project. See agentcore/.llm-context/ for type definitions and validation constraints.
The project uses a flat resource model — agents, memories, credentials, gateways, evaluators, and policies are top-level arrays in agentcore.json. Resources are independent; agents discover memories and credentials at runtime via environment variables or SDK calls.
Resources
| Resource | Purpose |
|---|---|
| Agent (runtime) | HTTP, MCP, or A2A agent deployed to AgentCore Runtime |
| Memory | Persistent context storage with configurable strategies |
| Credential | API key or OAuth credential providers |
| Gateway | MCP gateway that routes tool calls to targets |
| Gateway Target | Tool implementation (Lambda, MCP server, OpenAPI, Smithy, API Gateway) |
| Evaluator | Custom LLM-as-a-Judge or code-based evaluation |
| Online Eval Config | Continuous evaluation pipeline for deployed agents |
| Policy | Cedar authorization policies for gateway tools |
Agent Types
- Template agents: Created from framework templates (Strands, LangChain/LangGraph, GoogleADK, OpenAI Agents, Autogen)
- BYO agents: Bring your own code with
agentcore add agent --type byo - Import agents: Import existing Bedrock agents with
agentcore import
Build Types
- CodeZip: Python source packaged as a zip and deployed directly to AgentCore Runtime
- Container: Docker image built via CodeBuild (ARM64), pushed to ECR, and deployed to AgentCore Runtime