mcp.json•9.44 kB
{
"name": "warpgbm-mcp",
"version": "1.2.0",
"description": "GPU-accelerated gradient boosting service. Train on A10G GPUs, get artifact_id for <100ms cached predictions (5min TTL), or download portable artifacts for production. Supports WarpGBM (GPU) and LightGBM (CPU).",
"author": "jefferythewind",
"homepage": "https://github.com/jefferythewind/warpgbm",
"license": "MIT",
"contact": {
"email": "support@warpgbm.ai",
"github": "https://github.com/jefferythewind/warpgbm/issues"
},
"categories": ["machine-learning", "gradient-boosting", "gpu-acceleration", "inference"],
"tags": ["ml", "gbdt", "warpgbm", "lightgbm", "gpu", "training", "inference"],
"models": [
{
"id": "warpgbm",
"name": "WarpGBM",
"description": "GPU-accelerated GBDT with era-aware splitting for temporal data",
"acceleration": "GPU"
},
{
"id": "lightgbm",
"name": "LightGBM",
"description": "Microsoft's fast, distributed gradient boosting",
"acceleration": "CPU"
}
],
"capabilities": {
"list_models": {
"description": "List all available model backends",
"endpoint": "/models",
"method": "GET",
"returns": {
"models": "Array of model identifiers",
"default": "Default model type"
}
},
"train": {
"description": "Train a gradient boosting model on provided data and return serialized model artifact",
"endpoint": "/train",
"method": "POST",
"parameters": {
"X": {
"type": "array",
"description": "Feature matrix (2D array of floats)",
"required": true
},
"y": {
"type": "array",
"description": "Target labels (1D array of integers)",
"required": true
},
"model_type": {
"type": "string",
"enum": ["warpgbm", "lightgbm"],
"default": "warpgbm",
"description": "Model backend to use"
},
"objective": {
"type": "string",
"enum": ["regression", "binary", "multiclass"],
"default": "multiclass",
"description": "Training objective"
},
"num_class": {
"type": "integer",
"description": "Number of classes (required for multiclass)"
},
"max_depth": {
"type": "integer",
"default": 6,
"description": "Maximum tree depth"
},
"num_trees": {
"type": "integer",
"default": 100,
"description": "Number of boosting rounds"
},
"learning_rate": {
"type": "number",
"default": 0.1,
"description": "Learning rate"
},
"note": "See /models endpoint and MODEL_SUPPORT.md for model-specific parameters"
},
"returns": {
"model_type": "Model backend used",
"artifact_id": "Cached artifact ID (valid for 5min, use for fast predictions)",
"model_artifact_joblib": "Base64-encoded joblib model (portable, for offline use)",
"model_artifact_onnx": "Base64-encoded ONNX model (optional)",
"num_samples": "Number of training samples",
"num_features": "Number of features",
"training_time_seconds": "Training duration"
},
"pricing": {
"amount": 0.01,
"currency": "USD",
"per": "request"
}
},
"predict_from_artifact": {
"description": "Run inference using a cached artifact_id (fast, <100ms) or model artifact (slower)",
"endpoint": "/predict_from_artifact",
"method": "POST",
"parameters": {
"artifact_id": {
"type": "string",
"description": "Cached artifact ID from /train (RECOMMENDED: 5min cache, <100ms inference)",
"required": false
},
"model_artifact_joblib": {
"type": "string",
"description": "Base64-encoded joblib artifact (from /train, slower: 200-500ms)",
"required": false
},
"X": {
"type": "array",
"description": "Feature matrix for inference",
"required": true
},
"format": {
"type": "string",
"enum": ["joblib", "onnx"],
"default": "joblib",
"description": "Model format (only if using model_artifact)"
},
"note": "Provide EITHER artifact_id (fast) OR model_artifact_joblib (portable)"
},
"returns": {
"predictions": "Array of predictions",
"num_samples": "Number of samples predicted",
"inference_time_seconds": "Inference duration"
},
"pricing": {
"amount": 0.001,
"currency": "USD",
"per": "request"
}
},
"predict_proba_from_artifact": {
"description": "Run probability inference using cached artifact_id (fast) or model artifact",
"endpoint": "/predict_proba_from_artifact",
"method": "POST",
"parameters": {
"artifact_id": {
"type": "string",
"description": "Cached artifact ID from /train (RECOMMENDED: <100ms)",
"required": false
},
"model_artifact_joblib": {
"type": "string",
"description": "Base64-encoded joblib artifact (slower)",
"required": false
},
"X": {
"type": "array",
"description": "Feature matrix for inference",
"required": true
},
"format": {
"type": "string",
"enum": ["joblib", "onnx"],
"default": "joblib",
"description": "Model format (only if using model_artifact)"
},
"note": "Provide EITHER artifact_id (fast) OR model_artifact_joblib (portable)"
},
"returns": {
"probabilities": "2D array of class probabilities",
"num_samples": "Number of samples predicted",
"inference_time_seconds": "Inference duration"
},
"pricing": {
"amount": 0.001,
"currency": "USD",
"per": "request"
}
},
"upload_data": {
"description": "Upload CSV or Parquet files for training. Parses files and returns structured X and y arrays ready for training.",
"endpoint": "/upload_data",
"method": "POST",
"parameters": {
"file_content": {
"type": "string",
"description": "Base64-encoded file content",
"required": true
},
"file_format": {
"type": "string",
"enum": ["csv", "parquet"],
"description": "File format",
"required": true
},
"target_column": {
"type": "string",
"description": "Column name for target variable (y)"
},
"feature_columns": {
"type": "array",
"description": "Column names for features (X). If not specified, all columns except target are used."
}
},
"returns": {
"num_samples": "Number of samples in dataset",
"num_features": "Number of features",
"feature_names": "Array of feature column names",
"target_name": "Target column name",
"preview": "First 5 rows of data"
},
"pricing": {
"amount": 0.005,
"currency": "USD",
"per": "request"
}
},
"feedback": {
"description": "Submit feedback about what would help you most on your ML journey. Tell us about missing features, confusing docs, performance issues, or new model types you'd like to see. Your feedback directly shapes our roadmap!",
"endpoint": "/feedback",
"method": "POST",
"parameters": {
"feedback_type": {
"type": "string",
"enum": ["bug", "feature_request", "documentation", "performance", "general"],
"description": "Type of feedback",
"required": true
},
"message": {
"type": "string",
"description": "Feedback message",
"required": true
},
"endpoint": {
"type": "string",
"description": "Related endpoint (if applicable)"
},
"model_type": {
"type": "string",
"description": "Related model type (if applicable)"
},
"severity": {
"type": "string",
"enum": ["low", "medium", "high", "critical"],
"default": "medium",
"description": "Severity level"
},
"agent_info": {
"type": "object",
"description": "Agent metadata (name, version, etc.)"
}
},
"returns": {
"feedback_id": "Unique feedback identifier",
"status": "Submission status",
"message": "Confirmation message",
"timestamp": "Submission timestamp"
},
"pricing": {
"amount": 0,
"currency": "USD",
"per": "request",
"note": "Feedback is free"
}
}
},
"authentication": {
"type": "bearer",
"description": "Optional X402 payment token or API key",
"header": "Authorization"
},
"rate_limits": {
"train": "10 requests/minute",
"predict": "50 requests/minute"
},
"transports": {
"sse": {
"url": "/mcp/sse",
"description": "Server-Sent Events endpoint for MCP protocol"
},
"http": {
"url": "/",
"description": "REST API endpoints"
}
},
"entrypoint": "https://warpgbm.ai"
}