Skip to content

title: CloudSlash - DEVI Agent Capabilities Reference description: DEVI is not a chatbot. It has 14 MCP tools that can create files, compile plugins, save policies, and trigger remediations: all with your confirmation first....


DEVI Agent Capabilities

DEVI is not a chatbot. It has 14 MCP tools that can create files, compile plugins, save policies, and trigger remediations: all with your confirmation first.

How to Access DEVI

DEVI runs inside the CloudSlash daemon and is accessed via:

  • Web Dashboard → the AI chat panel at http://localhost:7891 (or your deployed URL)
  • TUI → the DEVI tab in the terminal dashboard
  • APIPOST /api/v1/ai/chat on the daemon

DEVI is not a CLI command. It is an interactive agent that responds to natural language through the dashboard interface.

Architecture

graph TD
    User[User via Web Dashboard / TUI] -->|natural language| API[POST /api/v1/ai/chat]
    API --> Loop[ReAct Agent Loop]
    Loop -->|tool calls| MCP[MCP Server: 14 Tools]
    MCP -->|read| Graph[Universal Graph]
    MCP -->|write| FS[File System: sandboxed]
    MCP -->|event| SAU[s.a.u Quarantine]
    MCP -->|predict| Oracle[Oracle HMM Engine]
    MCP -->|attribute| Rosetta[Rosetta Provenance]
    Loop -->|LLM| Provider[BYOK: OpenAI / Anthropic / Gemini / Ollama]

MCP Tools

Available (14 Total)

Analysis Tools

No Confirmation Required

Tool Description
query_graph Query the Universal Graph for specific resources by provider, type, or waste flag
get_financial_ledger Retrieve total waste count and projected monthly savings
get_taxonomy_schema Get available CEL variables and types for policy authoring
simulate_policy Dry-run a CEL policy against the live graph: shows match count and sample CRNs
get_resource_provenance Trace a resource back to the Terraform code + git commit that created it (Rosetta Engine)
run_oracle_simulation Predict Spot Instance interruption probability via HMM Viterbi (Oracle Engine)
force_state_sync Trigger immediate reconciliation scan of live cloud state

Action Tools

Human Confirmation Required

Tool Description Confirmation
request_quarantine Submit a resource for s.a.u quarantine: blocks until human approves s.a.u HITL
update_configuration Hot-reload CloudSlash config (AI model, cloud settings, pricing) Via daemon
install_plugin Download + verify + hot-load a plugin from the community registry s.a.u checkpoint
generate_plugin LLM generates a complete plugin from a description, saves to disk No
build_plugin Compiles a generated plugin via go build Always asks user
save_policy Writes a CEL policy to a .cel.yaml file Always asks user
write_file Creates any file within .cloudslash/ directories (sandboxed) Always asks user

Usage Examples

All interactions happen through the Web Dashboard chat panel or the TUI DEVI tab.

Generate a Plugin

You: Create a plugin that scans Hetzner Cloud servers and floating IPs

DEVI: I'll create a Hetzner Cloud scanner plugin for you.
      [Calling generate_plugin with name="hetzner", description="Scan servers and floating IPs"]

      ✅ Plugin generated and saved:
      • Path: ~/.cloudslash/plugins/src/cloudslash-plugin-hetzner/main.go
      • Source: LLM-generated with Hetzner Go SDK
      • Checksum: a1b2c3d4e5f6...

      Would you like me to build it?

You: Yes

DEVI: [Calling build_plugin with name="hetzner"]
      ✅ Built successfully:
      • Binary: ~/.cloudslash/plugins/cloudslash-plugin-hetzner
      • Platform: darwin/arm64

Save a Policy

You: Block any instance that costs more than $500/month

DEVI: Let me test that policy first.
      [Calling simulate_policy with condition="cost > 500.0", action="block"]

      Results:
      • Matches: 3 resources
      • Sample CRNs: crn:devi:aws:us-east-1:...:instance:i-0abc, ...

      This would block 3 resources. Shall I save this policy?

You: Save it

DEVI: [Calling save_policy with name="block-expensive-instances", 
       condition="cost > 500.0", action="block"]
      ✅ Policy saved to .cloudslash/policies/block-expensive-instances.cel.yaml

Write a Report

You: Generate a monthly waste report for my team

DEVI: [Calling query_graph to get all waste]
      [Calling get_financial_ledger for totals]

      I'll create a markdown report. May I write it to .cloudslash/reports/?

You: Yes

DEVI: [Calling write_file with path="reports/2026-05-waste-report.md"]
      ✅ Report saved to .cloudslash/reports/2026-05-waste-report.md

Security Model

Sandbox Enforcement

The write_file tool can only write to paths containing .cloudslash/:

  • ~/.cloudslash/reports/summary.md
  • $CWD/.cloudslash/policies/custom.cel.yaml
  • /etc/passwd: BLOCKED
  • ~/important-file.txt: BLOCKED

Audit Logging

Every file operation is recorded in the daemon's audit ledger (visible in the s.a.u tab of the dashboard):

[2026-05-02 12:00:01] OK  [DEVI] Generated plugin 'hetzner' → ~/.cloudslash/plugins/src/... (from_llm=true)
[2026-05-02 12:00:05] OK  [DEVI] Built plugin 'hetzner' → ~/.cloudslash/plugins/cloudslash-plugin-hetzner
[2026-05-02 12:01:30] OK  [DEVI] Saved policy 'block-expensive' → .cloudslash/policies/block-expensive.cel.yaml
[2026-05-02 12:02:00] OK  [DEVI] Wrote file .cloudslash/reports/waste-report.md (2048 bytes)

DEVI Never Auto-Executes

DEVI's system prompt enforces Rule 5:

"For ANY tool marked REQUIRES USER CONFIRMATION, you MUST describe what you're about to do and ASK the user for permission BEFORE calling the tool. NEVER auto-execute these."

BYOK

Bring Your Own Key

DEVI works with any LLM provider. Configure via environment variables or through the dashboard settings:

Provider Environment Variable Local?
Anthropic (Claude) ANTHROPIC_API_KEY No
OpenAI (GPT-4) OPENAI_API_KEY No
Google (Gemini) GEMINI_API_KEY No
Ollama (any model) Auto-detected Yes

When using Ollama, all inference runs on your machine: no data leaves your network.