MCP Server for Lutflow — AI FinOps tools for IDEs
Project description
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_budgetreturns default/cached valueslist_deploymentsreturns empty listget_costsreturns zero costskill_deploymentcannot confirm terminationrecommend_modeluses 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
- Website: lutflow.dev
- SDK: pypi.org/project/lutflow
- GitHub: github.com/Lutflow/lutflow
License
Business Source License 1.1 (BSL 1.1)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lutflow_mcp-0.1.0.tar.gz.
File metadata
- Download URL: lutflow_mcp-0.1.0.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e23e2c3d8d0af31621d027c3b3fef64860547c0e7588a44be20300f1b1be138a
|
|
| MD5 |
35136c536966a379cefdc639cfc57b11
|
|
| BLAKE2b-256 |
3276ab3dbae735a2da6e758dcc0ff2b3630c1f75d4b93ec603fbbc997be7058a
|
File details
Details for the file lutflow_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: lutflow_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a0aafa4122ef50964a63d0f9af4437848d50bd6039565dc264c6322768043a6
|
|
| MD5 |
ebbe8a32a9a3303703bfda6df58992b2
|
|
| BLAKE2b-256 |
960f61af7162c12a5ae5452446c911c144420783ef1db106fc7e18cdc7e9e9f9
|