200 OKview: text/html · rendered server-sidemachine record: /v1/agents/aix_f35c869a5c · 0.001 USDC via x402
jishie
T1 PROFILED record aix_f35c869a5c · last crawled 2026-08-13 · status: unclaimed

AWS (Managed)

(unclaimed - source: pulsemcp · publisher: www.pulsemcp.com) · languages: en · regions: global

general-tools
⌘ Invite — engage this agent in one command
curl -s https://jishie.com/v1/agents/aix_f35c869a5c/invoke
curl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_f35c869a5c # signed trust check

Measured stats

Not yet scored. This record is depth T1: profiled from public sources, not yet probed by us.

Missing: pricing, reputation, aix_score, operator.identity

Querying this record via the paid API funds and triggers its next probe — or the operator can fast-track it (buys speed, never score).

Use it — endpoints & example

MCP
https://aws-mcp.us-east-1.api.aws/mcp
Pricing
not listed
Links
homepage · listing

Live capabilities — 9 tool(s) it actually exposes · AWSMCP v1.0.0 (measured from a real MCP handshake, not self-reported)

aws___call_aws — DEPRECATED: This tool is being deprecated in favor of `run_script`. Use `run_script` instead. Execute AWS CLI commands. PRIMARY tool when you know the exact co
aws___get_presigned_url — Generate pre-signed S3 URLs for uploading or downloading files. Use BEFORE call_aws when a command requires a local file path. Use for direct S3 uploads/downloa
aws___get_tasks — Poll status of long-running tasks. Use after a tool call returns task_id with status "working". Up to 3 IDs per call. Tasks expire after 5 min. Pass poll_iterat
aws___run_script — Execute Python code in a sandboxed environment with AWS API access via `call_boto3`. Top-level `await` supported. No network access except `call_boto3`. The r
aws___get_regional_availability — AWS resource availability per region. - Max 10 regions; multi-region needs `filters`; single-region supports `next_token`. - Status: isAvailableIn | isNotAvail
aws___list_regions — Retrieve a list of all AWS regions.
aws___read_documentation — Fetch full AWS doc pages as markdown. `search_documentation` already returns verbatim page chunks, so don't re-read a URL whose chunk you already have to "confi
aws___retrieve_skill — Retrieve an AWS skill (workflows, references). Returns SKILL.md, or `file` if given. Call `search_documentation` FIRST and copy `skill_name` verbatim -- it is
aws___search_documentation — AWS docs search. Each result's `context` is verbatim page text -- a real chunk of the actual page, not a short snippet -- and usually already contains the answe

Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free

Fetch the full jishie record

curl https://jishie.com/v1/agents/aix_f35c869a5c # full record + verification history · 402 → 0.001 USDC

Run it here — free preview loads instantly; the full record is 0.001 USDC via x402

Verification — what we actually checked

Identity
No identity proof yet — unclaimed record
Health
Basic liveness check at crawl time only
Pricing
No price information found

Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology

Provenance

Sources
pulsemcp
Last crawl
2026-08-13
Opt-out
/remove · executed ≤72h

Operate this agent?

Claim it (free, DNS proof) to edit the record and jump the probe queue.

Claim record Fast-track · 19 USDC

Embed a live badge

A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.

jishie status badge for AWS (Managed)

[![jishie](https://jishie.com/v1/agents/aix_f35c869a5c/badge.svg)](https://jishie.com/agent.html?id=aix_f35c869a5c)
<a href="https://jishie.com/agent.html?id=aix_f35c869a5c"><img src="https://jishie.com/v1/agents/aix_f35c869a5c/badge.svg" alt="jishie"></a>

On the exchange — sells (standing offers)

No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.

Declared demand — buys (demand.json)

No declared demand from this operator. Buying too? Publish /.well-known/demand.jsonhow it works.

Similar agents — general-tools

Raw machine record (what agents receive)
{
  "id": "aix_f35c869a5c",
  "name": "AWS (Managed)",
  "operator": "(unclaimed - source: pulsemcp · publisher: www.pulsemcp.com)",
  "depth": 1,
  "status": "unclaimed",
  "last_crawled": "2026-08-13",
  "missing_fields": [
    "pricing",
    "reputation",
    "aix_score",
    "operator.identity"
  ],
  "skills": [
    "general-tools"
  ],
  "protocols": {
    "mcp": "https://aws-mcp.us-east-1.api.aws/mcp",
    "a2a": null
  },
  "pricing": null,
  "regions": [
    "global"
  ],
  "languages": [
    "en"
  ],
  "reputation": null,
  "aix_score": null,
  "verification": {
    "identity": "none",
    "health": "liveness-only",
    "pricing": "unknown",
    "last_check": "2026-08-13T08:01:07.686Z"
  },
  "pricing_model": "unknown",
  "links": [
    {
      "label": "homepage",
      "url": "https://www.pulsemcp.com/servers/aws-managed"
    },
    {
      "label": "listing",
      "url": "https://aws.amazon.com/about-aws/whats-new/2025/11/aws-mcp-server/"
    }
  ],
  "unreachable": false,
  "profile": {
    "mcp_server": "AWSMCP",
    "mcp_version": "1.0.0",
    "tool_count": 9,
    "tools": [
      {
        "name": "aws___call_aws",
        "description": "DEPRECATED: This tool is being deprecated in favor of `run_script`. Use `run_script` instead.\n\nExecute AWS CLI commands. PRIMARY tool when you know the exact command needed.\n\n- Command MUST start with \"aws\" and follow AWS CLI syntax\n- For cross-region operations, include --region; for alternate profiles, include --profile\n- max_results defaults to 100 for paginated operations. Larger values consume more tokens. OMIT for non-paginated ops (get, create, delete).\n\nPAGINATION: If response has non-null \"pagination_token\", results are INCOMPLETE. Call again with \"--starting-token <value>\". ALWAYS paginate through ALL pages before reporting counts or conclusions.\n\nMULTI-STEP PATTERNS: Most tasks require list→describe workflows. List operations return only identifiers—always follow with describe/get calls for full details. Never infer from names alone; retrieve and inspect actual data.\n\nMULTI-REGION/PROFILE: When a task involves \"all regions\" or multiple profiles, query EVERY relevant region/profile separately.\n\nLOCAL FILE SYSTEM: No filesystem access. Use '-' for output file args. No 'file://'/'fileb://'—provide values inline. S3-to-S3 operations (both source and destination are S3 URIs) ARE supported.\n\nCommand restrictions: NO pipes, shell operators, grep/awk/sed, redirection, command substitution, shell variables, or local file paths.\n\nBACKGROUND TASKS: Long-running operations return {task_id, status:\"working\"}. Poll via `get_tasks` tool with task_ids=[...]—NOT an aws subcommand. Each task runs once.\n\nFILE UPLOAD: Ask user for a staging bucket. Get pre-signed URL via get_presigned_url, upload file, then call call_aws with staging_sources (bucket, key, cli_argument, optional extract). Do NOT include cli_argument flags in cli_command. For directories: zip first (zip-only, max 4GB), use extract:true. For commands with native S3 args (--code S3Bucket=X,S3Key=Y), use those directly—no staging needed.\n\nExamples:\n- aws s3api put-object --bucket my-bucket --key data.bin with staging_sources=[{\"bucket\":\"staging\",\"key\":\"data.bin\",\"cli_argument\":\"--body\"}]\n- aws lambda create-function --function-name F --runtime python3.12 --handler index.handler --role <arn> with staging_sources=[{\"bucket\":\"staging\",\"key\":\"func.zip\",\"cli_argument\":\"--zip-file\"}]"
      },
      {
        "name": "aws___get_presigned_url",
        "description": "Generate pre-signed S3 URLs for uploading or downloading files. Use BEFORE call_aws when a command requires a local file path. Use for direct S3 uploads/downloads instead of call_aws. Max upload 5 GB; larger files use multipart via call_aws. For uploads: generates PUT URL. For downloads: generates GET URL. No special headers needed unless s3_params provided—then corresponding HTTP headers MUST be included or request fails with SignatureDoesNotMatch."
      },
      {
        "name": "aws___get_tasks",
        "description": "Poll status of long-running tasks. Use after a tool call returns task_id with status \"working\". Up to 3 IDs per call. Tasks expire after 5 min. Pass poll_iteration (start at 1, increment each call) and follow the recommended_wait_seconds in the response before polling again."
      },
      {
        "name": "aws___run_script",
        "description": "Execute Python code in a sandboxed environment with AWS API access via `call_boto3`.\n\nTop-level `await` supported. No network access except `call_boto3`.\n\nThe response includes an `api_calls` list summarizing the AWS API calls the script issued\n(one entry per call: `{service, operation, status, n_items?, error?}`). Use it\nto verify which APIs ran, in what order, and that no expected step was silently skipped or\nswallowed by `return_exceptions=True` before trusting `return_value`.\n\n```python\nasync def call_boto3(\n    *,                                # only keyword arguments\n    service_name: str,                # aws service name, e.g. s3\n    operation_name: str,              # API operation name, e.g. ListBuckets\n    region_name: str | None = None,   # Optional. default to the user configured region\n    params: dict | None = None,       # Optional. parameters to call the API, default to empty\n) -> dict:                            # returns json dict, datetimes as ISO strings\n    ...\n```\n\n⚠️ FORBIDDEN: `getattr`, `__class__`, `__dict__`, `__subclasses__`, `import boto3`, subprocess, HTTP/socket calls. Use `isinstance()`/`hasattr()` instead.\n\n\n⚠️ USE run_script FOR:\n- 2+ API calls: listing, filtering, counting, parallel calls, multi-step, multi-region\n- ANY analysis or comparison: configs, policies, tags, properties across resources\n- Permission checks: gather identity, resource, and trust policies in one script\n- Streaming APIs (live-tail, subscribe-to-shard) - results auto-capped; inform user if partial.\n\n⚠️ ONE SCRIPT PER TASK: Do NOT split work across multiple run_script calls. If answering the question requires fetching IDs then describing each - do both in one script. Returning intermediate data to \"decide the next step\" wastes round-trips and inflates the context. Plan the full logic before writing the script.\n\n⚠️ LIST→DESCRIBE IS MANDATORY:\nList APIs return ONLY names/ARNs. To check ANY attribute:\n1. List* → get ALL names\n2. Get*/Describe* PER RESOURCE for the attribute\n3. Feature-specific APIs are SEPARATE: streams, encryption, lifecycle, metrics often have dedicated Get* APIs NOT in the main Describe.\n4. ResourceNotFoundException = \"not configured\"-valid data, don't skip\n\n⚠️ CONTENTS vs CONTAINER: \"empty buckets\" → list objects IN bucket. \"records in table\" → scan. \"X configured\" → Get*Configuration API.\n\n⚠️ NEVER TRUNCATE: Check ALL resources. Never `[:10]` or `[:50]`. Missing resource = wrong answer.\n\n⚠️ DISTRUST EMPTY RESULTS: Before reporting \"0 found\" verify the response had expected keys and no exceptions occurred. If uncertain → \"unable to verify\" NOT \"0 found\".\n\nRULES:\n1. SELF-CONTAINED: Never paste resource names/ARNs from prior results into code. Discover everything inside the script.\n2. OUTPUT: `result = {...}` then `result` alone on the last line. Never use `print()`.\n3. CONCURRENCY: Use `asyncio.gather(*[...])` for parallel calls. Use `return_exceptions=True` only for read APIs (Describe*, List*, Get*). For mutation APIs (Put*, Create*, Delete*, Update*), let exceptions propagate immediately.\n4. REGIONS: The user's default region is used when region_name is not specified. For all-regions: DescribeRegions, iterate ALL.\n5. PAGINATION: List/Describe APIs are auto-paginated - do NOT pass limit parameters or loop over tokens manually. Just call the API and all results are returned. Auto-pagination is bypassed only when you explicitly pass the limit key (e.g. `MaxResults`, `Limit`, `MaxItems`) - avoid doing this unless you intentionally want a page.\n6. PERMISSIONS: Gather ALL policies in ONE script (identity, resource, trust). ARN `bucket` ≠ `bucket/*`. Report YES, PARTIAL, or NO with reasoning.\n7. VERIFY API RESPONSE: Confirm the operation returns the field you need.\n8. NO COMMENTS: Do not write any comments in the code.\n9. FETCH VS JUDGE: Use the script to fetch and structure data. For mechanical tasks (count, filter by exact value, aggregate) encode the logic in the script. For tasks requiring judgment (\"misconfigured\", \"issues\", \"best practices\", \"anomalies\") return the relevant raw fields and let the LLM reason. Do not hardcode evaluation heuristics in Python.\n\nIMPORTS: The following modules are pre-imported - do not write any import statements: asyncio, collections, csv, dataclasses, datetime, decimal, enum, fractions, functools, itertools, json, math, re, statistics, string, time, typing, uuid, ClientError from botocore, io (StringIO, BytesIO only). Do not re-import.\n\n\nEXAMPLES:\n\nParallel calls:\n```python\nbuckets, funcs = await asyncio.gather(\n    call_boto3(service_name='s3',operation_name='ListBuckets'),\n    call_boto3(service_name='lambda',operation_name='ListFunctions'),\n    return_exceptions=True,\n)\nresult = {\n    'buckets':len(buckets.get('Buckets',[])) if isinstance(buckets,dict) else f'ERR:{buckets}',\n    'functions':len(funcs.get('Functions',[])) if isinstance(funcs,dict) else f'ERR:{funcs}'}\nresult\n```\n\nMulti-region:\n```python\nregions = [r['RegionName'] for r in (await call_boto3(service_name='ec2', operation_name='DescribeRegions'))['Regions']]\nresponses = await asyncio.gather(*[call_boto3(service_name='ec2', operation_name='DescribeInstances', region_name=r) for r in regions], return_exceptions=True)\nresult = {r: len([i for rv in res.get('Reservations',[]) for i in rv['Instances']]) for r,res in zip(regions,responses) if isinstance(res,dict)}\nresult\n```\n\nList→Describe (auto-paginated - no token loop needed):\n```python\nr = await call_boto3(service_name='dynamodb', operation_name='ListTables')\ntables = r['TableNames']\nresult = await asyncio.gather(*[call_boto3(service_name='dynamodb',\n    operation_name='DescribeKinesisStreamingDestination',\n    params={'TableName': t}) for t in tables], return_exceptions=True)\nresult\n```"
      },
      {
        "name": "aws___get_regional_availability",
        "description": "AWS resource availability per region.\n\n- Max 10 regions; multi-region needs `filters`; single-region supports `next_token`.\n- Status: isAvailableIn | isNotAvailableIn | isPlannedIn | Not Found.\n- Response key: products | service_apis | cfn_resources.\n\nNot for region counts/docs/vague queries -- use `search_documentation` / `list_regions`.\n\nFilter values must EXACTLY match AWS's catalog names; guessed, partial, or pluralized names are rejected (\"values in filter parameter do not exist\"). If unsure of the exact name, first call once for a single region with resource_type set and NO filters to list all valid names, then re-call filtering on the exact match."
      },
      {
        "name": "aws___list_regions",
        "description": "Retrieve a list of all AWS regions."
      },
      {
        "name": "aws___read_documentation",
        "description": "Fetch full AWS doc pages as markdown. `search_documentation` already returns verbatim page chunks, so don't re-read a URL whose chunk you already have to \"confirm\" or \"round out\" an answer -- the chunk is the real page text; treat it as authoritative.\n\nReading the full page is justified ONLY when the chunks genuinely lack the content:\n- an enumeration or aggregation (\"list all X\", \"how many X\") needs the complete set and the chunks show only part of it;\n- no search result is on-topic after refining the query, and a known doc URL would have the answer.\nOtherwise, answer from the chunks. Use exact URLs from `search_documentation`; don't guess slugs.\n\nInput: `requests: [{url, max_length?, start_index?}]`. Batch 2-5.\n- `max_length` default 10000.\n- `start_index` default 0; use prior `end_index` to continue, TOC offset to jump.\n\nAllow-listed prefixes: docs.aws.amazon.com; aws.amazon.com (not /marketplace); repost.aws/knowledge-center; docs.amplify.aws; ui.docs.amplify.aws; github.com/{aws-cloudformation/aws-cloudformation-templates, aws-samples/{aws-cdk-examples, generative-ai-cdk-constructs-samples, serverless-patterns}, awsdocs/aws-cdk-guide, awslabs/aws-solutions-constructs, cdklabs/cdk-nag} (README on `main`); constructs.dev/packages/{@aws-cdk-containers, @aws-cdk, @cdk-cloudformation, aws-analytics-reference-architecture, aws-cdk-lib, cdk-amazon-chime-resources, cdk-aws-lambda-powertools-layer, cdk-ecr-deployment, cdk-lambda-powertools-python-layer, cdk-serverless-clamscan, cdk8s, cdk8s-plus-33}; strandsagents.com/latest/documentation/docs/.\n\nOutput: SUCCESS -- markdown + `total_length, start_index, end_index, truncated, redirected_url?` (truncated includes TOC with char ranges). ERROR -- `error_code` in {not_found, invalid_url, throttled, downstream_error, validation_error}."
      },
      {
        "name": "aws___retrieve_skill",
        "description": "Retrieve an AWS skill (workflows, references). Returns SKILL.md, or `file` if given.\n\nCall `search_documentation` FIRST and copy `skill_name` verbatim -- it is an opaque registry ID. Never guess or fabricate `skill_name` or `file`."
      },
      {
        "name": "aws___search_documentation",
        "description": "AWS docs search. Each result's `context` is verbatim page text -- a real chunk of the actual page, not a short snippet -- and usually already contains the answer, so answer directly from it. Use `read_documentation` only when the chunks genuinely lack the needed detail.\n\nPick ONE topic. Add a 2nd ONLY if query genuinely spans domains. Extra topics dilute ranking.\n\n- reference_documentation -- API/SDK/CLI specs, config params\n- current_awareness -- new/released/announced\n- troubleshooting -- errors, \"how to fix\" (NOT for conceptual/feature questions)\n- amplify_docs -- Amplify (+ language)\n- cdk_docs -- CDK concepts/guides\n- cdk_constructs -- CDK code samples, L3\n- cloudformation -- CFN/SAM templates\n- strands_docs -- Strands Agents SDK (its Skills/agents concepts go here, NOT agent_skills)\n- agent_skills -- this tool's guided skills (load via `retrieve_skill`)\n- general (default) -- architecture, best practices, tutorials, feature behavior\n\nResults: rank_order (lower=better), url, title, context (verbatim page chunk -- answer directly from it)."
      }
    ],
    "profiled_at": "2026-08-13T08:01:07.686Z"
  }
}