Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| describe_dataset | Generate comprehensive statistics for a tabular dataset.
Args:
file_path: Path to CSV or SQLite file
include_all: If True, include statistics for all columns (not just numeric)
Returns:
Dictionary containing:
- shape: (rows, columns)
- columns: List of column names with their types
- numeric_stats: Descriptive statistics for numeric columns
- missing_values: Count of missing values per column
- sample: First 5 rows as preview |
| detect_anomalies | Detect anomalies/outliers in a numeric column.
Args:
file_path: Path to CSV or SQLite file
column: Name of the numeric column to analyze
method: Detection method - 'zscore' (default), 'iqr', or 'isolation_forest'
threshold: Threshold for anomaly detection (default 3.0 for zscore, 1.5 for IQR)
Returns:
Dictionary containing:
- method: Detection method used
- anomaly_count: Number of anomalies found
- anomaly_indices: Row indices of anomalies
- anomalies: The anomalous rows
- statistics: Column statistics |
| compute_correlation | Compute correlation matrix between numeric columns.
Args:
file_path: Path to CSV or SQLite file
columns: List of columns to include (default: all numeric columns)
method: Correlation method - 'pearson' (default), 'spearman', or 'kendall'
Returns:
Dictionary containing:
- method: Correlation method used
- correlation_matrix: Full correlation matrix
- top_correlations: Top 10 strongest correlations (excluding self-correlations) |
| filter_rows | Filter rows based on a condition.
Args:
file_path: Path to CSV or SQLite file
column: Column name to filter on
operator: Comparison operator - 'eq', 'ne', 'gt', 'gte', 'lt', 'lte', 'contains', 'startswith', 'endswith'
value: Value to compare against
limit: Maximum number of rows to return (default 100)
Returns:
Dictionary containing:
- filter_applied: Description of the filter
- original_count: Number of rows before filtering
- filtered_count: Number of rows after filtering
- rows: Filtered rows (up to limit) |
| query_sqlite | Execute a SQL query on a SQLite database.
Args:
db_path: Path to SQLite database file
query: SQL query to execute (SELECT queries only for safety)
limit: Maximum number of rows to return (default 100)
Returns:
Dictionary containing:
- query: The executed query
- row_count: Number of rows returned
- columns: List of column names
- rows: Query results |
| list_tables | List all tables in a SQLite database.
Args:
db_path: Path to SQLite database file
Returns:
Dictionary containing table names and their schemas |
| group_aggregate | Group data and compute aggregations.
Args:
file_path: Path to CSV or SQLite file
group_by: Columns to group by
aggregations: Dictionary mapping column names to list of aggregation functions
(e.g., {"sales": ["sum", "mean"], "quantity": ["count", "max"]})
Supported: sum, mean, median, min, max, count, std, var
Returns:
Dictionary containing grouped and aggregated data |
| list_data_files | List available data files in the project data directory.
Args:
data_dir: Relative path to data directory (default: "data")
Returns:
Dictionary containing list of available CSV and SQLite files |
| create_pivot_table | Create a pivot table from tabular data - the most common business analysis operation.
Args:
file_path: Path to CSV or SQLite file
index: Column(s) to use as row labels (grouping)
columns: Column(s) to use as column headers (optional)
values: Column to aggregate (default: first numeric column)
aggfunc: Aggregation function - 'sum', 'mean', 'count', 'min', 'max', 'median', 'std'
fill_value: Value to replace missing entries (default: None = show as null)
Returns:
Dictionary containing the pivot table data and metadata
Example:
create_pivot_table(
file_path="data/sales.csv",
index=["region"],
columns=["category"],
values="revenue",
aggfunc="sum"
) |
| data_quality_report | Generate a comprehensive data quality assessment report.
Essential for understanding data health before analysis.
Args:
file_path: Path to CSV or SQLite file
Returns:
Dictionary containing:
- completeness: Missing value analysis per column
- uniqueness: Duplicate detection
- validity: Data type consistency and outlier counts
- overall_score: Data quality score (0-100) |
| analyze_time_series | Perform time series analysis including trend detection, seasonality, and statistics.
Args:
file_path: Path to CSV or SQLite file
date_column: Name of the date/datetime column
value_column: Name of the numeric column to analyze
freq: Frequency for resampling - 'D' (daily), 'W' (weekly), 'M' (monthly), 'Q' (quarterly), 'Y' (yearly)
include_forecast: If True, include simple moving average forecast
Returns:
Dictionary containing:
- trend: Overall trend direction and statistics
- statistics: Time series statistics
- moving_averages: 7, 30, 90 period moving averages
- seasonality: Day of week / month patterns
- forecast: Simple forecast if requested |
| generate_chart | Generate a chart/visualization from tabular data.
Returns chart as base64-encoded PNG for display.
Args:
file_path: Path to CSV or SQLite file
chart_type: Type of chart - 'bar', 'line', 'scatter', 'histogram', 'pie', 'box'
x_column: Column for X-axis (not needed for histogram/pie)
y_column: Column for Y-axis values
group_by: Optional column for grouping/coloring
title: Chart title (auto-generated if not provided)
output_format: 'base64' (default) or 'file' (saves to data/charts/)
Returns:
Dictionary containing chart data as base64 or file path |
| merge_datasets | Merge/join two datasets together - essential for combining data sources.
Args:
file_path_left: Path to left/primary dataset
file_path_right: Path to right/secondary dataset
on: Column(s) to join on (if same name in both datasets)
left_on: Column name in left dataset to join on
right_on: Column name in right dataset to join on
how: Join type - 'inner', 'left', 'right', 'outer'
preview_limit: Number of rows to return in preview
Returns:
Dictionary containing merged data preview and statistics |
| statistical_test | Perform statistical hypothesis tests on data.
Args:
file_path: Path to CSV or SQLite file
test_type: Type of test:
- 'ttest_ind': Independent samples t-test (compare 2 groups)
- 'ttest_paired': Paired samples t-test
- 'chi_squared': Chi-squared test for categorical independence
- 'anova': One-way ANOVA (compare 3+ groups)
- 'mann_whitney': Non-parametric alternative to t-test
- 'pearson': Pearson correlation test
- 'spearman': Spearman correlation test
column1: First column for analysis
column2: Second column (required for correlation, optional for t-test)
group_column: Column defining groups (for t-test, ANOVA)
alpha: Significance level (default 0.05)
Returns:
Dictionary containing test statistic, p-value, and interpretation |
| auto_insights | Automatically generate interesting insights about a dataset.
Perfect for quick data exploration and understanding.
Args:
file_path: Path to CSV or SQLite file
max_insights: Maximum number of insights to generate (default 10)
Returns:
Dictionary containing automatically discovered insights |
| export_data | Export filtered/transformed data to a new CSV file.
Args:
file_path: Path to source CSV or SQLite file
output_name: Name for output file (without extension, saved to data/ folder)
filter_column: Optional column to filter on
filter_operator: Filter operator - 'eq', 'ne', 'gt', 'gte', 'lt', 'lte', 'contains'
filter_value: Value to filter by
columns: List of columns to include (default: all)
sort_by: Column to sort by
sort_ascending: Sort direction (default: ascending)
limit: Maximum rows to export
Returns:
Dictionary containing export details and file path |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |