Model Context Protocol server for Skore (experiment tracking and model evaluation)
Project description
Skore MCP server
Community MCP server for Skore — not affiliated with Probabl. It exposes MCP tools for projects, evaluate / compare / train_test_split, global configuration, and a skore_report_call dispatcher that covers the report surface documented in the Skore API (e.g. ComparisonReport.get_predictions, metrics, inspection, data.analyze). Call skore_api_catalog for the exact allowlisted method names per accessor.
Repository: github.com/fanfcorp/skore-mcp
Requirements
- Python 3.10+ (same as Skore 0.15)
- Dependencies:
skore,mcp[cli],pandas(seepyproject.toml)
Install
From PyPI (after the package is published):
python3.12 -m venv .venv
source .venv/bin/activate
pip install skore-mcp
From GitHub (any time, no PyPI needed):
pip install "skore-mcp @ git+https://github.com/fanfcorp/skore-mcp.git"
From a local clone (editable for development):
cd "/path/to/skore-mcp"
python3.12 -m venv .venv
source .venv/bin/activate
pip install -e .
After install, run the server as skore-mcp or python -m skore_mcp (stdio MCP).
Cursor / Claude Desktop
Add a stdio server (use your real paths):
{
"mcpServers": {
"skore": {
"command": "/path/to/MCP Skore/.venv/bin/python",
"args": ["-m", "skore_mcp"],
"env": {
"SKORE_WORKSPACE": "/path/to/your/skore/workspace"
}
}
}
}
Alternatively, after pip install into an environment:
{
"mcpServers": {
"skore": {
"command": "skore-mcp"
}
}
}
Tools
| Tool | Purpose |
|---|---|
skore_info |
Skore version and mode hints |
skore_api_catalog |
JSON allowlists for skore_report_call (accessors + method names) |
skore_hub_login |
Hub auth for the current process (optional api_key) |
skore_project_summarize |
CSV of Project.summarize() |
skore_report_metrics |
Shortcut: metrics summary CSV for one report id |
skore_evaluate_csv |
skore.evaluate on a CSV; returns session_report_key; optional put into a project |
skore_project_delete |
Delete a local/hub project |
skore_show_versions |
skore.show_versions() output |
skore_configuration_get / skore_configuration_set |
Read/write skore.configuration |
skore_train_test_split_csv |
skore.train_test_split on a CSV → train/test CSV blobs |
skore_estimator_report_from_split_csv |
Build EstimatorReport from CSV; returns session_report_key |
skore_compare_persisted_reports |
skore.compare on reports from a Project |
skore_compare_session_reports |
skore.compare on in-memory session reports |
skore_report_call |
Call get_predictions, cache_predictions, metrics.*, inspection.*, data.*, etc. |
skore_session_release |
Drop a session_report_key from memory |
Session keys
skore_evaluate_csv always registers the report in-memory and returns session_report_key. Use that with skore_report_call (and skore_compare_session_reports) without persisting to a project. Persisted reports use project_name + report_id (id from summarize) instead.
API coverage
Skore’s Python API is large (many classes and plot objects). This server maps one tool (skore_report_call) to the methods Skore exposes on reports and accessors, with an explicit allowlist so behavior stays predictable. Plots are returned as base64 PNG and tables as CSV in JSON when serialization supports it. It is not a line-for-line duplicate of every overload in the docs, but it covers the public patterns for reports, metrics, inspection, and data analysis.
Hub projects use project_name like workspace_slug/project_slug per Skore docs. Call skore_hub_login (or your hub plugin’s env vars) before hub operations.
Notes
- On SQLite 3.41+, the server applies a small compatibility patch for
diskcache(used by local Skore storage) so local projects work on current macOS/Python builds. - Logs go to stderr; do not print to stdout when using stdio MCP.
License
This project is licensed under the MIT License — see LICENSE. Skore and other dependencies remain under their own licenses.
Publish or clone from GitHub
After cloning:
git clone https://github.com/fanfcorp/skore-mcp.git
cd skore-mcp
python3.12 -m venv .venv && source .venv/bin/activate
pip install -e .
To push updates (replace the remote URL if your fork or username differs):
git remote add origin https://github.com/fanfcorp/skore-mcp.git
git branch -M main
git push -u origin main
Or create the repo and push in one step (with GitHub CLI authenticated):
gh repo create fanfcorp/skore-mcp --public --source=. --remote=origin --push
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skore_mcp-0.1.1.tar.gz.
File metadata
- Download URL: skore_mcp-0.1.1.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a966ef40a69eca91db2aa4eb2253f7e6b0a3fd01e2703a13d053533ebd9fab58
|
|
| MD5 |
f9d054ede14bc6c524797bb225e496d8
|
|
| BLAKE2b-256 |
4b830fbda199b19ed15d12b0a37686ccaf2e04210613925ac47808dab44d6fa7
|
File details
Details for the file skore_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: skore_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a95ec583e0005b677020cf3e414f037cd920a8dbc114eb16a0f5401d8eb3916
|
|
| MD5 |
881fd022ba851deb42a24aa1fc632464
|
|
| BLAKE2b-256 |
ceed77d0b755b27b4c4dd8f8b720531202106cdb4dabc8e043ba83e7f2e4905d
|