localdata-mcp
MCP server giving LLM agents access to databases, files, graphs, and a full data science toolkit — 52 tools across 13 database types and 20+ file formats
Install / Use
claude mcp add ChrisGVE -- npx -y github:ChrisGVE/localdata-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Skill content
View source on GitHubLocalData MCP Server
<!-- mcp-name: io.github.chrisgve/localdata-mcp -->LocalData MCP gives LLM agents access to local and remote data — databases, files, graphs, and structured documents — along with a full data science toolkit for analysis and modeling. It exposes 70 MCP tools across 13 database types and 20+ file formats, with memory-bounded streaming so agents can work safely on large datasets without exceeding available RAM.
Quick Start
# Install permanently
uv tool install localdata-mcp
# Or run directly without installing
uvx localdata-mcp
First-run note: Data science dependencies (scipy, scikit-learn, statsmodels, geopandas) total around 200 MB and are downloaded on first use. Subsequent starts reuse the cache. If your MCP client times out on the first launch, reconnect — the next start will be immediate.
Add to your MCP client configuration:
{
"mcpServers": {
"localdata": {
"command": "localdata-mcp"
}
}
}
For uvx (no permanent install):
{
"mcpServers": {
"localdata": {
"command": "uvx",
"args": ["localdata-mcp"]
}
}
}
Then connect to any supported source and start querying:
connect_database("sales", "postgresql", "postgresql://user:pass@localhost/db")
execute_query("sales", "SELECT product, SUM(amount) FROM orders GROUP BY product")
connect_database("records", "csv", "./records.csv")
analyze_hypothesis_test("records", "SELECT amount, region FROM data_table", column="amount", group_column="region")
A single-table file — CSV, TSV, JSON, XML, INI, Parquet, Feather, Arrow — is
loaded into one table named data_table, whatever the connection is called. Run
describe_database(name) after connecting if you are unsure what a source
exposes; multi-sheet spreadsheets and databases keep their own table names.
Feature Overview
Core Database (8 tools)
Connect, query, and inspect databases and files. All queries execute within configurable memory limits (default 2 GB) with automatic chunked streaming for large result sets.
| Tool | Description |
| --- | --- |
| connect_database | Open a connection to any supported database or file |
| disconnect_database | Close a connection |
| list_databases | List active connections |
| execute_query | Run SQL with streaming, chunking, and preflight mode |
| describe_database | Show schema and table list |
| describe_table | Column types, indexes, row count |
| find_table | Locate a table across all active connections |
| analyze_query_preview | Estimate query cost before execution |
Streaming and Memory (9 tools)
| Tool | Description |
| --- | --- |
| next_chunk | Retrieve the next chunk of a streamed result |
| request_data_chunk | Fetch a specific chunk by row range |
| request_multiple_chunks | Batch-fetch multiple chunks in one call |
| manage_memory_bounds | View and configure memory limits |
| get_streaming_status | Check active streams and buffer usage |
| clear_streaming_buffer | Free memory from a specific buffer |
| get_query_metadata | Rich metadata for a completed query |
| cancel_query_operation | Cancel a running or buffered query |
| get_data_quality_report | Column statistics, null rates, and quality metrics |
Tree / Structured Data (10 tools)
Navigate and edit TOML, JSON, and YAML files as navigable trees. Supports full CRUD with auto-creation of ancestor nodes and round-trip export to any supported format.
| Tool | Description |
| --- | --- |
| get_node / get_children | Navigate the tree |
| set_node / delete_node | Create or remove nodes |
| get_value / set_value / delete_key | Read and write properties |
| list_keys | List key-value pairs at a node |
| move_node | Relocate a node within the tree |
| export_structured | Export as TOML, JSON, YAML, or Markdown |
Graph (7 tools)
Work with DOT, GML, GraphML, and Mermaid files as directed multigraphs. Supports full CRUD on nodes and edges, shortest-path and all-paths queries, structural statistics, and multi-format export.
| Tool | Description |
| --- | --- |
| get_neighbors / get_edges | Traverse from a node |
| add_edge / remove_edge | Manage edges |
| find_path | Shortest path or all paths between two nodes |
| get_graph_stats | Node/edge counts, density, DAG validation |
| export_graph | Export as DOT, GML, GraphML, Mermaid, or Markdown |
Node-level operations reuse the tree tools above: get_node, set_node, delete_node, list_keys, get_value, set_value, and delete_key detect a graph connection and treat their path argument as a node ID. get_children and move_node are tree-only.
Search and Transform (2 tools)
| Tool | Description |
| --- | --- |
| search_data | Regex search across query results |
| transform_data | Apply column transformations to result sets |
Schema and Audit (3 tools)
| Tool | Description |
| --- | --- |
| export_schema | Export schema as JSON Schema, Python dataclasses, TypeScript interfaces, or SQL DDL |
| get_query_log | Recent query execution history |
| get_error_log | Recent error log |
System (2 tools)
| Tool | Description |
| --- | --- |
| check_compatibility | Verify API backward compatibility |
| get_metrics | Prometheus metrics text. Registered only when metrics collection is enabled, which is the default |
Data Science (12 tools)
Run statistical analysis, modeling, and pattern detection directly on query results from any connected source.
| Tool | Domain |
| --- | --- |
| analyze_hypothesis_test | Statistical Analysis |
| analyze_anova | Statistical Analysis |
| analyze_effect_sizes | Statistical Analysis |
| analyze_regression | Regression and Modeling |
| evaluate_model_performance | Regression and Modeling |
| analyze_clusters | Pattern Recognition |
| detect_anomalies | Pattern Recognition |
| reduce_dimensions | Pattern Recognition |
| analyze_time_series | Time Series |
| forecast_time_series | Time Series |
| analyze_rfm | Business Intelligence |
| analyze_ab_test | Business Intelligence |
Supported Data Sources
Databases
| Type | Engines |
| --- | --- |
| SQL | SQLite, PostgreSQL, MySQL |
| SQL (analytical) | DuckDB (pip install duckdb duckdb-engine) |
| SQL (enterprise) | Oracle, MS SQL Server (pip install localdata-mcp[enterprise]) |
| Document | MongoDB, CouchDB (pip install localdata-mcp[modern-databases]) |
| Key-value | Redis (pip install localdata-mcp[modern-databases]) |
| Search | Elasticsearch (pip install localdata-mcp[modern-databases]) |
| Time series | InfluxDB (pip install localdata-mcp[modern-databases]) |
| Graph | Neo4j (pip install localdata-mcp[modern-databases]) |
| RDF / SPARQL | Turtle (.ttl), N-Triples (.nt), remote SPARQL endpoints |
File Formats
| Category | Formats | | --- | --- | | Tabular | CSV, TSV | | Structured | JSON, YAML, TOML, XML, INI | | Spreadsheet | Excel (.xlsx, .xls), LibreOffice Calc (.ods), Apple Numbers (.numbers) | | Analytical | Parquet, Feather, Arrow, HDF5 | | Graph | DOT (Graphviz), GML, GraphML, Mermaid | | RDF | Turtle (.ttl), N-Triples (.nt) |
Multi-sheet spreadsheets are supported: each sheet becomes a separately queryable table. To load one sheet only, pass its name as the fourth argument to connect_database — connect_database("q1", "excel", "./report.xlsx", "Q1 Results"). Use "excel" for both .xlsx and .xls; "xlsx" is not a connection type.
Data Science Domains
Statistical Analysis — t-tests, chi-squared, Mann-Whitney, Kruskal-Wallis, and related hypothesis tests; one-way ANOVA with post-hoc tests; Cohen's d, eta-squared, and other effect size measures.
Regression and Modeling — linear, polynomial, logistic, ridge, lasso, and elastic net regression; model evaluation with R², RMSE, MAE, and classification metrics; automated feature selection.
Pattern Recognition — K-means, DBSCAN, and hierarchical clustering; anomaly detection via isolation forest, LOF, and one-class SVM; dimensionality reduction with PCA, t-SNE, and UMAP.
Time Series — decomposition, stationarity testing, autocorrelation analysis; ARIMA and ETS forecasting; change point detection; multivariate analysis with VAR, Granger causality, and cointegration tests. forecast_time_series accepts method="arima" or method="ets"; the SARIMA and ensemble models in the domain package are not reachable through an MCP tool.
Business Intelligence — A/B test statistical analysis; RFM customer segmentation; cohort analysis, CLV modeling, and funnel analysis.
Geospatial — distance and coordinate calculations, spatial joins, interpolation, and network analysis.
Optimization — linear programming, constrained optimization, assignment problems, and network optimization.
Sampling and Estimation — bootstrap confidence intervals, Bayesian estimation, Monte Carlo simulation, and stratified sampling.
Claude Code plugin
The repository doubles as a Claude Code plugin. Its manifest (.claude-plugin/plugin.json) registers the localdata MCP server via uvx localdata-mcp and ships 18 skills and 11 agents that drive the tools above. See the plugin page for how to install it and how to invoke a skill.
Upgrading from 2.0.0: graph-explore is now graph-data-explore and graph-analyst is now graph-data-analyst, and every skill moved one directory deeper. Invoking an old name silently does nothing — the changelog lists the steps.
Skills are grouped by domain under skills/:
| Group | Skills |
| --- | --- |
| exploration/ | explore-data, data-quality, find-reference-data |
| statistical/ | hypothesis-test, ab-test, analyze-correlations, sampling-estimation |
| modeling/ | regression, cluster-analysis, anomaly-detection, dimensionality-reduction, forecast, geospatial, optimization |
| graph-data/ | graph-data-explore |
| workflow/ | data-pipeline, research-pipeline, process-control |
Agents in agents/ take on longer analyses that span several tools:
| Agent | Scope |
| --- | --- |
| data-explorer | Profiles an unfamiliar dataset and reports schema, quality, and candidate analyses |
| data-scientist | Composes multi-step pipelines across domains when the right approach is not obvious |
| statistical-analyst | Hypothesis tests, ANOVA, effect sizes, sampling design, bootstrap estimation |
| ml-analyst | Clustering, anomaly detection, dimensionality reduction, regression modeling |
| forecaster | Decomposition, stationarity testing, ARIMA/E
Truncated for display — read the full file on GitHub.
Related Skills
momen-cursurrules-prompt-file
40.6kCursor rules for building custom frontends with Momen.app as headless BaaS with GraphQL API, actionflows, AI agents, and Stripe integration.
pyspark-etl-best-practices-cursorrules-prompt-file
40.6kCursor rules for PySpark ETL development with code style, joins, window functions, map operations, and Iceberg patterns.
semiotic-react-dataviz-cursorrules-prompt-file
40.6kCursor rules for Semiotic data visualization library with 30+ chart types, MCP server, and AI-assisted chart generation.
claude-mem
91.2kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

