Skip to main content

An MCP server exposing data science tools (plotting, stats, data exploration) to any LLM client.

Project description

ds-mcp-server

ds-mcp-server packages a FastMCP server with data science, plotting, statistics, system, and web tools, plus interactive CLI clients for OpenAI-compatible providers and Anthropic Claude.

Installation

Future PyPI install:

pip install ds-mcp-server

Local development install:

pip install -e .

Optional extras:

pip install -e ".[anthropic]"
pip install -e ".[playwright]"
pip install -e ".[all]"

Quick start

  1. Copy .env.example to .env.
  2. Fill in your provider settings.
  3. Install the package.
  4. Start either the MCP server or the interactive client.

OpenAI

export PROVIDER=openai
export API_KEY=sk-...
export MODEL=gpt-4o
ds-mcp-client

Claude / Anthropic

export PROVIDER=anthropic
export ANTHROPIC_API_KEY=sk-ant-...
export MODEL=claude-opus-4-5
ds-mcp-client

Gemini (OpenAI-compatible endpoint)

export PROVIDER=gemini
export API_KEY=AIza...
export MODEL=gemini-2.0-flash
ds-mcp-client

Ollama

export PROVIDER=ollama
export API_BASE_URL=http://localhost:11434/v1
export MODEL=llama3
ds-mcp-client

GPUStack / LM Studio / other OpenAI-compatible servers

export PROVIDER=openai-compat
export API_BASE_URL=https://your-endpoint.example/v1
export API_KEY=your-key
export MODEL=your-model
ds-mcp-client

Running the MCP server

ds-mcp-server

Claude Desktop MCP config

Add the server to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "ds-mcp-server": {
      "command": "ds-mcp-server",
      "args": []
    }
  }
}

Environment variables

Variable Required Description
PROVIDER No One of openai, anthropic, gemini, ollama, openai-compat.
API_KEY Usually Generic API key used by OpenAI-compatible providers and as a fallback for Anthropic.
ANTHROPIC_API_KEY Anthropic only Preferred Anthropic key.
API_BASE_URL Sometimes Required for openai-compat; optional override for Ollama, Gemini, or self-hosted endpoints.
MODEL No Model override. Defaults are provider-specific.

Available tools

Interactive plots

  • plot_interactive_histogram
  • plot_interactive_scatterplot
  • plot_interactive_boxplot
  • plot_interactive_lineplot
  • plot_interactive_barchart
  • plot_interactive_scatter_matrix
  • plot_interactive_correlation_heatmap
  • generate_custom_plotly
  • get_all_columns_summary
  • get_column_summary

Static plots

  • plot_static_histogram
  • plot_static_scatterplot
  • plot_static_boxplot
  • plot_static_lineplot
  • plot_static_barchart
  • plot_static_pairplot
  • plot_static_correlation_heatmap
  • plot_static_wordcloud
  • generate_custom_static_plot

Statistical analysis

  • run_correlation
  • run_group_comparison
  • run_linear_regression
  • rank_target_correlations

System tools

  • run_shell_command
  • read_file
  • write_file
  • patch_file
  • list_directory
  • find_in_files
  • run_background_process
  • stop_background_process
  • list_background_processes
  • http_request

Web tools

  • search_web
  • fetch_webpage
  • screenshot_webpage

Requirements

  • Python 3.11+
  • mcp
  • pandas, numpy
  • plotly, matplotlib, seaborn, wordcloud
  • pingouin, statsmodels
  • beautifulsoup4, ddgs
  • openai
  • anthropic (optional)
  • playwright (optional, for screenshots)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ds_mcp_server-0.1.1.tar.gz (36.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ds_mcp_server-0.1.1-py3-none-any.whl (42.4 kB view details)

Uploaded Python 3

File details

Details for the file ds_mcp_server-0.1.1.tar.gz.

File metadata

  • Download URL: ds_mcp_server-0.1.1.tar.gz
  • Upload date:
  • Size: 36.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ds_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 df862ce6ba1aa29e9f21a6bb48dd970e49dd1c762be2a796bf7b9633e4a38e8d
MD5 c4b661b1b34fe0a5195b2ae9551d5f41
BLAKE2b-256 8ca5f7d03561d78b1a0d855c44545af8c34d3c759d214c8e274b4fd31b2bc739

See more details on using hashes here.

File details

Details for the file ds_mcp_server-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ds_mcp_server-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 42.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ds_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 daa800d6ee0e1e7f42b5068fbc6fffb78fb775a28441fed88af16acf3782a941
MD5 5f8e7d5bc7d768f9a85610961c262fbc
BLAKE2b-256 21d6f1314f7610b02896345996fdcc5d9355384caf4589d0a34ee8af7438112f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page