ds-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| plot_interactive_histogramC | Generates a web-ready interactive Plotly histogram. |
| plot_interactive_scatterplotB | Generates a web-ready interactive Plotly scatter plot. |
| plot_interactive_boxplotC | Generates a web-ready interactive Plotly box plot. |
| plot_interactive_lineplotC | Generates a web-ready interactive Plotly line plot. |
| plot_interactive_correlation_heatmapA | Generates an interactive Plotly correlation heatmap. Use this to visualize relationships between numeric features. method must be 'pearson' or 'spearman'. column_filter: optional comma-separated column names or suffix patterns (e.g. '_mean') to restrict the heatmap to a subset of columns. Leave empty for all numeric columns. |
| plot_interactive_barchartB | Generates an interactive Plotly grouped bar chart. x_column: categorical column for the x-axis groups. y_column: numeric column to aggregate. aggregation: how to aggregate y per group — 'mean' (default), 'sum', 'count', or 'median'. color_column: optional column to split bars by colour. |
| plot_interactive_scatter_matrixB | Generates an interactive Plotly scatter matrix (pair plot equivalent). columns: comma-separated list of numeric column names (e.g. 'radius_mean,texture_mean,area_mean'). color_column: optional categorical column to colour points by (e.g. 'diagnosis'). |
| generate_custom_plotlyC | Executes custom Python code (px, pd) to generate complex Plotly charts. |
| get_all_columns_summaryA | Returns a compact schema of ALL columns in one call: column names grouped by type (numeric, categorical, datetime). Categorical columns also show their unique values. Call this FIRST to understand the dataset structure, then call plot or stats tools. |
| get_column_summaryB | Analyzes a specific column in the dataset and returns a statistical summary. Use this for a deep dive into one column after using get_all_columns_summary. |
| plot_static_histogramB | Generates a static Matplotlib/Seaborn histogram (for papers/publications). |
| plot_static_scatterplotC | Generates a static Matplotlib/Seaborn scatter plot (for papers/publications). |
| plot_static_boxplotC | Generates a static Matplotlib/Seaborn box plot (for papers/publications). |
| plot_static_lineplotB | Generates a static Matplotlib/Seaborn line plot (for papers/publications). |
| plot_static_barchartB | Generates a static Seaborn bar chart (for papers/publications). x_column: categorical column for the x-axis groups. y_column: numeric column to aggregate. aggregation: how to aggregate y per group — 'mean' (default), 'sum', 'count', or 'median'. hue_column: optional column to split bars by colour. |
| generate_custom_static_plotC | Executes custom Python code (plt, sns, pd) to generate complex static charts. |
| plot_static_pairplotB | Generates a Seaborn pair plot (scatter matrix) for the specified columns. Use this for multi-feature distribution and correlation exploration. columns: comma-separated list of numeric column names (e.g. 'radius_mean,texture_mean,area_mean'). hue_column: optional categorical column name to colour points by (e.g. 'diagnosis'). Leave empty if not needed. |
| plot_static_wordcloudA | Generates a static Word Cloud image from a column containing text data. Use this when the user wants to visualize the most frequent terms in a dataset. extra_stopwords: optional comma-separated words to exclude (e.g. "said,also,one"). |
| plot_static_correlation_heatmapA | Generates a publication-ready Seaborn correlation heatmap. Use this when the user explicitly asks for static or publication figures. method must be 'pearson' or 'spearman'. column_filter: optional comma-separated column names or suffix patterns (e.g. '_mean') to restrict the heatmap to a subset of columns. Leave empty for all numeric columns. |
| run_correlationB | Computes statistical correlation (pearson, spearman) between two numeric columns. Use this to mathematically verify relationships before plotting scatterplots. |
| run_group_comparisonA | Performs T-tests (2 groups) or ANOVA (>2 groups) to see if a numeric variable (target_col) differs significantly across categories (group_col). Use this before generating boxplots. |
| run_linear_regressionA | Runs an OLS Linear Regression. target_col is the dependent variable (Y). predictor_cols is a list of independent variables (X). CRITICAL: predictor_cols MUST be a valid JSON array of strings, e.g., ["col1", "col2"]. |
| rank_target_correlationsA | Calculates and ranks the correlation between a single target column and all other numeric columns in the dataset at once. Use this tool when the user wants to rank, sort, or find top features related to a specific outcome column like diagnosis. |
| patch_fileA | Find the FIRST (and only) occurrence of old_str in a file and replace it with new_str. PREFER this over write_file for edits to existing files — only send the changed part. old_str must match EXACTLY, including whitespace and indentation. Make it specific enough that it is unique in the file. Returns the line number of the edit on success, or an error with a file preview to help you correct old_str. |
| run_background_processA | Start a long-running process (e.g. a web server) in the background and track it by label. Use a short descriptive label like "streamlit-app" or "flask-server". After starting, use http_request to verify it is responding. Use stop_background_process to shut it down. working_dir: optional absolute path to run the command in. |
| stop_background_processA | Stop a background process previously started with run_background_process. label: the label you used when starting the process. |
| list_background_processesA | List all background processes currently tracked (with their status and PIDs). |
| http_requestA | Make an HTTP request and return the status code + response body (up to 4 KB). Use this to test running web servers after starting them with run_background_process. method: GET, POST, PUT, DELETE, PATCH body: optional JSON string for POST/PUT requests. |
| find_in_filesA | Search file contents for a regex pattern across a directory tree (like grep -rn). Returns matching lines with file:line references (max 60 results). Use this to find function definitions, imports, error messages, or any text in a codebase. pattern: a regular expression (e.g. "def train", "import pandas", "TODO") directory: root directory to search from file_glob: filter by filename pattern, e.g. ".py", ".ts", ".json", "" for all files |
| run_shell_commandB | Execute a shell command and return its stdout/stderr output. Use this to create directories, install packages, run scripts, check output, etc. working_dir: optional absolute path to run the command in (defaults to home directory). |
| read_fileA | Read and return the full text content of a file. Use this to inspect existing code, configs, logs, or any text file before editing. |
| write_fileA | Write (or overwrite) a file with the given content. Parent directories are created automatically. Always write the COMPLETE file content, this replaces the entire file. |
| list_directoryA | List the contents of a directory (one level deep). Use this to explore project structure before reading or writing files. |
| fetch_webpageA | Fetch a webpage and return structured content: title, meta description, navigation items, page headings, CSS color palette, font families, and main page text (up to 4000 chars). Use this to research a site before cloning its design, extract information, or understand its structure. Pair with screenshot_webpage to also see how it looks visually. |
| search_webA | Search the internet using DuckDuckGo and return titles, URLs, and text snippets. No API key required. Use this to find documentation, discover libraries, look up best practices, or research any topic before starting a coding task. max_results: number of results to return (1-10, default 5). |
| screenshot_webpageA | Take a 1440x900 screenshot of a webpage using headless Chromium and save it as a PNG. Returns the file path of the saved screenshot. Useful for visually inspecting a site's appearance and layout before cloning its design. save_path: optional absolute path for the PNG; auto-generated if omitted. Requires playwright: pip install playwright && playwright install chromium |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ahmad-zurih/ds-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server