Shift Left Finops

v1.0.0

A powerful MCP server built with NitroStack

Connection Setup

Add via Cursor Settings UI (Settings > Features > MCP > Add New MCP Server):

{
  "mcpServers": {
    // your other mcp servers
    "shift-left-finops": {
      "url": "https://finops-6a5b0-wheres-dheeraj-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp"
    }
  }
}

Connect remote tools directly via Claude's Web UI:

Add custom connector BETA
Connect Claude to your data and tools. Learn more about connectors or get started with pre-built ones.
Advanced settings
Only use connectors from developers you trust. Anthropic does not control which tools developers make available and cannot verify that they will work as intended or that they won't change.

Configure custom tools directly via ChatGPT's Web UI:

New App
PNG only. Best results at 256 x 256 px or larger. Max file size: 10 KB
Custom MCP servers introduce risk. Learn more
OpenAI hasn't reviewed this MCP server. Attackers may attempt to steal your data or trick the model into taking unintended actions, including destroying data.

Add the following configuration block under mcpServers in your Antigravity configuration file (~/.gemini/config/mcp_config.json):

{
  "mcpServers": {
    // your other mcp servers
    "shift-left-finops": {
      "serverUrl": "https://finops-6a5b0-wheres-dheeraj-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp"
    }
  }
}

Add the following configuration block to your Codex configuration file (~/.codex/config.toml):

[mcp_servers.shift-left-finops]
url = "https://finops-6a5b0-wheres-dheeraj-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp"

Connect directly using the Server-Sent Events endpoint:

https://finops-6a5b0-wheres-dheeraj-amrita-university-amritapuri-campus.app.nitrocloud.ai/mcp
Available Tools
read_existing_infrastructure

Reads existing Terraform files from a working directory and returns discovered resources. Used by the Architecture Designer to surface what is already deployed. Returns an empty resources array if the directory is missing (treats project as greenfield).

read_company_policies

Returns the current company compliance rule set from policy.yaml. Used by the Policy Validator to evaluate each candidate. Returns an empty rule set (with fallback flag) if policy.yaml is missing.

get_cloud_pricing

Returns the complete monthly INR cost breakdown for an entire ArchitectureCandidate. Pass the full candidate object generated by generate_candidate_architectures. Uses a static knowledge base — no live API calls.

estimate_resource_requirements

Turns a workload description and expected user count into rough capacity estimates (CPU, memory, storage growth, expected RPS). Uses heuristics — intentionally rough for the MVP.

generate_architecture_candidates

Produces exactly 3 structurally distinct, unpriced architecture candidates from the MVP catalog. Applies workload-fit filtering (e.g. rejects Lambda for cpu-intensive workloads). Relaxes the least-critical constraint and flags this if fewer than 3 candidates can be produced.

generate_candidate_architectures

Produces exactly 3 structurally distinct, unpriced architecture candidates from the MVP catalog. Applies workload-fit filtering (e.g. rejects Lambda for cpu-intensive workloads). Relaxes the least-critical constraint and flags this if fewer than 3 candidates can be produced.

compare_architectures

Deterministic scoring aid for the Coordinator. Returns budget pass/fail, SLA pass/fail, policy pass rate, and relative cost rank for each candidate. DOES NOT choose a recommendation. DOES NOT write rejection narration. That is the Coordinator's job.

generate_terraform

Produces HCL for the recommended candidate only. Template-based generation — assumes MVP catalog only. The returned HCL is not yet written to disk; write_approved_changes does that.

present_analysis

Packages the Coordinator's finished reasoning into an InfrastructureAnalysis payload, assigns a UUID and timestamp, sets status to "pending", and renders the arch-dashboard widget. The workflow pauses here — execution resumes after human approval. CRITICAL: The system automatically renders a rich Next.js widget when you call this tool. DO NOT generate any JSON-Patch, SDUI, or UI layout code in your chat response! Simply output the exact sentence "I have presented the architecture dashboard for your review." and STOP immediately. WARNING: NEVER use the read_resource tool to read the dashboard widget resource! It will crash your context window.

format_analysis

PREFERRED TOOL IN OPENAI MODE. Converts the Coordinator's completed analysis into a clean, human-readable Markdown report with a requirements table, candidate comparison, cost breakdown, policy results, reasoning bullets, and a Terraform HCL code block. Use this tool instead of present_analysis when you want formatted text output. This tool accepts the exact same input schema as present_analysis. After calling this tool, output ONLY the markdown string from the result.markdown field verbatim. Do NOT add any extra commentary before or after the markdown.

submit_approval

Records the developer's Approve or Reject decision. Called by the dashboard widget's Approve/Reject buttons — never by the agent directly.

check_approval_status

Lets the Coordinator poll for the developer's decision. Returns "pending", "approved", or "rejected". Optional — not load-bearing for the dashboard.

write_approved_changes

Writes the approved HCL to sample-project/main.tf inside a managed marker block. Idempotent: replaces the managed block on repeated runs. Only succeeds if status is "approved".