# Abacus AI MCP

> Abacus AI (Enterprise AI Cloud) MCP manages your entire machine learning lifecycle directly from your agent. You can set up new projects, manage data structures, run custom model training jobs, and deploy real-time prediction endpoints—all without leaving your IDE.

## Overview
- **Category:** cloud-infrastructure
- **Price:** Free
- **Tags:** machine-learning, mlops, model-training, predictive-analytics, enterprise-ai

## Description

Building reliable predictive models used to mean switching between a dozen tools: a cloud console for data, a separate platform for training, and another endpoint manager for deployment. This MCP changes that. It connects your agent directly into the Abacus AI Enterprise Cloud, letting you manage complex ML workflows using natural conversation. You simply tell it what you want—like 'predict churn risk'—and it handles the steps: checking your data, kicking off a training run, and getting ready for real-time use. The power of Vinkius to host this connection means you get full access to Abacus AI without setting up complex API keys or managing multiple web dashboards. It lets you treat your entire ML pipeline like just another command line process.

## Tools

### create_project
You can start by creating the foundational container or project scope for your new ML work.

### describe_model
It gives you the current status and detailed metrics for any existing model within your projects.

### train_model
This starts a complete training job for an ML model, allowing you to define custom parameters easily.

### create_dataset
This tool allows you to define and create an entirely new dataset within the Abacus AI system.

### create_deployment
It takes a finished model and deploys it instantly as a real-time prediction endpoint for use.

### describe_dataset
This function pulls metadata, helping you understand exactly what a specific dataset contains before training begins.

### get_prediction
Use this to send structured data to a live endpoint and retrieve an immediate prediction result from the deployed model.

### list_projects
You can view all the machine learning projects that are currently set up in your organization's account.

## Prompt Examples

**Prompt:** 
```
List all my machine learning projects in Abacus AI.
```

**Response:** 
```
I've retrieved your projects. You have 3 active projects: 'Customer Churn' (ID: proj_123), 'Demand Forecast' (ID: proj_456), and 'Lead Scoring' (ID: proj_789).
```

**Prompt:** 
```
Start training a model named 'SalesModel_v1' in project proj_123.
```

**Response:** 
```
The training job for 'SalesModel_v1' has been initiated in project proj_123. You can check its progress using the model ID provided: model_abc123.
```

**Prompt:** 
```
Get a prediction from deployment dep_999 using this data: {"user_id": "123", "last_purchase": 50}.
```

**Response:** 
```
The model predicts a 'churn_probability' of 0.15 for this user based on the provided data.
```

## Capabilities

### Manage Project Scope
Create and view all existing machine learning projects in one conversation.

### Inspect Data Sources
Check the structure and metadata of a dataset to make sure your model knows what it’s working with.

### Initiate Model Training
Start an ML training job for a specific model, even specifying custom configurations.

### Deploy Models Live
Take a trained model and set it up as a real-time endpoint ready to accept data predictions.

### Get Instant Predictions
Send specific input data to a deployed model and retrieve an immediate, actionable prediction.

## Use Cases

### Predicting Churn Risk
The Product Manager needs to test a new prediction model. They start by calling `list_projects` to find the right container. Next, they use `describe_dataset` to confirm the data has enough user history. Finally, they run the full cycle: `train_model`, followed by `create_deployment`, and then sending sample records via `get_prediction`.

### Auditing Model Health
The Data Scientist needs to know if a model trained last week is still performing well. They use `describe_model` to check the health metrics, and if it's flagged as stale, they can immediately rerun the process by calling `train_model` again.

### Starting from Scratch
A new project needs a home. The user first calls `create_project` to establish the scope. Then, they use `create_dataset` to upload and structure the necessary data before any work can begin.

### Testing Production Readiness
The ML Engineer has a model ready for beta testing. They call `describe_model` one last time to verify its parameters, then use `create_deployment` to make it live, and finally confirm functionality by calling `get_prediction`.

## Benefits

- You stop context-switching. You manage everything—from using `list_projects` to checking model status with `describe_model`—all inside your agent's chat window.
- The whole process is automated. Instead of manually running scripts for every step, you simply tell the system to kick off a training job using `train_model` and watch it run.
- Getting predictions is instant. Once deployed via `create_deployment`, you use `get_prediction` to test your model against live data without writing any boilerplate code.
- Data preparation is clearer. You can inspect the raw material first by calling `describe_dataset` before you even think about running a single training job with `train_model`.
- Project setup is simple. Use `create_project` to define your scope, and then use that project ID when calling any other tool, keeping your work organized.

## How It Works

The bottom line is you manage the entire ML lifecycle in a single chat session, from data ingestion through final deployment.

1. First, use the agent to list or create a new project scope. This sets the container for all your work.
2. Next, define or inspect the dataset using tools like `create_dataset` or `describe_dataset`. The system confirms the data is ready and structured correctly.
3. Finally, kick off model training with `train_model`, then deploy it via `create_deployment` to start getting predictions using `get_prediction`.

## Frequently Asked Questions

**How do I start a new project with the Abacus AI MCP?**
You use the `create_project` tool first. This establishes a dedicated scope for all subsequent tools, making sure your work stays organized under one ID.

**What is the difference between `describe_dataset` and `describe_model`?**
`describe_dataset` gives you metadata on raw data (the inputs). `describe_model` provides status, metrics, and details about a model that has already been trained.

**Can I test my model without deploying it first?**
You can't fully test it. You must use `train_model` to create a version, then call `create_deployment` before you can reliably get predictions using `get_prediction`.

**`list_projects` only shows me the names, right?**
No. `list_projects` gives you all active project IDs and status summaries. You need these IDs to correctly reference the scope when calling other tools like `train_model`.

**What input format does the `create_dataset` tool require for my training material?**
The tool requires structured data, typically in JSON or CSV format, along with clear schema definitions. The agent needs to understand column types and metadata before it can successfully create the dataset record.

**If a job fails after calling `train_model`, how do I find the specific error logs?**
You need the model ID returned during the initial training request. Use that ID to check status details, as the full stack trace and failure reason are available in the response object.

**How do I confirm a successful `create_deployment` points to the right model version?**
The deployment metadata includes both the specific trained model ID and its associated version number. Always verify this information against your expected versions before using any prediction tokens.

**When I use `get_prediction`, what happens if my input data payload is missing required fields?**
The system returns a validation error immediately, specifying exactly which fields are missing or incorrectly typed. You'll have to fix your data structure and try the call again.

**How can I check if my model training is finished?**
You can use the `describe_model` tool by providing the unique Model ID. It will return the current status, metrics, and other details of the training job.

**Can I get a prediction from a deployed model directly through the agent?**
Yes! Use the `get_prediction` tool. You will need the deployment ID, the deployment token, and the input data in JSON format to receive a real-time prediction.

**Is it possible to create a new project for a specific ML use case?**
Absolutely. Use the `create_project` tool and specify the name and the `useCase` (e.g., 'RETAIL_RECOMMENDATIONS') to initialize a project tailored for that specific application.