Skip to main content
Glama
getnable

nable (finops-mcp)

by getnable

Connect AWS

connect_aws

Connects an existing AWS account by reading local credentials, verifying them against STS, and linking the one you choose. Lists available accounts first; nothing is stored or changed.

Instructions

Connect an AWS account from inside your MCP client, no terminal needed.

Propose-then-confirm and local-only. It reads AWS credentials that already exist on this machine (named profiles, environment, the default chain), verifies each against STS, and connects the one you choose. It never creates, modifies, or deletes anything in your AWS account, and credentials stay on this machine.

Call it with no arguments first to see which accounts are available (nothing is stored). Then call it again with account_id set to the one to connect.

Examples: - "Connect my AWS account" - "Use the credentials on this machine to connect AWS"

Input Schema

NameRequiredDescriptionDefault
account_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.8.213

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real context beyond annotations: propose-then-confirm, credentials never leave the machine, STS verification, and a no-arg discovery pass that stores nothing. It explicitly reassures 'never creates, modifies, or deletes anything in your AWS account', which is consistent with destructiveHint=false while readOnlyHint=false correctly reflects that a connection is persisted. It doesn't say what 'connected' unlocks or whether re-connecting replaces an existing connection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then constraints, then examples. The example utterances are mildly redundant given the prose above them, but every paragraph still carries information an agent would otherwise lack.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-optional-parameter connection tool with no output schema, the description covers the call sequence, side effects, safety profile, and credential handling — enough for an agent to invoke it correctly on the first try.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% (account_id has no description), so the description must carry the meaning — and it does: omit account_id to list available accounts, set it to the chosen identifier to connect. It doesn't state the identifier's format (account number vs profile name), which is the remaining gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Connect an AWS account') and immediately scopes it: reads existing local credentials, verifies them against STS, connects the chosen one. This clearly separates it from connect_azure and connect_gcp, which are the only plausibly confusable siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit two-call workflow: no arguments first to enumerate accounts (nothing stored), then a second call with account_id. That is exactly the sequencing an agent needs. It stops short of naming alternatives or exclusions (e.g. when to prefer connect_gcp or list_connected_providers instead), so not a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.