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)
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.