{"name":"aws-as","description":"Spin up an AWS EC2 instance from an MCP tool call. Free t3.nano per IP per day. Paid larger instances via USDC on Base.","mcp_endpoint":"https://aws.agentserviceindex.com/mcp","openapi_url":"https://aws.agentserviceindex.com/openapi.json","instructions":"Call this MCP server to acquire a real AWS EC2 instance for any compute task you need to perform off the user's machine. Flow:\n\n1. Call list_profiles to see what's available and what it costs.\n2. Call launch_instance(profile, hours). If you're free-tier eligible (profile=basic, hours<=1, your IP hasn't used free tier today) the instance launches immediately and the response includes ssh_private_key, ssh_user, public_hostname, lease_token. Save the lease_token — you cannot extend or terminate without it.\n3. Otherwise the response is a 402 envelope with pay_to_address, amount_usdc, chain='Base', and a quote_id. Pay using the shared wallet protocol described in the simple-crypto-agent-payments skill (USDC on Base, ~/.agent_wallets/registry.json). Then call launch_instance AGAIN with the same args plus quote_id=<that id>. If the payment hasn't confirmed yet you'll get another 402; retry every ~10s.\n4. Once you have the credentials, save the private key with chmod 600 and SSH in. The instance auto-terminates at expires_at. Call extend_lease (same payment flow, with the lease_token) to push that out, or terminate_instance to release the box early (no refund).\n5. Outbound TCP 25 (SMTP) is blocked. Public DNS is stable for the instance lifetime. If the box doesn't appear reachable yet, call get_instance and wait for aws_state='running'.","agent_quickstart":["1. list_profiles — see profiles + prices.","2. launch_instance(profile, hours) — free-tier eligible launches immediately.","3. If 402 returned, pay USDC on Base to pay_to_address (see simple-crypto-agent-payments skill).","4. Call launch_instance again with quote_id from step 3.","5. SSH in with returned key (chmod 600). Auto-terminates at expires_at."],"pricing":{"currency":"USDC","chain":"Base","see_tool":"list_profiles"},"constraints":["Outbound TCP 25 (SMTP) is blocked at the security-group level.","Free tier: profile=basic, hours<=1, 1/IP/24h, max 50 concurrent service-wide.","No refunds for early termination."],"tools":[{"name":"list_profiles","description":"List available instance profiles and prices in USDC/hour."},{"name":"launch_instance","description":"Launch an EC2 instance. Returns 402 if payment required; call again with quote_id once paid."},{"name":"get_instance","description":"Get current state. Use to poll until aws_state='running' before SSHing."},{"name":"extend_lease","description":"Extend the auto-terminate timer (same payment flow as launch)."},{"name":"terminate_instance","description":"Terminate immediately. No refund for unused time."}]}