
What agents can do
Once connected, agents have access to the AWS Agent Toolkit — AWS’s official MCP service covering 15,000+ APIs across every AWS service:call_aws— execute any authenticated AWS API callsuggest_aws_commands— translate natural language to AWS API callsrun_script— run Python code with AWS API access in a sandboxed environmentsearch_documentation/read_documentation— search and read all AWS documentationget_presigned_url— generate pre-signed S3 URLs
ReadOnlyAccess. You can modify the role’s policies to expand or restrict what agents are permitted to do.
Connect
Open the connect modal
Go to Integrations and click Connect next to AWS. Enter a name for this account (e.g.
production or dev).Deploy the CloudFormation stack
Click Create via CloudFormation to open a pre-filled stack in your AWS console. If the link shows “Access Denied”, use the manual setup in the section below instead — it creates the same resources.
Manual CloudFormation setup
Use this if the one-click CloudFormation link shows “Access Denied”. The template below creates the same IAM resources.- Download the CloudFormation template. It creates an OIDC provider and a cross-account IAM role that trusts Tembo’s issuer, scoped to your org ID.
tembo-identity.json
Self-hosted Tembo: replace both occurrences of
app.tembo.io with your instance’s public hostname (the value of TEMBO_OIDC_ISSUER in your config).- In the AWS CloudFormation console, click Create stack → With new resources.
- Choose Upload a template file and upload
tembo-identity.json. - Enter your Tembo organization ID when prompted (visible in the connect modal).
- Deploy the stack. When it completes, open the Outputs tab and copy the
RoleArnvalue. - Back in Tembo, switch to Enter ARN manually and paste the ARN. Click Connect.
How authentication works
Tembo never stores AWS credentials. For each agent run:- Tembo mints a short-lived RS256 JWT (5-minute TTL) signed with its OIDC private key
- The JWT is exchanged with AWS STS via
AssumeRoleWithWebIdentity - STS validates the JWT by fetching Tembo’s public JWKS endpoint (
/.well-known/jwks.json) - Resulting temporary credentials (1-hour TTL) are injected into the agent’s sandbox at startup — they never leave the sandbox environment
Troubleshooting
"Access Denied" when opening the CloudFormation link
"Access Denied" when opening the CloudFormation link
The one-click URL fetches the CloudFormation template from an S3 bucket. If the bucket policy hasn’t been updated yet, AWS’s console will return an access denied error. Use the manual setup steps above — they create identical resources and work independently of S3 hosting.
STS AssumeRoleWithWebIdentity fails after deploy
STS AssumeRoleWithWebIdentity fails after deploy
Confirm the OIDC provider URL in your CloudFormation stack matches your Tembo instance exactly (including protocol, no trailing slash). For hosted Tembo this is
https://app.tembo.io. Check that the TemboOrgId parameter matches the organization ID shown in the Tembo connect modal.Agent can't reach AWS APIs
Agent can't reach AWS APIs
The agent sandbox requires outbound access to
https://aws-mcp.us-east-1.api.aws for the AWS Agent Toolkit MCP service. In self-hosted deployments on a private network, confirm egress to that endpoint is allowed.Agent hits permission errors on AWS calls
Agent hits permission errors on AWS calls
The default stack attaches
ReadOnlyAccess. To allow write operations, modify the TemboCrossAccountRole in your AWS account and attach additional policies. You can scope permissions tightly using IAM condition keys — the agent’s identity is distinguishable from human calls in CloudTrail.