- 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
This is a project generated by the AgentCore CLI!
Layout
The generated application code lives at the agent root directory. At the root, there is a .gitignore file, an
agentcore/ folder which represents the configurations and state associated with this project. Other agentcore
commands like deploy, dev, and invoke rely on the configuration stored here.
Agent Root
The main entrypoint to your app is defined in main.py. Using the AgentCore SDK @app.entrypoint decorator, this
file defines a Starlette ASGI app with the chosen Agent framework SDK running within.
model/load.py instantiates your chosen model provider.
Environment Variables
| Variable | Required | Description |
|---|---|---|
LOCAL_DEV |
No | Set to 1 to use .env.local instead of AgentCore Identity |
Developing locally
If installation was successful, a virtual environment is already created with dependencies installed.
Run source .venv/bin/activate before developing.
agentcore dev will start a local server on 0.0.0.0:8080.
In a new terminal, you can invoke that server with:
agentcore invoke --dev "What can you do"
Deployment
After providing credentials, agentcore deploy will deploy your project into Amazon Bedrock AgentCore.
Use agentcore invoke to invoke your deployed agent.