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.0.tar.gz (36.3 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.0-py3-none-any.whl (42.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ds_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 36.3 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.0.tar.gz
Algorithm Hash digest
SHA256 f4b2546f1409c639d01d64958de97dfe5b1a62f4aa4d4f6a37d6b75aed5b600b
MD5 479d6c24a234a17798639ceefc1369b5
BLAKE2b-256 e731aab071d4a6a172eed9da4546bc1a89dd2e1fee5b277cf222be6ca5cd3c3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ds_mcp_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 42.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 43540f42e818cda9599ce3067be32370a764e5f616c20aebc1bf9062eef837ba
MD5 1214ac256a3156569d661817cebe5759
BLAKE2b-256 f557338fc9ead95c2c6dce346a37fe68b6a71fb16406cead6074025bd63599ac

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