Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AWS_SSO_MCP_CONFIGNoOptional path to the aws-sso-mcp TOML config file. Defaults to ~/.config/aws-sso-mcp/config.toml (or %USERPROFILE%\.config\aws-sso-mcp\config.toml on Windows).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
orgs_listA

List every org configured in the aws-sso-mcp TOML config.

use_orgB

Set the active org for this session (one-off org= overrides still win).

current_orgA

Report the currently active org, if any.

org_statusB

Report token validity and cache freshness for an org (defaults to the active org).

token_statusB

Check cached SSO token validity WITHOUT ever opening a browser.

loginA

Authenticate to an org via SSO device authorization (opens a browser for approval).

This is the only tool that will ever open a browser. Queries never start a sign-in on your behalf; they fail with a message telling you to call this first, so a browser window never appears unexpectedly mid-query.

refresh_accountsA

Force a refresh of the cached account directory for one org, or every configured org.

cache_statusA

Report cache freshness for one org, or every configured org.

search_accountsB

Search the cached account directory by exact name, substring, or account id.

The cache is refreshed automatically per org if it is missing or older than
the configured TTL. ``name_contains`` is a case-insensitive substring and
behaves identically to the ``name_contains`` selector on ``aws_query``, so
what you find here is exactly what a query will target.
list_rolesC

List the IAM roles granted to you on one account, via that account's SSO portal.

explain_role_selectionA

Dry-run deterministic role resolution for one account; makes no service call.

Shows exactly which role would be assumed and why - explicit override, TOML environment mapping, or sole granted role - without the model ever choosing a role itself.

aws_queryA

Run one AWS API call across every account a selector resolves to.

``service``/``operation``/``params`` follow the AWS CLI and botocore shape,
e.g. ``service="ec2"``, ``operation="DescribeInstances"``,
``params={"Filters": [{"Name": "instance-state-name", "Values": ["stopped"]}]}``.
Paginated operations are followed to completion automatically, so results
are complete rather than a silent first page. If a result is truncated,
raise ``max_items`` to collect more from each account.

``region`` is always required and never defaulted. Account selectors decide
which accounts are touched; with none given, every account in the active org
is targeted, subject to the configured blast-radius cap. The model never
picks which IAM role to assume - pass ``role=`` to override the
deterministic TOML/sole-grant resolution.

Any operation the assumed role may perform is dispatched - reads, writes,
deletes, secret reads, all of it - with AWS IAM as the sole authorization
boundary. Nothing is refused locally; if the role lacks permission, AWS
returns AccessDenied and that is what comes back.
run_dagB

Run a small declarative multi-step query DAG against every resolved account.

Each entry in ``steps`` is
``{"id": ..., "service": ..., "operation": ..., "params": {...},
"extract": "...", "depends_on": [...]}``.

A later step's ``params`` may reference an earlier step's extracted output
anywhere a literal would go, via ``{"$ref": "<step_id>"}``. There is no
expression language and nothing is ever evaluated as code.

Every resolved account runs its own independent copy of the whole DAG, with
one credential mint per account rather than one per step. As with
``aws_query``, AWS IAM is the sole authorization boundary for every step,
and ``max_items`` raises the per-account pagination ceiling for every step.
config_showA

Show the resolved, loaded configuration (it never contains secrets).

config_validateA

Re-load and validate the config file, reporting errors without applying them.

perf_statsA

Report cache hit/miss counts and executor sizing for the running server.

Answers "why was that fan-out slow?" without turning on debug logging. A high credential-broker miss rate points to short-lived sessions or role churn; a high role-cache miss rate suggests the directory TTL is too short.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 16 tools

Disambiguation4/5

Most tools have clearly distinct responsibilities, and aws_query versus run_dag is well separated by single-call versus dependent multi-step execution. The main ambiguity is among token_status, cache_status, and org_status, since org_status substantially combines the other two.

Naming Consistency3/5

All names use readable snake_case, but their structure is inconsistent: list_roles and refresh_accounts are verb-first, while orgs_list, config_show, and config_validate are noun-first. Names such as current_org and perf_stats add further noun-phrase patterns, making the convention only moderately predictable.

Tool Count4/5

Sixteen tools is slightly above the ideal range, and the separate status and diagnostic views add some weight. However, the server covers org and session management, account and role discovery, configuration, query execution, and performance diagnostics, so the count remains reasonable.

Completeness4/5

The primary workflow is covered end to end, from org selection and authentication through account discovery, deterministic role resolution, and arbitrary AWS operations, with run_dag supporting dependent calls. Minor administrative omissions such as explicit logout/session revocation and cache clearing remain, but they do not block normal discovery and querying.

Maintenance

ActivityMaintained
ResponsivenessNo issues