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
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution ×5 in ChrisGVE/localdata-mcp
- HIGH code analysis flagged dynamic code execution ×4 in ChrisGVE/localdata-mcp
transport stdio · http counts 1 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
get_metrics
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit b0fae0b · analyzer v28 · 2h ago
skills & prompt files 18
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/exploration/data-quality/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/exploration/explore-data/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/exploration/find-reference-data/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/graph-data/graph-data-explore/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/modeling/anomaly-detection/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/modeling/cluster-analysis/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/modeling/dimensionality-reduction/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/modeling/forecast/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/modeling/geospatial/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/modeling/optimization/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/modeling/regression/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/statistical/ab-test/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/statistical/analyze-correlations/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/statistical/hypothesis-test/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/statistical/sampling-estimation/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/workflow/data-pipeline/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/workflow/process-control/SKILL.md
- skill ChrisGVE-localdata-mcp-b0fae0b/skills/workflow/research-pipeline/SKILL.md
danger signals5
- dynamic code execution eval()/exec() ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/domains/optimization/_tool_functions_lp.py :176
return eval(objective_function, {"__builtins__": {}}, local_vars) - dynamic code execution __import__() ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/pipeline/adapters.py :645
__import__(library_name) - dynamic code execution pickle.loads() ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/pipeline/integration/performance_optimization/_cache.py :434
return pickle.loads(decompressed) - dynamic code execution __import__() ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/server/database_manager.py :4206
mod = __import__(lib_name) - dynamic code execution eval()/exec() ChrisGVE-localdata-mcp-b0fae0b/tests/test_backward_compatibility_integration.py :26
exec(
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 516
filesystem 24
- fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/auth_manager.py :5
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/compatibility_manager.py :13
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/config_manager/loaders.py :5
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/config_paths.py :12
import shutil - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/disk_monitor.py :4
import shutil - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/file_processor/processors.py :138
with open(self.file_path, "r", encoding="utf-8") as f: - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/file_processor/sources_excel_json.py :182
with open(self.file_path, "rb") as f: - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/file_processor/sources_tabular.py :82
with open(self.file_path, "r", encoding="utf-8") as f: - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/localdata_mcp.py :23
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/logging_manager/config.py :6
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/mermaid_parser.py :256
with open(file_path, "r", encoding="utf-8") as fh: - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/oracle_support.py :5
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/performance_benchmarks/comparison.py :9
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/performance_benchmarks/models.py :9
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/performance_benchmarks/reporting.py :36
with open(results_file, "w") as f: - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/performance_benchmarks/suite.py :9
import shutil - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/pipeline/input.py :16
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/pipeline/integration/error_recovery/_rollback_manager.py :8
import shutil - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/server/cli.py :6
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/server/database_manager.py :12
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/server/query_execution.py :13
import shutil - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/staging_manager.py :5
import shutil - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/streaming/sources.py :8
from pathlib import Path - fs ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/tree_parsers.py :91
with open(file_path, "r", encoding="utf-8") as fh:
network 1
- net ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/sparql_endpoint.py :9
from urllib.parse import urlparse
database 35
- db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/_explain_parsers.py :13
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/blob_handler.py :43
from sqlalchemy.types import LargeBinary - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/connection_manager/engine_factory.py :11
from sqlalchemy import create_engine, event - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/connection_manager/health.py :11
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/connection_manager/manager.py :13
from sqlalchemy.engine import Engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/datascience_tools.py :14
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/file_processor/engine.py :10
from sqlalchemy import create_engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/geospatial_tools.py :22
from sqlalchemy.engine import Engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/graph_edge_ops.py :10
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/graph_manager.py :11
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/graph_mutation_tools.py :10
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/graph_properties.py :11
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/graph_storage.py :15
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/graph_tools.py :11
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/graph_validation.py :10
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/localdata_mcp.py :37
from sqlalchemy import create_engine, inspect, text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/mssql_support.py :47
from sqlalchemy import create_engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/optimization_tools.py :14
from sqlalchemy import inspect as sa_inspect - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/oracle_support.py :48
from sqlalchemy import create_engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/performance_benchmarks/benchmarks.py :13
from sqlalchemy import create_engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/performance_benchmarks/generators.py :9
from sqlalchemy import create_engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/performance_benchmarks/suite.py :17
from sqlalchemy import create_engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/pipeline/input.py :20
from sqlalchemy.engine import Engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/query_analyzer/analyzer.py :15
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/query_analyzer/estimation.py :12
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/sampling_tools.py :12
from sqlalchemy.engine import Engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/schema_export.py :48
from sqlalchemy import inspect as sa_inspect - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/server/database_manager.py :18
from sqlalchemy import create_engine, inspect, text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/size_estimator.py :121
from sqlalchemy import inspect as sa_inspect - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/streaming/sources.py :12
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/timeout_manager.py :18
from sqlalchemy.engine import Connection, Engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/tree_storage/manager.py :3
from sqlalchemy.engine import Engine - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/tree_storage/node_ops.py :6
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/tree_storage/property_ops.py :6
from sqlalchemy import text - db ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/tree_storage/schema.py :5
from sqlalchemy import text
tool registrations 1
- get_metrics ChrisGVE-localdata-mcp-b0fae0b/src/localdata_mcp/localdata_mcp.py :292
declared dependencies 53
- fastmcp@>=3.0.0
- pandas@>=1.3.0
- sqlalchemy@>=1.4.0
- psycopg2-binary@*
- mysql-connector-python@*
- pyyaml@>=5.4.0
- toml@>=0.10.0
- psutil@>=5.8.0
- tiktoken@>=0.5.0
- pydantic@>=2.0.0
- python-dotenv@>=1.0.0
- openpyxl@>=3.0.0
- defusedxml@>=0.7.0
- xlrd@>=2.0.0
- odfpy@>=1.4.0
- pyarrow@>=10.0.0
- lxml@>=4.6.0
- numbers-parser@>=4.0.0
- h5py@>=3.0.0
- ijson@>=3.2.0
- structlog@>=23.0.0
- prometheus_client@>=0.17.0
- python-json-logger@>=2.0.0
- networkx@>=3.0
- pydot@>=2.0.0
- rdflib@>=7.0.0
- SPARQLWrapper@>=2.0.0
- scipy@>=1.9.0
- scikit-learn@>=1.1.0
- statsmodels@>=0.13.0
- numpy@>=1.21.0
- ruptures@>=1.1.0
- geopandas@>=0.12.0
- shapely@>=2.0.0
- fiona@>=1.9.0
- pyproj@>=3.4.0
- pytest@>=6.0.0
- pytest-cov@*
- black@*
- isort@*
- flake8@*
- mypy@*
- pandas-stubs@*
- types-toml@*
- types-PyYAML@*
- redis@>=6.0.0
- elasticsearch@>=9.0.0
- pymongo@>=4.0.0
- influxdb-client@>=1.40.0
- neo4j@>=5.0.0
- couchdb@>=1.2.0
- oracledb@>=2.0.0
- pymssql@>=2.2.0