Labsco
MCP SERVER · OFFICIAL PROJECT

Sparkient MCP Server

by Sparkient

Train a small decision model from labelled examples, then call it as a metered, logged decision instead of asking a language model every time.

Model Routing, Multi-Model Consultation & Cost ControlOfficial source
Summary
It replaces a repeated language-model call with a trained classifier whose decisions you can audit.

The loop is deliberate: define the type with its rules and thresholds, feed it labelled examples of your own or generated ones, train, then call. Escalation to a live LLM is something you opt into on the decision type rather than something that happens by default, which is what keeps the cost and latency of a single decision predictable. Two constraints to plan around: training wants at least 38 labelled examples per option, so a type with several options needs a real example set before it is worth starting, and 5,000 examples is the ceiling per type with an over-limit batch rejected whole rather than partly applied. The Claude Desktop gap is worth knowing before you choose a client.

What it is

An MCP server for Sparkient's decision intelligence API. You define a decision type with its rules and thresholds, add or generate labelled examples, train a model, then call it — with the decision logs, organisation metrics and credit balance reachable from the same place. Compiled cloud decisions target an under-100ms model path, though what you measure end to end also includes your client and the network.

What you get
  • make_decision runs one metered, logged decision; the API sets both escalate and fallback_used, so read stage to tell an escalation from a fallback
  • batch_decisions takes up to 50 ordered decisions, returning failed positions as null with an indexed error — those positions must not be acted on
  • create_decision_type creates a classifier-only type by default, with structured CEL rules, an optional input schema, confidence thresholds and explicit opt-in to live-LLM escalation; list_decision_types and get_decision_type read them back with the active configuration version and deployment status
  • add_examples adds labelled records, and generate_examples produces synthetic ones through Gemini
  • train_model starts async training once there are at least 38 labelled examples per option, get_training_status polls stage progress, and cancel_training cancels exactly the active policy attempt
  • get_decision_logs queries past decisions, get_metrics returns organisation aggregates for the last 24 hours including compiled and escalation rates, and get_credits reports balance, plan and the API's reset timestamp
  • get_edge_export_instructions returns the authenticated REST URL and dashboard path for an eligible Growth or Scale edge bundle — the ZIP itself never travels through MCP
  • Two resources cover discovery: sparkient://decision-types for the list, and sparkient://decision-types/{decision_type_id} for one type's full schema
  • Each decision type stores up to 5,000 examples; an add_examples batch that would exceed that fails outright rather than partially, and near the ceiling generate_examples creates only the number that still fits
Requirements

The cloud server is https://mcp.sparkient.ai/mcp with Authorization: Bearer and an API key from the Sparkient dashboard. Claude Desktop cannot reach it — its remote connectors expect authless or OAuth servers while this one takes a key in the header — so use Cursor, VS Code, or run the local proxy. Locally: pip install -e ".[dev]" then python -m sparkient_mcp with SPARKIENT_API_URL set to https://api.sparkient.ai, keeping the key in the MCP client and sending it as a bearer header on each request rather than putting it in the server process.

Setup effort

One command plus a key — npx -y @smithery/cli install sparkient --client claude, then supply credentials