Skip to content
Agentmart
Submit a tool

Stats Compass

50+ pandas-powered tools for data loading, cleaning, visualization, and ML workflows

Connector by oogunbiyi21 · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)★ 17
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/oogunbiyi21-stats-compass

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://mcp.statscompass.io/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

50+ pandas-powered tools for data loading, cleaning, visualization, and ML workflows

Use cases: data-analysis, data-visualization, spreadsheets

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
15 read · 17 write · 1 delete
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 33

Read from the source code; the running server may list different tools.

Read 15 · Look things up without changing anything.

  • describe_cleaning_tools
  • describe_data_tools
  • describe_eda_tools
  • describe_ml_tools
  • describe_plot_tools
  • describe_transform_tools
  • get_sample
  • get_schema
  • get_upload_url
  • get_usage_guide
  • list_dataframes
  • list_files
Show 3 more tools
  • ping
  • server_stats
  • session_info

Write 17 · Create, change, send or run things.

  • execute_cleaning_tool
  • execute_data_tool
  • execute_eda_tool
  • execute_ml_tool
  • execute_plot_tool
  • execute_transform_tool
  • load_csv
  • load_dataset
  • load_excel
  • register_uploaded_file
  • run_classification_workflow
  • run_eda_report_workflow
Show 5 more tools
  • run_preprocessing_workflow
  • run_regression_workflow
  • run_timeseries_workflow
  • save_csv
  • save_model

Delete 1 · Delete, drop, revoke or wipe things.

  • delete_session

Network hosts it talks to 5

  • github.com · found in code
  • inferencelabs.co.uk · found in code
  • mcp.statscompass.io · found in remote endpoint, install command, code
  • stats-compass-demo.streamlit.app · found in code
  • statscompass.io · found in code

Files it touches

  • /tmp/stats-compass-exports
  • /tmp/stats-compass-uploads
  • Your home directory (~)
  • ~/Downloads
  • Any path the agent passes to its tools

Tools (33)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • delete_sessioncan change or delete data

    Delete your current session and all its data. Returns: Deletion result.

  • describe_cleaning_toolsread-only

    Get schemas for all cleaning sub-tools. Returns available tools: drop_na, impute, dedupe, handle_outliers, etc.

  • describe_data_toolsread-only

    Get schemas for all data manipulation sub-tools. Returns available tools: list_files, get_sample, get_schema, add_column, drop_columns, rename_columns, merge, concat, etc. NOTE — local file discovery: Use the list_files top-level tool to browse the user's local filesystem. Call it directly — NOT via execute_data_tool. Example: list_files(directory="~/Downloads")

  • describe_eda_toolsread-only

    Get schemas for all EDA sub-tools. Returns available tools: describe, correlations, hypothesis_test, data_quality, missing_data_analysis, etc.

  • describe_ml_toolsread-only

    Get schemas for all ML sub-tools. Returns available tools: train_model, evaluate, predict, cross_validate, save_model, etc.

  • describe_plot_toolsread-only

    Get schemas for all visualization sub-tools. Returns available tools: histogram, scatter, bar, line, box, heatmap, roc_curve, confusion_matrix, etc.

  • describe_transform_toolsread-only

    Get schemas for all transform sub-tools. Returns available tools: filter, groupby, pivot, encode, scale, etc.

  • execute_cleaning_tool

    Execute a cleaning sub-tool. Args: tool_name: Name of sub-tool (e.g., "drop_na", "impute") params: Parameters for the sub-tool dataframe_name: Override active DataFrame

  • execute_data_tool

    Execute a data manipulation sub-tool. Args: tool_name: Name of sub-tool (e.g., "get_sample", "add_column") params: Parameters for the sub-tool dataframe_name: Override active DataFrame NOTE — inspect_data and add_column read a small expression language, not arbitrary pandas code: column names (backticks for spaces), constants, arithmetic, comparisons, a few functions (np.log, np.where, pd.to_numeric...) and column summaries such as price.mean(), region.nunique(), region.value_counts(), len(df[price > 100]). groupby, apply, other methods and '@' references …

  • execute_eda_tool

    Execute an EDA sub-tool. Args: tool_name: Name of sub-tool (e.g., "describe", "correlations") params: Parameters for the sub-tool dataframe_name: Override active DataFrame WARNING — t_test and z_test: These require samples in separate columns (column_a, column_b). They do NOT accept group_column. If your data is grouped (one value column + one group column), first call execute_transform_tool with tool_name="split_column_by_group" to reshape it, then run the test.

  • execute_ml_tool

    Execute an ML sub-tool. Args: tool_name: Name of sub-tool (e.g., "train_model", "predict") params: Parameters for the sub-tool dataframe_name: Override active DataFrame

  • execute_plot_tool

    Execute a visualization sub-tool. Args: tool_name: Name of sub-tool (e.g., "histogram", "scatter") params: Parameters for the sub-tool dataframe_name: Override active DataFrame Returns: Plot result with image and download_url (if remote).

  • execute_transform_tool

    Execute a transform sub-tool. Args: tool_name: Name of sub-tool (e.g., "filter", "groupby") params: Parameters for the sub-tool dataframe_name: Override active DataFrame

  • get_sampleread-only

    Get sample rows from a DataFrame. Args: dataframe_name: Name of DataFrame (default: active) n: Number of rows (default: 10) method: 'head', 'tail', or 'random' Returns: Sample rows as records.

  • get_schemaread-only

    Get the schema and metadata of a DataFrame. Args: dataframe_name: Name of DataFrame (default: active) sample_values: Number of sample values per column Returns: Schema with columns, dtypes, nulls, and sample values.

Show 18 more tools
  • get_upload_urlread-only

    Get a URL for the user to upload a CSV or Excel file in their browser. When sharing the upload_url with the user, always include the raw URL as plain text (not as a markdown hyperlink) so the user can see and copy it directly. You may add brief instructions around it. After they confirm the upload is done, call register_uploaded_file() with no arguments. Args: filename: Optional suggested filename — leave blank, the user picks the file content_type: MIME type (default: text/csv) Returns: Upload info with upload_url and instructions.

  • get_usage_guideread-only

    Return the Stats Compass usage guide covering correct tool workflows, hypothesis test patterns, and common pitfalls. Call this if you are unsure how to structure a statistical test, which tool to use for a task, or have received a validation error.

  • list_dataframesread-only

    List all DataFrames in your session. Returns: List of DataFrames with name, shape, columns, and active status.

  • list_filesread-only

    List files in a directory. Useful for finding data files. Args: directory: Directory path. Supports ~ expansion (e.g., ~/Downloads). Returns: List of files in the directory.

  • load_csv

    Load a CSV file from a local path. If you do not know the exact path, call list_files first (e.g. list_files(directory="~/Downloads")) to find the file. Do NOT use bash or shell commands — they cannot access the user's machine. Args: path: Absolute path to the CSV file. Supports ~ expansion. name: Name for the DataFrame (default: filename without extension) delimiter: Field delimiter (default: comma) encoding: File encoding (default: utf-8, retry with latin-1 on errors) set_active: Whether to set as active DataFrame (default: True) Returns: DataFrame info with name, …

  • load_dataset

    Load a built-in sample dataset. Available datasets: TATASTEEL, Housing, Bukayo_Saka_7322 Args: name: Dataset name set_active: Whether to set as active DataFrame (default: True) Returns: DataFrame info with name, shape, columns.

  • load_excel

    Load an Excel file from a local path. If you do not know the exact path, call list_files first (e.g. list_files(directory="~/Downloads")) to find the file. Do NOT use bash or shell commands — they cannot access the user's machine. Args: path: Absolute path to the Excel file. Supports ~ expansion. name: Name for the DataFrame (default: filename without extension) sheet_name: Sheet to load (default: first sheet) set_active: Whether to set as active DataFrame (default: True) Returns: DataFrame info with name, shape, columns, dtypes.

  • pingread-only

    Health check - verify server is running.

  • register_uploaded_file

    Load an uploaded file as a DataFrame. Call this after the user confirms they have uploaded their file. If file_key is omitted, automatically loads the most recently uploaded file. File type is auto-detected from the file extension (csv, xlsx, xls). Args: file_key: Filename to load (optional — omit to auto-load the latest upload) dataframe_name: Name for the DataFrame (default: filename without extension) file_type: File type override - "csv" or "excel" (auto-detected from extension if omitted) encoding: File encoding (default: utf-8). Try "latin-1" if you get codec errors. R…

  • run_classification_workflow

    Run classification workflow: train model, evaluate performance, generate confusion matrix, ROC curve, and feature importance plots. Args: target_column: Column with class labels to predict dataframe_name: Name of DataFrame (default: active) feature_columns: Feature columns (default: all numeric except target) config: Optional classification configuration dict Returns: Workflow result with metrics, model ID, and diagnostic charts.

  • run_eda_report_workflow

    Run comprehensive EDA report: descriptive stats, correlations, missing data analysis, and auto-generated visualizations. Args: dataframe_name: Name of DataFrame to analyze (default: active) config: Optional EDA configuration dict Returns: Workflow result with steps, metrics, and charts.

  • run_preprocessing_workflow

    Run data preprocessing pipeline: analyze missing data, apply imputation, handle outliers, and remove duplicates. Args: dataframe_name: Name of DataFrame to preprocess (default: active) save_as: Name for the cleaned DataFrame (default: auto-generated) config: Optional preprocessing configuration dict Returns: Workflow result with steps and cleaned DataFrame name.

  • run_regression_workflow

    Run regression workflow: train model, evaluate with RMSE/MAE/R², generate feature importance plots. Args: target_column: Column with continuous values to predict dataframe_name: Name of DataFrame (default: active) feature_columns: Feature columns (default: all numeric except target) config: Optional regression configuration dict Returns: Workflow result with metrics, model ID, and charts.

  • run_timeseries_workflow

    Run time series forecasting: fit ARIMA model, generate forecasts and visualization. Datasets larger than 500 rows are fitted on their most recent 500 rows (by date_column when given), to keep the fit fast; the forecast DataFrame is then named <name>_last500_forecast. Args: target_column: Column with values to forecast dataframe_name: Name of DataFrame (default: active) date_column: Column containing dates (default: uses row index) forecast_periods: Number of future periods to forecast (default: 30) check_stationarity: Run ADF stationarity test before fitting (default: Fals…

  • save_csv

    Save a DataFrame to a CSV file. Args: dataframe_name: Name of the DataFrame to save filepath: Path where the CSV file will be saved. For local mode: can be absolute path (e.g., ~/Downloads/data.csv) For remote mode: filename only, saved to session exports index: Whether to write row index (default: False) Returns: Save result with filepath and download_url (if remote).

  • save_model

    Save a trained model to a file. Args: model_id: ID of the model to save filepath: Path where the model will be saved. For local mode: can be absolute path (e.g., ~/Downloads/model.joblib) For remote mode: filename only, saved to session exports Returns: Save result with filepath and download_url (if remote).

  • server_statsread-only

    Get server statistics (admin tool). Returns: Active sessions count, configuration, and session details.

  • session_inforead-only

    Get information about your current session. Returns: Session info including created_at, dataframes, models and exports.

Signals

Stars
17
Forks
4
Open issues
1
Weekly downloads
262
Last commit
Oct 23, 2026 (5 days ago)
Last release
Oct 23, 2026 (5 days ago)
Last package publish
Oct 23, 2026 (5 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.oogunbiyi21/stats-compass
Version
0.3.35
Auth
Auth not stated
Packages
pypi stats-compass-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Stats Compass MCP server. Agent Mart. https://agentmart.dev/connectors/oogunbiyi21-stats-compass (last updated 2026-10-24)