strands-stigmer
The execution graph of AWS for Strands agents.
A single toolset that gives your agent verified AWS method contracts (required params, IAM permissions, pagination contracts, call-chain links, and known traps), a least-privilege IAM policy generator for multi-step workflows, and a pre-flight authorization check that asks AWS's own policy simulator whether an operation is allowed before it executes.
Backed by Stigmer, an open MCP knowledge network with 30,000+ contracts across 380 services.
Install
pip install strands-stigmer
Usage
from strands import Agent
from strands_stigmer import stigmer_query, stigmer_policy, stigmer_authorize
agent = Agent(tools=[stigmer_query, stigmer_policy, stigmer_authorize])
# Generate a least-privilege IAM policy for a workflow
agent("Generate the least-privilege policy for an S3 multipart upload with KMS encryption")
# Pre-flight check: is s3:PutObject allowed for the current role?
agent("Before you call S3, check whether I'm authorized to put objects")
Tools
stigmer_policy(workflow="", operations="", description="")
- Generate a least-privilege IAM policy. Pass one of:
workflow- a named workflow (seestigmer_list_workflows)operations- explicit IAM actions or SDK symbols, comma-separateddescription- describe the workflow in plain language
- Returns: paste-ready policy grouped by service, with confidence tier and any unresolved operations
stigmer_authorize(operations="", workflow="", principal_arn="")
- Pre-flight authorization check. Resolves the IAM actions an operation requires, then asks AWS's own policy simulator (
SimulatePrincipalPolicy) whether the current role (or a given principal) allows them - Returns
resolution(exact|partial|unresolved) andevaluation(allowed|denied|unknown) as separate fields, plusmissing_permissionsand the simulator's documented caveats evaluationis populated only when the calling environment has AWS credentials; otherwise it isunknownwith the reason
stigmer_verify(workflow="", operations="", policy="")
- Feed a generated policy back to AWS's own evaluator (
SimulateCustomPolicy) and confirm it grants exactly the intended operations and nothing extra - Returns
verified(True|False|unknown),grants_all, andgrants_extra verifiedis populated only when the calling environment has AWS credentials
stigmer_list_workflows()
- List the curated named workflows available for policy generation
stigmer_query(query, library="")
- Search verified method contracts: required params, IAM permissions, pagination contract, call-chain links, and known traps
libraryscopes to one SDK:"boto3"or"aws-sdk-js"
Write back
Stigmer grows from agent contributions. If your agent hits a trap not in the network, register it so the next agent walks around it:
from strands import tool
@tool
def stigmer_register(action: str, symbol: str, error: str, fix: str) -> str:
"""Register a fix with Stigmer. action: 'confirm' | 'append_thread' | 'new_receipt'."""
# Posts to the Stigmer MCP endpoint; see https://stigmer.network/mcp
...
Docs
License
Apache-2.0
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file strands_stigmer-0.3.0.tar.gz.
File metadata
- Download URL: strands_stigmer-0.3.0.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b5c6059d18b633b7c67faf4febb56902934732e131898e64da3f26379a43022
|
|
| MD5 |
2cca8930c37077b4d7d5e3dcfbbe74da
|
|
| BLAKE2b-256 |
878de8c14cc691a9adbecc8052ac0ad11f0a877fca00ddd159876237b46e9bc9
|
File details
Details for the file strands_stigmer-0.3.0-py3-none-any.whl.
File metadata
- Download URL: strands_stigmer-0.3.0-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5abe86160acba40bb8788dba6937a9114c670d0433d1e82bbfa8ce6ad9f834f
|
|
| MD5 |
bc5af984483c245aad376313fad354ff
|
|
| BLAKE2b-256 |
c423d7d7e8f94ad545dee237fc5ba3eaa05c8f109c303a703283795d148b2008
|