Skip to main content

Lutflow MCP Server

The first AI FinOps tool with native MCP support.

Works inside Cursor, Claude Code, VS Code, and any MCP-compatible client.

Installation

pip install lutflow-mcp

Or install from source:

cd mcp-server
pip install -e .

Configuration

For Cursor

Add to your ~/.cursor/mcp.json:

{
  "mcpServers": {
    "lutflow": {
      "command": "lutflow-mcp",
      "env": {
        "LUTFLOW_API_KEY": "lut_xxx",
        "LUTFLOW_TENANT_ID": "your-tenant"
      }
    }
  }
}

For Claude Desktop

Add to your Claude Desktop config:

{
  "mcpServers": {
    "lutflow": {
      "command": "lutflow-mcp",
      "env": {
        "LUTFLOW_API_KEY": "lut_xxx"
      }
    }
  }
}

Available Tools

1. check_budget

Check current budget status for a tenant.

check_budget(tenant_id="acme")

Returns: budget limit, spent amount, remaining budget, utilization percentage.

2. list_deployments

List all active AI model deployments.

list_deployments(tenant_id="acme")

Returns: deployment IDs, models, costs, status, kill path state.

3. get_costs

Get detailed cost breakdown by model and deployment.

get_costs(period="today")
get_costs(deployment_id="abc-123", period="week")

Returns: total spend, per-model costs, billing event count.

4. kill_deployment

Manually terminate an AI model deployment.

kill_deployment(deployment_id="abc-123", reason="overspend")

Triggers the Lutflow kill path (eBPF → Tetragon → kubectl fallback).

5. recommend_model

Get AI model recommendation for a task within budget.

recommend_model(task="text-classification", budget_usd_per_hour=0.50)
recommend_model(task="code-generation", gpu_type="nvidia-a100-80gb")

Uses live HuggingFace benchmark data and real-time GPU pricing.

Environment Variables

Variable Description Default
LUTFLOW_API_KEY API key for Lutflow Cloud None (offline mode)
LUTFLOW_ENDPOINT API endpoint https://api.lutflow.dev
LUTFLOW_TENANT_ID Default tenant ID default

Offline Mode

When the Lutflow API is unreachable, the MCP server operates in offline mode:

  • check_budget returns default/cached values
  • list_deployments returns empty list
  • get_costs returns zero costs
  • kill_deployment cannot confirm termination
  • recommend_model uses cached recommendations

All responses in offline mode are clearly labeled [OFFLINE MODE].

Example Usage in Cursor

Once configured, you can ask Claude:

"Check my AI budget status"

"List all my active deployments"

"How much did I spend on GPT-4 today?"

"Kill deployment abc-123 — it's overspending"

"Recommend a model for text classification under $0.50/hr"

Links

License

Business Source License 1.1 (BSL 1.1)

Metadata

Release files for lutflow-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lutflow-mcp 0.1.0
File Size Uploaded Provenance Actions
lutflow_mcp-0.1.0.tar.gz 7.5 kB Without provenance Details for lutflow_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lutflow-mcp 0.1.0
File Interpreter ABI Platform Actions
lutflow_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for lutflow_mcp-0.1.0-py3-none-any.whl

Total release size: 15.0 kB

Release files / lutflow_mcp-0.1.0.tar.gz

Download URL lutflow_mcp-0.1.0.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e23e2c3d8d0af31621d027c3b3fef64860547c0e7588a44be20300f1b1be138a
BLAKE2b-256 checksum
How to use checksums
3276ab3dbae735a2da6e758dcc0ff2b3630c1f75d4b93ec603fbbc997be7058a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / lutflow_mcp-0.1.0-py3-none-any.whl

Download URL lutflow_mcp-0.1.0-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8a0aafa4122ef50964a63d0f9af4437848d50bd6039565dc264c6322768043a6
BLAKE2b-256 checksum
How to use checksums
960f61af7162c12a5ae5452446c911c144420783ef1db106fc7e18cdc7e9e9f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Security for lutflow-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page