InsideOut (Riley)

com.luthersystems.insideout由 insideout.luthersystems.com 發布v0.36.3更新於 Nov 2, 2026

Designs, prices, and deploys AWS/GCP cloud infrastructure from plain-English requirements.

發布方自己的服務:Inside Ads

已驗證Streamable HTTP可網頁執行雲端與基礎設施開發者工具

概覽

AI 產生的概覽

InsideOut(Riley)透過對話式描述來設計、估算價格、產生 Terraform 並部署 AWS/GCP 雲端基礎設施。

可以做什麼
  • 與基礎設施顧問 Riley 進行分步設計對話,並檢視工作階段紀錄與目前堆疊狀態
  • 檢視堆疊版本歷程、含價格差異的結構化變更比對,並回復到舊版本
  • 產生 Terraform、以 plan 預覽變更,並以長時間工作方式部署或銷毀基礎設施
  • 透過狀態查詢與分頁日誌監控工作,並在部署後讀取 Terraform 輸出
  • 檢查已部署的 AWS 與 GCP 資源(單筆或最多 32 項批次探測),並執行唯讀的漂移偵測
  • 等待待處理回覆或等待使用者連接雲端帳號、取得工作流程說明,並向 Luther Systems 提交意見回饋
適用情境
適合想用自然語言描述應用程式、直接取得可審閱且可部署的雲端基礎設施、而不必手寫 Terraform 的情境;也適合檢查、比對、監控或拆除已透過 InsideOut 部署的基礎設施。
執行需求
以遠端 HTTPS 端點執行(無需本機執行檔),也可透過 stdio 執行 Docker 映像。安裝不需 API 金鑰。僅在部署時透過瀏覽器連接流程提供雲端憑證,並涉及 Luther Systems 訂閱。
安裝前請注意
部署與銷毀會變更真實雲端資源並產生雲端費用,請先檢視 plan、變更比對與費用估算。tfdeploy 與 tfdestroy 會啟動長時間工作。使用者須透過瀏覽器流程連接自己的雲端帳號,服務將代為管理其基礎設施。透過意見回饋工具提交的內容會傳送給 Luther Systems。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 InsideOut (Riley),將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/com.luthersystems.insideout%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "insideout-riley": {
      "type": "http",
      "url": "https://app.luthersystems.com/v1/insideout-mcp"
    }
  }
}

README

InsideOut by Luther Systems

[Smithery]

Cloud infrastructure automation. Describe your application in natural language and InsideOut will design, configure, deploy, and manage production-ready backend infrastructure -- in minutes, not weeks.

Works standalone or integrated directly into AI app builders via MCP.


Quick Install (30 seconds)

bash
npx skills add luthersystems/insideout-agent-skills

Works with Claude Code, Codex, Cursor, Kiro, Windsurf, and 30+ other tools.

View on Skills.sh | Try the web app -- no install required.


What Problem Does InsideOut Solve?

Setting up cloud infrastructure is slow, error-prone, and requires deep DevOps expertise. Teams spend weeks on plumbing -- networking, security, storage, scaling configuration -- before writing a single line of product code.

InsideOut eliminates this. You describe your application; InsideOut handles the rest: architecture design, Terraform generation, cost estimation, deployment, and ongoing management.

Before InsideOut: Weeks of manual infrastructure setup, Terraform authoring, and cloud configuration. With InsideOut: Backend infrastructure deployed in minutes, managed continuously.

CapabilityManual TerraformInsideOut
Time to deployDays to weeksMinutes
Security defaultsManualAutomatic
Cost visibilityPost-deploy billingPre-deploy estimates
Observability setupManualDay one
AI app builder integrationNoneNative (Claude Code, Codex, Kiro, Antigravity)
Terraform ownershipYesYes (generated, exportable)

What You Can Do

  • Design AWS/GCP architectures conversationally
  • Get real-time cost estimates before deploying
  • Generate production-ready Terraform
  • Deploy infrastructure directly from your tool
  • Inspect environments and detect drift
  • Monitor logs and manage resources over time

Quick Start

Once installed, just ask:

"Build me a scalable backend for my golang microservices app on AWS with a DB and auth."

InsideOut will:

  1. Propose an architecture (ECS, RDS, Cognito, ALB, VPC...)
  2. Estimate monthly cost
  3. Generate production-ready Terraform
  4. Deploy to your AWS or GCP account
You: "I need infrastructure for an e-commerce platform, 1k monthly users on AWS"
Riley: "I'd recommend ECS for your containers, RDS PostgreSQL for your database,        ElastiCache Redis for sessions, and an ALB. Estimated cost: ~$350/month.        Want me to adjust anything?"
You: "Looks good, generate the Terraform"
[Generates production-ready Terraform files]
You: "Deploy it"
[Deploys to AWS, streams logs in real-time]

Who Is This For?

UserUse case
Solo developersShip a production backend without DevOps expertise
Startup engineering teamsMove from idea to deployed infrastructure in minutes
AI app buildersIntegrate infrastructure automation directly into AI-native development workflows
Enterprise teamsStandardise infrastructure with best practices and cost controls
DevOps / platform engineersFaster architecture and IaC workflows

If you'd rather describe what you want than manually wire it together -- this is for you.


Choose Your Path

PathBest forInstall
This repo (recommended for Codex)Portable skill across multiple AI toolsnpx skills add luthersystems/insideout-agent-skills
Claude Code pluginBest native Claude Code experience/plugin marketplace add luthersystems/insideout-claude-code
Kiro powerBest native Kiro experienceAdd power from GitHub: luthersystems/insideout-power
Web appNo install requiredOpen in browser

Installation (Detailed)

Recommended: Skills CLI

bash
npx skills add luthersystems/insideout-agent-skills

Claude Code

For the full plugin experience (slash commands, agents, hooks, auto-approve):

/plugin marketplace add luthersystems/insideout-claude-code/plugin install insideout

Codex

bash
npx skills add luthersystems/insideout-agent-skills --agent codex

Activate by typing $insideout -- Codex will detect the missing MCP server and prompt you to install it automatically.

Fallback: If the auto-install doesn't trigger, run: codex mcp add insideout --url https://app.luthersystems.com/v1/insideout-mcp

Cursor

bash
npx skills add luthersystems/insideout-agent-skills --agent cursor

Then add the MCP server to your Cursor MCP config:

json
{  "mcpServers": {    "insideout": {      "type": "http",      "url": "https://app.luthersystems.com/v1/insideout-mcp"    }  }}

Windsurf

bash
npx skills add luthersystems/insideout-agent-skills --agent windsurf

Add MCP via Windsurf MCP Marketplace or manually in settings.

Kiro

For the full power experience (steering files, design pattern guides, auto-approve):

  1. Open the Powers panel
  2. Click Add power from GitHub
  3. Enter: luthersystems/insideout-power

Antigravity

bash
npx skills add luthersystems/insideout-agent-skills --agent antigravity

Then add the MCP server in Antigravity: "..." menu → MCP Servers → Manage MCP Servers → View raw config:

json
{  "mcpServers": {    "insideout": {      "serverUrl": "https://app.luthersystems.com/v1/insideout-mcp"    }  }}

Note: Antigravity uses serverUrl, not url.

Manual Installation

bash
git clone https://github.com/luthersystems/insideout-agent-skills.gitcp -r insideout-agent-skills ~/.agents/skills/insideout

The ~/.agents/skills/ directory is the standard cross-tool location. Most AI coding tools will detect skills here automatically.


Supported Services (60+)

CategoryAWSGCP
ComputeEC2, ECS, EKS, LambdaCompute Engine, Cloud Run, GKE, Cloud Functions
DatabaseRDS PostgreSQL, DynamoDB, ElastiCache, OpenSearchCloud SQL, Firestore, Memorystore
NetworkingVPC, ALB, CloudFront, API GatewayVPC, Load Balancing, Cloud CDN, API Gateway
StorageS3Cloud Storage
SecurityWAF, KMS, Secrets Manager, CognitoCloud Armor, Cloud KMS, Secret Manager, Identity Platform
MessagingSQS, MSK (Kafka)Pub/Sub
ObservabilityCloudWatch, Managed GrafanaCloud Logging, Cloud Monitoring
AI/MLBedrockVertex AI
CI/CDCodePipeline, GitHub ActionsCloud Build
BackupAWS BackupGCP Backups

Architecture patterns: AI Stack, Microservices, Serverless. Azure support is upcoming.


Core Capabilities

Infrastructure from Description

Describe your application in natural language. InsideOut generates the architecture, configuration, and Terraform. Review, tweak, and deploy -- all from one place.

Cost Visibility Before Deployment

Get cost estimates for your exact stack before committing. No surprise bills; pricing is surfaced at design time.

Secure and Observable by Default

Security best practices applied automatically. Observability configured from day one -- no retroactive setup needed.

Full Terraform Ownership

You own the generated Terraform files. Use InsideOut defaults or override any setting. No lock-in; the output is standard infrastructure-as-code.

Managed Operations

Luther Systems sets up and manages critical infrastructure. Ongoing updates and operational support included.


How It Works

InsideOut uses a multi-agent AI system behind a single MCP server:

AgentRole
RileyInfrastructure advisor -- leads the design conversation
HippoCost estimation and pricing optimization
JoyUser experience and requirement gathering
EtchTerraform code generation
CoreArchitecture validation and best practices
AxelDeployment orchestration

From your perspective, you're talking to Riley. The other agents work behind the scenes. These capabilities are exposed as tools inside your AI environment, so you use them conversationally.

Security & Auth Model

  • No API key required to install or use the skill
  • The MCP server runs remotely over HTTPS -- no local binary needed
  • Cloud credentials are only required at deployment time, via a browser-based connect flow
  • You control what gets deployed into your cloud accounts
  • You can review all generated Terraform before deploying

See SECURITY.md for detailed data flow documentation.


Terraform Presets and Modules

InsideOut uses a library of battle-tested, standard Terraform modules composed for common infrastructure patterns.


FAQ

Can I use InsideOut without the InsideOut UI? Yes. InsideOut integrates with Claude Code, Codex, Kiro, Antigravity, and any MCP-compatible AI development environment, allowing you to design, price, and deploy infrastructure directly from your editor without opening the InsideOut interface.

Do I own the generated Terraform? Yes. InsideOut generates standard Terraform files that you own and can export, modify, or use independently of the platform.

Can I override the default configuration? Yes. InsideOut applies best-practice defaults but every setting is overridable. You control the final configuration before deployment.

What clouds does InsideOut support? AWS and Google Cloud Platform. AWS has the deepest support with the widest range of resource types. Azure support is upcoming.

Is InsideOut suitable for AI application backends? Yes. InsideOut explicitly supports AI stack architectures and is designed to work within AI-native development environments like Claude Code, Codex, Kiro, Antigravity, and other MCP-compatible tools.

How does pricing work? Cost estimates for your exact stack are surfaced before deployment. Contact Luther Systems for platform pricing: [email protected]


Resources


About Luther Systems

Luther Systems is an enterprise infrastructure and automation company founded in 2015, headquartered in London, UK. Our mission is to accelerate the advent of the automated enterprise.

Founded by a team who spent years automating complex processes for some of the world's largest financial institutions, Luther Systems builds platforms that bring enterprise-grade infrastructure and operations to teams of every size.


Get Help


License

Apache License 2.0

來源:README.md,提交 67248e7

工具

24

awsinspect

Inspect AWS Infrastructure

INSPECTION: Inspect AWS infrastructure for a deployed project ⚠️ **PREREQUISITE**: This tool requires a prior deployment ATTEMPT (successful or failed). Check convostatus for hasDeployAttempt=true before calling. Works even after failed deploys to inspect orphaned resources. Inspect deployed AWS resources after a deployment attempt. Use this tool when the user asks about the status or details of their deployed infrastructure. It fetches temporary read-only credentials securely and queries the AWS API directly. RESPONSE TIERS (default is summary for token efficiency): - Summary (default): Key fields only (~500 tokens). Set detail=false, raw=false or omit both. - Detail: Full metadata for a specific resource. Set detail=true + resource filter. - Raw: Complete unprocessed API response. Set raw=true. REQUIRES: session_id from convoopen response (format: sess_v2_...). Supported services: account, acm, alb, apigateway, apprunner, backup, bedrock, cloudfront, cloudwatchlogs, cognito, cost-explorer, dynamodb, ebs, ec2, ecs, eks, elasticache, kms, lambda, msk, opensearch, rds, route53, s3, sagemaker, secretsmanager, sqs, vpc, waf For a specific service's actions, call with action="list-actions". METRICS: Use list-metrics to discover available metrics for a service (no credentials needed). Then use get-metrics to retrieve data (auto-discovers resources). Most services return CloudWatch time-series. KMS returns key health (rotation, state). SecretsManager returns secret health (rotation, last accessed/rotated). Optional filters JSON: {"hours":6,"period":300}. BILLING: Use service=cost-explorer to inspect AWS costs. Actions: get-cost-summary (last 30 days by service, filters: {"days":7,"granularity":"DAILY"}), get-cost-forecast (projected spend through end of month), get-cost-by-tag (costs grouped by tag, filters: {"tag_key":"Environment","days":30}). Requires ce:GetCostAndUsage and ce:GetCostForecast IAM permissions. EXAMPLES: - awsinspect(session_id=..., service="ec2", ac

輸入參數raw必填action必填detail必填filters必填service必填session_id必填

awsinspect_batch

Batch-Inspect AWS Infrastructure

BATCH INSPECTION: run up to 32 AWS inspect probes in one call. ⚠️ **PREREQUISITE**: Same as awsinspect — deploy attempt required. Check convostatus for hasDeployAttempt=true before calling. Use this when you need to check more than ~3 resources. The backend fetches Oracle credentials ONCE per batch and fans out probes against a single AWS config — for a 12-resource health check this is ~5–8× faster and 12× fewer Oracle round-trips than calling awsinspect 12 times. BUDGETS: - Up to 32 sub-probes per call (subs array length). - 30s per-sub timeout; 60s total batch wall-clock. - Concurrency cap 8 — sub-probes run in parallel but never saturate AWS. - 512 KB response cap: subs past the cap keep their envelope (index/service/action/ok) but have result replaced with truncated=true. PARTIAL FAILURE IS EXPECTED. The response is an ordered results array; each entry has {index, service, action, ok, result, error}. Inspect each result — do NOT abort on the first error. A credential fetch failure leaves cred-less probes (list-actions, list-metrics) succeeding anyway. REQUIRES: session_id from convoopen response (format: sess_v2_...). Supported services: account, acm, alb, apigateway, apprunner, backup, bedrock, cloudfront, cloudwatchlogs, cognito, cost-explorer, dynamodb, ebs, ec2, ecs, eks, elasticache, kms, lambda, msk, opensearch, rds, route53, s3, sagemaker, secretsmanager, sqs, vpc, waf For a specific service's actions, use awsinspect (singular) with action="list-actions" — batch is not the place for discovery. Batch responses are always summarized (no detail/raw per-sub); use singular awsinspect when you need full metadata or raw API output for one resource. EXAMPLES: - awsinspect_batch(session_id=..., subs=[ {"service":"ec2","action":"describe-instances"}, {"service":"rds","action":"describe-db-instances"}, {"service":"vpc","action":"describe-vpcs"}, {"service":"s3","action":"list-buckets"}]) - awsinspect_batch(session_id=..., subs=[ {"service"

輸入參數subs必填session_id必填

convoawait

Await Pending Response

Wait for a pending response from Riley after a convoreply timeout. 🎯 USE THIS TOOL WHEN: convoreply returned a timeout error. This allows you to continue waiting for the response without resending the message. REQUIRES: - session_id: from convoopen response OPTIONAL: - message_id: if known (from convoreply timeout error) - timeout (integer): seconds to wait. For Cursor, use 50 (default). Max 55. Returns the same format as convoreply when successful.

輸入參數timeoutmessage_idsession_id必填

convoinspect

Inspect Session Transcript

INSPECTION: View a session's conversation transcript and metadata Returns the full message history (user / assistant / tool turns) plus the session's meta — workflow step, cloud, deployment status, drift state. This is the transcript-reader companion to the other read tools — combine it with: • `convostatus` for the live stack / config / pricing • `tfruns` for deployment history (apply / destroy / plan / drift) • `stackversions` for the stack-version ladder Use it when a user asks 'what did I say earlier?' or you need to retrace why the session ended up where it did. Read-only; never mutates session state. REQUIRES: session_id (format: sess_v2_...).

輸入參數session_id必填

convoopen

Start Design Session

WORKFLOW: Step 1 of 4 - Start infrastructure design conversation Open an InsideOut V2 session and receive the assistant's intro message. The response contains a clean message from Riley (the infrastructure advisor) - display it to the user. ⚠️ Riley will ask questions - forward these to the user, DO NOT answer on their behalf. CRITICAL: This tool returns a session_id in the response metadata. You MUST use this session_id for ALL subsequent tool calls (convoreply, tfgenerate, tfdeploy, etc.). ⚠️ The session_id includes a ?token=... suffix (format: sess_v2_xxx?token=yyy) which is part of the session credential — without it, downstream tools fall back to a tokenless connect URL that 401s. Always pass session_id verbatim to subsequent tools and to the user; do NOT shorten, paraphrase, or strip the ?token= portion when summarizing the session in chat or in your own scratch notes. Use when the user mentions keywords like: 'setup my cloud infra', 'provision infrastructure', 'deploy infra', 'start insideout', 'use insideout', or similar intent to begin infra setup. OPTIONAL: project_context (string) - General tech stack summary so Riley can skip discovery questions and jump to recommendations. The agent should confirm this with the user before sending. Include whichever apply: language/framework, databases/services, container usage, existing IaC, CI/CD platform, cloud provider, Kubernetes usage, what the project does. Example: 'Next.js 14 + TypeScript, PostgreSQL, Redis, Docker Compose, deployed to AWS ECS, GitHub Actions CI/CD, ~50k MAU'. NEVER include credentials, secrets, API keys, PII, source code, or internal URLs/IPs -- only general metadata summaries useful to a cloud architect agent. IMPORTANT: source (string) - You MUST set this to identify which IDE/tool you are. Auto-detect from your environment: 'claude-code', 'codex', 'antigravity', 'kiro', 'vscode', 'web', 'mcp'. If unsure, use the name of your IDE/tool in lowercase. Do NOT omit this — it controls the 'Open {

輸入參數sourcegithub_usernameproject_context

convoreply

Send Message

WORKFLOW: Step 2 of 4 - Continue infrastructure design conversation Send a user message to the active InsideOut session and receive the assistant reply. The response contains a clean message from Riley - display it to the user. ⚠️ CRITICAL: DO NOT answer Riley's questions yourself! Forward questions to the user and wait for their response. NEVER fabricate or assume the user's answer, even if you think you know what they would say. Examples of questions Riley asks that YOU MUST forward to the user: - 'Any questions or tweaks to these details?' - 'Ready for the cost estimate?' - 'Do you want to change the stack/config?' - 'Ready to proceed to Terraform?' When Riley asks ANY question, STOP and wait for the user's answer! 📋 WORKFLOW PHASES: The typical flow is conversation → tfgenerate → tfdeploy When terraform_ready=true appears in THIS tool's response, THEN you can call tfgenerate. ⚠️ DO NOT call tfgenerate until this tool returns! Wait for the response first. 🎯 KEY SIGNALS IN RESPONSE: - `[TERRAFORM_READY: true]` → NOW you can call tfgenerate - `[[BUTTON_TF_APPLY: ...]]` → Deployment is ready! Ask user if they want to deploy, then use tfdeploy - `[[BUTTON_TF_DESTROY: ...]]` → User confirmed destroy intent! Ask user to confirm, then use tfdestroy - `[[BUTTON_TF_PLAN: ...]]` → User wants to preview changes! Use tfplan to run a plan, then tfdeploy with plan_id to apply REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: timeout (integer) - seconds to wait for response. For Cursor, use 50 (default). Max 55. OPTIONAL: project_context (string) - Only pass genuinely NEW project details the user shares after convoopen. Do NOT resend context already provided in convoopen — Riley remembers it. Do NOT scan files or directories to gather this — only use what the user explicitly tells you. Example: user reveals a new constraint like 'we also need HIPAA compliance' mid-conversation. 💡 TIP: Use convostatus to check progress anytime. Examine workflow

輸入參數text必填retrytimeoutsession_id必填project_context

convostatus

View Session Stack Status

INSPECTION: View the current infrastructure stack for a session Returns the current state of the user's infrastructure design including: **Components** - Selected infrastructure services (VPC, databases, caching, etc.) • Shows what services the user has chosen (e.g., PostgreSQL, Redis, S3) • Includes architecture decisions (EKS vs EC2, monolith vs microservices) **Config** - Configuration details for each component • Database sizes, replica counts, storage amounts • Cache settings, queue configurations • Backup schedules and retention policies **Pricing** - Cost estimates (when available) • Monthly cost estimates per component • Total estimated monthly spend **Phase Indicators** - Where the user is in the design workflow: • hasComponents: User has selected infrastructure services • hasConfig: User has configured component details • hasPricing: Cost estimates have been calculated • hasTerraform: Ready for Terraform generation Use this tool when the user asks 'what is my current stack?', 'show my infrastructure', 'what have I selected?', or similar questions about their design progress. REQUIRES: session_id from convoopen response (format: sess_v2_...).

輸入參數job_idsession_id必填

credawait

Await Cloud Credentials

Wait for the user to securely connect their cloud account and subscribe to Luther Systems. Polls until credentials appear on the session. 🎯 USE THIS TOOL WHEN: tfdeploy returns an 'auth_required', 'no_credentials', or 'credentials_expired' error. The user needs to visit the connect URL to: 1. Connect their cloud credentials (AWS or GCP) 2. Sign up and subscribe to a Luther Systems plan (required for deployment) This secure connection allows InsideOut to deploy and manage infrastructure in the user's cloud account on their behalf. Credentials are handled securely and only used for deployment and management sessions. WORKFLOW: 1. FIRST: Present the connect URL and explanation to the user (from the tfdeploy error response) 2. THEN: Call this tool to begin polling for credentials 3. The user opens the URL in their browser to subscribe and add credentials 4. When credentials are found, inform the user and call tfdeploy to deploy IMPORTANT: Do NOT call this tool without first showing the connect URL to the user. The user needs to see the URL to complete the process. REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: cloud ('aws' or 'gcp'), timeout (integer, seconds to wait, default 300, max 600).

輸入參數cloudtimeoutsession_id必填

gcpinspect

Inspect GCP Infrastructure

INSPECTION: Inspect GCP infrastructure for a deployed project ⚠️ **PREREQUISITE**: This tool requires a prior deployment ATTEMPT (successful or failed). Check convostatus for hasDeployAttempt=true before calling. Works even after failed deploys to inspect orphaned resources. Inspect deployed GCP resources after a deployment attempt. Use this tool when the user asks about the status or details of their deployed GCP infrastructure. It fetches temporary read-only credentials securely and queries the GCP API directly. RESPONSE TIERS (default is summary for token efficiency): - Summary (default): Key fields only (~500 tokens). Set detail=false, raw=false or omit both. - Detail: Full metadata for a specific resource. Set detail=true + resource filter. - Raw: Complete unprocessed API response. Set raw=true. REQUIRES: session_id from convoopen response (format: sess_v2_...). Supported services: apigateway, bastion, billing, certificatemanager, cloudarmor, cloudbuild, cloudcdn, clouddeploy, clouddns, cloudfunctions, cloudkms, cloudlogging, cloudmonitoring, cloudrun, cloudsql, compute, firestore, gcs, gke, iam, identityplatform, loadbalancer, memorystore, pubsub, secretmanager, vertexai, vpc For a specific service's actions, call with action="list-actions". METRICS: Use list-metrics to see available Cloud Monitoring metrics for any service (no credentials needed — progressive disclosure). Use get-metrics to retrieve time-series data. Optional filters JSON: {"hours":6,"period":300}. Label breakdowns: Cloud Functions (by status), Load Balancer/API Gateway (by response_code_class), Cloud CDN (by cache_result). Secret Manager get-metrics returns operational health (version count, replication, create time) — no time-series. Bastion is an alias for Compute Engine metrics (SSH connection count not available as a GCP metric). BILLING: Use service=billing to inspect GCP billing. Actions: get-billing-info (check if billing enabled, which billing account), get-budgets (list budget a

輸入參數raw必填action必填detail必填filters必填service必填session_id必填

gcpinspect_batch

Batch-Inspect GCP Infrastructure

BATCH INSPECTION: run up to 32 GCP inspect probes in one call. ⚠️ **PREREQUISITE**: Same as gcpinspect — deploy attempt required. Check convostatus for hasDeployAttempt=true before calling. Use this when you need to check more than ~3 resources. The backend fetches Oracle credentials ONCE per batch and fans out probes against a single GCP credentials blob — a 12-resource health check is ~5–8× faster and 12× fewer Oracle round-trips than calling gcpinspect 12 times. BUDGETS: - Up to 32 sub-probes per call (subs array length). - 30s per-sub timeout; 60s total batch wall-clock. - Concurrency cap 8. - 512 KB response cap: subs past the cap keep their envelope (index/service/action/ok) but have result replaced with truncated=true. PARTIAL FAILURE IS EXPECTED. The response is an ordered results array; each entry has {index, service, action, ok, result, error}. Inspect each result — do NOT abort on the first error. A credential fetch failure leaves cred-less probes (list-actions, list-metrics) succeeding anyway. REQUIRES: session_id from convoopen response (format: sess_v2_...). Supported services: apigateway, bastion, billing, certificatemanager, cloudarmor, cloudbuild, cloudcdn, clouddeploy, clouddns, cloudfunctions, cloudkms, cloudlogging, cloudmonitoring, cloudrun, cloudsql, compute, firestore, gcs, gke, iam, identityplatform, loadbalancer, memorystore, pubsub, secretmanager, vertexai, vpc For a specific service's actions, use gcpinspect (singular) with action="list-actions" — batch is not the place for discovery. Batch responses are always summarized (no detail/raw per-sub); use singular gcpinspect when you need full metadata or raw API output for one resource. EXAMPLES: - gcpinspect_batch(session_id=..., subs=[ {"service":"compute","action":"list-instances"}, {"service":"gke","action":"list-clusters"}, {"service":"cloudsql","action":"list-instances"}]) - gcpinspect_batch(session_id=..., subs=[ {"service":"compute","action":"get-metrics","filter

輸入參數subs必填session_id必填

help

Workflow Guide

Get workflow guidance for using InsideOut infrastructure tools. Call help() for a compact overview, or help(section=...) for a detailed guide. Sections: workflow, tools, examples, inspect. Responses include hints with next_actions and related_tools.

輸入參數section

stackdiff

Compare Stack Versions

Structured diff showing what would be deployed if the user ran tfdeploy now. Returns component-level changes (added/removed/modified), field-level details, and pricing deltas. Defaults (#1392): with no version arguments, compares the LAST SUCCESSFULLY DEPLOYED version against the user's CURRENT LIVE DESIGN (the same data the UI shows). Empty baseline if nothing has been deployed or after a destroy. Pending drafts are NOT used as the target — they go stale once the user edits past them; live IR via chat history is always current. Pass explicit `from_version` and/or `to_version` integers to compare any two saved versions (e.g. v3 → v5). REQUIRES: session_id from convoopen response (format: sess_v2_...).

輸入參數session_id必填to_versionfrom_version

stackrollback

Rollback Stack Version

Create a draft version by reverting to a previous version's config. Copies components, config, and pricing from the target version. If a draft already exists, updates it in-place (single-draft rule). Use `stackversions` first to find available version numbers. REQUIRES: session_id from convoopen response (format: sess_v2_...), version (target version number).

輸入參數version必填session_id必填

stackversions

List Stack Versions

List all stack versions for a session (newest first). Shows version history including version number, status (draft/confirmed/applied), change summaries, and timestamps. Use this tool to see the design history, review what changed between iterations, or find a version number to roll back to. REQUIRES: session_id from convoopen response (format: sess_v2_...).

輸入參數session_id必填

submit_feedback

Submit Feedback

FEEDBACK: Submit feedback, bug reports, or feature requests to Luther Systems Use this tool to forward user feedback directly to the Luther Systems team. This includes bug reports, feature requests, questions, or general feedback about InsideOut. The agent itself can also use this tool to report issues it encounters during operation. REQUIRES: session_id, category, message OPTIONAL: user_email (for follow-up), user_name, source (default: 'mcp'), initiator ('user' or 'agent') Categories: bug_report, feature_request, general_feedback, question, security The 'initiator' field tracks who triggered the report: - 'user' — the user explicitly reported the issue or requested feedback submission - 'agent' — Riley detected an issue and initiated the feedback flow Examples: - User says 'the deploy button is broken' → submit_feedback(category='bug_report', message='...', initiator='user') - User says 'I wish it had dark mode' → submit_feedback(category='feature_request', message='...', initiator='user') - Deployment failed with Terraform error → submit_feedback(category='bug_report', message='Deployment failed: Terraform apply error on aws_alb resource — timeout waiting for ALB provisioning', initiator='agent')

輸入參數sourcemessage必填category必填initiatoruser_namesession_id必填user_email

tfdeploy

Deploy Infrastructure

WORKFLOW: Step 4 of 4 - Deploy infrastructure to the cloud Deploy infrastructure by starting a Terraform job for an InsideOut session. This tool initiates the actual deployment process after Terraform files have been generated. IMPORTANT: This starts a long-running job (15+ minutes). Use tfstatus to monitor progress. SINGLE-FLIGHT: only one TF job (apply/plan/destroy/drift) runs per session at a time. If another job is already in flight, tfdeploy returns tf_job_conflict with the live job_id — attach with tfstatus/tflogs instead of retrying, or pass force_new=true to override. Returns confirmation that the deployment has started. REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: plan_id (string) — Apply a previously created plan from tfplan. Preview-then-apply workflow: tfplan → tflogs (review) → tfdeploy(plan_id=...). OPTIONAL: sandbox (boolean, default false) — deploys real generated Terraform. Set to true for cheap sandbox template (testing only). OPTIONAL: ignore_drift (boolean, default false) - when true, proceeds with deploy even if infrastructure drift is detected. By default, deploys fail on drift. Use after reviewing drift details via tfdrift or tflogs. OPTIONAL: force_new (boolean, default false) - bypass the session-level single-flight guard. Use only when the existing run is provably wedged. CREDENTIAL FLOW (if credentials are missing): 1. Response includes a connect_url — present it to the user 2. Call credawait(session_id=...) to poll for credentials 3. When credawait returns success, retry tfdeploy Do NOT call credawait without first showing the connect URL to the user.

輸入參數plan_idsandboxversionforce_newproject_idsession_id必填ignore_drift

tfdestroy

Destroy Infrastructure

DESTROY: Tear down previously deployed infrastructure Destroys infrastructure by calling the Oracle destroy endpoint for a session that has a prior successful deployment. IMPORTANT: This starts a long-running job. Use tfstatus/tflogs to monitor progress. SINGLE-FLIGHT: only one TF job per session at a time. If another job is already in flight, tfdestroy returns tf_job_conflict with the live job_id — attach with tfstatus/tflogs, or pass force_new=true to override. REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: force_new (boolean, default false) - bypass the single-flight guard. Use only when the existing run is provably wedged. PREREQUISITE: The session must have a prior successful deployment with a project_id. After destroy completes, the session is kept for historical record but hasDeployment is set to false.

輸入參數force_newsession_id必填

tfdrift

Check Infrastructure Drift

DRIFT CHECK: Run a read-only drift detection check Checks whether deployed infrastructure has drifted from the expected Terraform state. This is a read-only operation — it does NOT modify any infrastructure. Returns job_id. Use tflogs to stream the drift check results. SINGLE-FLIGHT: only one TF job per session at a time. If another job is already in flight, tfdrift returns tf_job_conflict with the live job_id — attach with tfstatus/tflogs, or pass force_new=true to override. REQUIRES: session_id from convoopen response (format: sess_v2_...). PREREQUISITE: The session must have a prior deployment with a project_id. OPTIONAL: force_new (boolean, default false) - bypass the single-flight guard. Use only when the existing run is provably wedged. If drift is detected, the user can either fix the drift or use tfdeploy(ignore_drift=true) to proceed.

輸入參數force_newsession_id必填

tfgenerate

Generate Terraform

WORKFLOW: Step 3 of 4 - Generate Terraform files from completed design Generate Terraform files from an InsideOut session that has completed infrastructure design. ⚠️ PREREQUISITE: Only call this AFTER convoreply returns with `terraform_ready=true` in the response metadata. DO NOT call this while convoreply is still running or before terraform_ready is confirmed! If you get 'session has not reached terraform-ready state', wait for convoreply to complete first. 🎯 USE THIS TOOL WHEN: convoreply has returned with terraform_ready=true, OR the user asks to 'see the terraforms', 'generate terraform', 'show me the code', etc. **DEFAULT RESPONSE**: Returns summary table + download URL (keeps code out of LLM context). **FALLBACK**: Set `include_code: true` to get full code inline if curl/unzip fails. **CRITICAL WORKFLOW** (default mode): 1. Call this tool to get file summary and download URL 2. ASK the user: 'Where would you like me to save the Terraform files? Default: ./insideout-infra/' 3. WAIT for user confirmation before running the download command 4. Run the curl/unzip command with the user's chosen directory 5. If curl/unzip FAILS (sandbox, security, platform issues), retry with `include_code: true` **AFTER GENERATION**: Ask user if they want to review the files and then deploy with tfdeploy REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: include_code (boolean) - set true to return full code inline as fallback. 💡 TIP: Examine workflow.usage prompt for more context on how to properly use these tools.

輸入參數session_id必填include_code

tflogs

Fetch Deploy Logs

MONITORING: Fetch Terraform deployment logs with pagination Fetches logs from a running or completed Terraform deployment job. For **completed jobs**: uses REST endpoint for instant retrieval (supports `tail` for server-side filtering). For **running jobs**: streams via SSE with timeout-based pagination. **PAGINATION** (running jobs only): Use `last_event_id` from the response to fetch more: 1. First call: `tflogs(session_id='...')` → get logs + `last_event_id` 2. Next call: `tflogs(session_id='...', last_event_id='...')` → get NEW logs only 3. Repeat until `complete: true` in response **RESPONSE FIELDS**: - `logs`: Array of log messages collected - `last_event_id`: Pass this back to get more logs (pagination cursor, SSE only) - `complete`: true if job finished, false if more logs may be available - `total_logs`: total log entries before tail truncation REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: job_id to target a specific deployment (use tfruns to discover IDs), timeout (default 50s, max 55s), last_event_id (for pagination), tail (return only last N entries) ⚠️ CONTEXT WARNING: Deploy logs can be hundreds of lines. Use tail: 50 for completed jobs to avoid blowing up the context window.

輸入參數tailjob_idtimeoutsession_id必填last_event_id

tfoutputs

Get Deploy Outputs

INSPECTION: Retrieve Terraform outputs from a completed deployment Returns structured output values (VPC IDs, endpoints, cluster names, etc.) after a successful deploy. Sensitive outputs are redacted (shown as '(sensitive)'). By default returns outputs for the latest successful deploy. Optionally specify job_id to get outputs for a specific deployment. REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: job_id (specific deployment), lifecycle (filter by step e.g. 'cloud-provision').

輸入參數job_idlifecyclesession_id必填

tfplan

Preview Infrastructure Plan

PREVIEW: Run terraform plan to preview infrastructure changes Runs a terraform plan for an InsideOut session without applying any changes. This lets the user review what will be created/changed/destroyed before committing. Returns job_id, plan_id, and project_id. Use tflogs to stream the plan output. After the plan completes, use tfdeploy with plan_id to apply the exact plan. SINGLE-FLIGHT: only one TF job per session at a time. If another job is already in flight, tfplan returns tf_job_conflict with the live job_id — attach with tfstatus/tflogs, or pass force_new=true to override. REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: sandbox (boolean, default false) — plans real generated Terraform. Set to true for cheap sandbox template (testing only). OPTIONAL: force_new (boolean, default false) - bypass the single-flight guard. Use only when the existing run is provably wedged. CREDENTIAL HANDLING: Same as tfdeploy - credentials must be configured first.

輸入參數sandboxforce_newsession_id必填

tfruns

List Deploy Runs

INSPECTION: List all Terraform deployment runs for a session Returns job IDs, statuses, types (apply/destroy), and timestamps for every run. Use this to see deployment history, find job IDs for log inspection, or check which deployments succeeded or failed. REQUIRES: session_id from convoopen response (format: sess_v2_...).

輸入參數session_id必填

tfstatus

Check Deploy Status

MONITORING: Quick status check for Terraform deployments Check the current status of a Terraform deployment job. Use this tool to quickly check if a deployment is running, completed, or failed. Returns job status, job_id, and other metadata without streaming logs. Use tflogs to stream the actual deployment logs. REQUIRES: session_id from convoopen response (format: sess_v2_...). OPTIONAL: job_id to target a specific deployment (use tfruns to discover IDs). **LIVENESS**: The response carries two distinct timestamps: - `updated_at` — last semantic change (only bumped when status / drift / version actually differ). Useful for sorting deployments; NOT a per-poll heartbeat. - `last_refresh_at` — last successful Oracle decode (stamped on every poll where reliable reached Oracle, even if nothing in the row changed). Use this to confirm reliable is still actively talking to Oracle for a long-running RUNNING job. Absent on rows that haven't been refreshed since the column was added. 💡 TIP: Examine workflow.usage prompt for more context on how to properly use these tools.

輸入參數job_idsession_id必填

版本歷史

1
  1. v0.36.3最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Inside 整合