The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Xplainable MCP Server listing page.
A Model Context Protocol server for the Xplainable platform. It lets an LLM agent (Claude, or any MCP client) train, deploy, optimise, and explain transparent machine-learning models. The agent is the orchestrator: it inspects the data, decides features and preprocessing, trains, reads the metrics, and iterates.
Training always runs server-side on the Xplainable platform — the MCP host never fits a model locally.
https://mcp.xplainable.io
(OAuth login, no installation).Create one at platform.xplainable.io.
Add to your MCP settings file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonNo uv? Clone and install instead:
then use "command": "/path/to/xplainable-mcp-server/.venv/bin/xplainable-mcp"
(no args) in the config above.
Ask your agent: "What models and datasets do I have?" — it should call
models_list_team_models and datasets_list_team_datasets.
The tool surface puts the agent in control of every training decision:
datasets_list_team_datasets / models_list_team_models /
deployments_list_deployments — see the team's assetsdatasets_preview_dataset_json(dataset_id) — inspect columns, types,
and sample rows; decide the target, columns to drop, and whether
preprocessing is neededpreprocessing_list_available_transformers →
preprocessing_create_preprocessor_from_spec →
preprocessing_preview_from_data to verify transformed output
3b. Declare feature relationships once per dataset:
datasets_infer_relationships proposes derived columns, implications
and monotonic hints with evidence; commit with
datasets_set_relationships (re-apply to old versions with
models_apply_relationships)models_train_model(dataset_id, target_column, model_name, ...) —
synchronous server-side training; returns model/version IDs,
train/test metrics, and feature importancesmodels_get_feature_info / gpt_explain_model; compare
train vs test metricsmodels_refit_features for per-feature tuning, or train
again with different features / preprocessingdeployments_deploy(version_id) — deploy once satisfied (then
deployments_activate_deployment)inference_predict /
optimisers_run_optimiser / reports_create_report (+ poll
reports_get_job_status)Tools are generated at server startup from @mcp_tool-decorated methods
in the xplainable-client
package — there are no checked-in generated files. The surface is flat:
every registry tool is exposed, with MCP annotations derived from its
category (read → read-only hint, write → destructive hint).
| Variable | Required | Description |
|---|---|---|
XPLAINABLE_API_KEY | yes (local) | API key from platform.xplainable.io |
XPLAINABLE_HOST / XPLAINABLE_HOSTNAME | no | Platform host override (defaults to https://platform.xplainable.io). Set both to the same value. |
XPLAINABLE_INFERENCE_HOST | no | Inference server override for the direct-to-inference tools (inference_score_dataset, optimisers_run_portfolio); defaults to https://inference.xplainable.io. Set it whenever the platform host is non-prod. |
XPLAINABLE_ORG_ID / XPLAINABLE_TEAM_ID | no | Org/team binding, if your API key is not bound to a team |
MCP_TRANSPORT | no | stdio (default) or streamable-http |
LOG_LEVEL | no | DEBUG, INFO (default), WARNING, ERROR |
See .env.example. The API key is read from the environment only and is never exposed through a tool.
The container serves streamable-HTTP on port 8000 with a /health
endpoint. For anything beyond localhost, terminate TLS at a reverse proxy.
Client-backed tools are generated at import time by
xplainable_mcp/runtime_tools.py from the @mcp_tool registry in
xplainable-client — there is no sync step. Upgrading the pinned
xplainable-client version is all it takes to pick up new or changed
tools; the test suite (tests/test_surface.py) pins the tool count so
surface changes are always deliberate.
| MCP Server | xplainable-client | fastmcp |
|---|---|---|
| current (main) | >=1.13.0 | >=2.0.0,<3.0.0 |
See CONTRIBUTING.md.
MIT License — see LICENSE.