Rename aws-core to aws-agent-toolkit and align its auth with the toolkit - #22
Merged
morgante merged 2 commits intoSep 15, 2026
Merged
Conversation
The plugin is the Agent Toolkit for AWS, so name the card after it rather than AWS Core. Credentials come from the standard AWS chain, and the toolkit selects profiles via AWS_MCP_PROXY_PROFILES, so replace the AWS_PROFILE entry and let both env values default to empty when the user has saved nothing. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Live-tested the config against the proxy. AWS_MCP_PROXY_PROFILES takes a space-separated list and enables per-call switching via the aws_profile tool parameter, and determine_aws_region() reads the profile's region first and only falls back to AWS_REGION when the profile sets none, so AWS_REGION does not override a profile region. Say both accurately. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
morgante
approved these changes
Sep 15, 2026
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
aws-coreplugin toaws-agent-toolkit, so the card is named after the product it actually is (displayName: "Agent Toolkit for AWS"), and movelogo.svgwith it.AWS_PROFILEenv entry withAWS_MCP_PROXY_PROFILES. This is not a rename: the proxy reads it as a space-separated list, takes the first as the default, exposes the rest for per-call override via theaws_profiletool parameter, and gives it precedence over--profile/AWS_PROFILE.:-default so an unset credential does not leave an unresolved placeholder.optionalPluginsentry in.devin-plugin/plugin.json(list stays sorted and canonical).The server command and endpoint (
uvx mcp-proxy-for-aws-cli@latest https://aws-mcp.us-east-1.api.aws/mcp) are unchanged. Since the slug changes, existing installations ofaws-corewill need to install the renamed plugin, and a savedAWS_PROFILEcredential will not carry over toAWS_MCP_PROXY_PROFILES.Live auth test
The empty
:-defaults mean both env vars are set but empty when the user has saved nothing, so I tested that case end to end against the real endpoint rather than assuming it is safe. WithAWS_MCP_PROXY_PROFILES=""andAWS_REGION="", aninitialize+tools/listhandshake and a realaws___run_scripttool call callingsts:GetCallerIdentityboth succeed, identical to a no-env baseline.Empty is safe because every read site in the proxy guards on truthiness, and because the signing region comes from the endpoint before the environment is consulted at all:
server.py:env_profiles = os.environ.get('AWS_MCP_PROXY_PROFILES')/if env_profiles:— an empty string is falsy, so no profile is pinned and a plainboto3.Session()runs the full default chain.utils.pydetermine_signing_region(): the endpoint region wins over profile and environment, soaws-mcp.us-east-1.api.awsresolves tous-east-1regardless ofAWS_REGION.utils.pydetermine_aws_region(): profile region first,AWS_REGIONonly as a fallback — which is why the description callsAWS_REGIONa fallback rather than an override.Credential sources verified against the live endpoint:
~/.aws/config) +aws loginsessionfailed due to expired or invalid AWS credentials, confirming the env source is consumed and takes precedenceAWS_MCP_PROXY_PROFILEScreate_aws_session, confirming the variable is honoredNot exercised, because the test machine has no such credentials available: SSO, EC2/ECS instance roles, web identity, and process credentials. All of these ride the same
boto3.Session()the tested sources do, so they are covered by code path but not by live evidence.Test plan
python3 scripts/validate.py→ok: 170 entries (169 authored, 1 upstream)python3 scripts/validate.py --fix→ no changes (manifest already canonical)python3 scripts/validate.py --fetch→ all pinned upstream shas resolve${<OWN_KEY>}placeholdersGenerated with Devin