Skip to main content

DataBeak

Tests codecov Python 3.12+ License Code style: ruff

AI-Powered CSV Processing via Model Context Protocol

Transform how AI assistants work with CSV data. DataBeak provides 40+ specialized tools for data manipulation, analysis, and validation through the Model Context Protocol (MCP).

Features

  • 🔄 Complete Data Operations - Load, transform, analyze, and export CSV data
  • 📊 Advanced Analytics - Statistics, correlations, outlier detection, data profiling
  • ✅ Data Validation - Schema validation, quality scoring, anomaly detection
  • 🎯 Stateless Design - Clean MCP architecture with external context management
  • ⚡ High Performance - Handles large datasets with streaming and chunking
  • 🔒 Session Management - Multi-user support with isolated sessions
  • 🌟 Code Quality - Zero ruff violations, 100% mypy compliance, perfect MCP documentation standards, comprehensive test coverage

Getting Started

The fastest way to use DataBeak is with uvx (no installation required):

For Claude Desktop

Add this to your MCP Settings file:

{
  "mcpServers": {
    "databeak": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/jonpspri/databeak.git",
        "databeak"
      ]
    }
  }
}

For Other AI Clients

DataBeak works with Continue, Cline, Windsurf, and Zed. See the installation guide for specific configuration examples.

HTTP Mode (Advanced)

For HTTP-based AI clients or custom deployments:

# Run in HTTP mode
uv run databeak --transport http --host 0.0.0.0 --port 8000

# Access server at http://localhost:8000/mcp
# Health check at http://localhost:8000/health

Quick Test

Once configured, ask your AI assistant:

"Load a CSV file and show me basic statistics"
"Remove duplicate rows and export as Excel"
"Find outliers in the price column"

Documentation

📚 Complete Documentation

Environment Variables

Variable Default Description
DATABEAK_MAX_FILE_SIZE_MB 1024 Maximum file size
DATABEAK_CSV_HISTORY_DIR "." History storage location
DATABEAK_SESSION_TIMEOUT 3600 Session timeout (seconds)

Known Limitations

DataBeak is designed for interactive CSV processing with AI assistants. Be aware of these constraints:

  • File Size: Maximum 1024MB per file (configurable via DATABEAK_MAX_FILE_SIZE_MB)
  • Session Management: Maximum 100 concurrent sessions, 1-hour timeout (configurable)
  • Memory: Large datasets may require significant memory; monitor with system_info tool
  • CSV Dialects: Assumes standard CSV format; complex dialects may require pre-processing
  • Concurrency: Single-threaded processing per session; parallel sessions supported
  • Data Types: Automatic type inference; complex types may need explicit conversion
  • URL Loading: HTTPS only; blocks private networks (127.0.0.1, 192.168.x.x, 10.x.x.x) for security

For production deployments with larger datasets, consider adjusting environment variables and monitoring resource usage.

Contributing

We welcome contributions! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes with tests
  4. Run quality checks: uv run -m pytest
  5. Submit a pull request

Note: All changes must go through pull requests. Direct commits to main are blocked by pre-commit hooks.

Development

# Setup development environment
git clone https://github.com/jonpspri/databeak.git
cd databeak
uv sync

# Run the server locally
uv run databeak

# Run tests
uv run -m pytest tests/unit/          # Unit tests (primary)
uv run -m pytest                      # All tests

# Run quality checks
uv run ruff check
uv run mypy src/databeak/

Testing Structure

DataBeak implements comprehensive unit and integration testing:

  • Unit Tests (tests/unit/) - 940+ fast, isolated module tests
  • Integration Tests (tests/integration/) - 43 FastMCP Client-based protocol tests across 7 test files
  • E2E Tests (tests/e2e/) - Planned: Complete workflow validation

Test Execution:

uv run pytest -n auto tests/unit/          # Run unit tests (940+ tests)
uv run pytest -n auto tests/integration/   # Run integration tests (43 tests)
uv run pytest -n auto --cov=src/databeak   # Run with coverage analysis

See Testing Guide for comprehensive testing details.

License

Apache 2.0 - see LICENSE file.

Support

Metadata

Release files for databeak 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for databeak 0.1.2
File Size Uploaded
databeak-0.1.2.tar.gz 191.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for databeak 0.1.2
File Interpreter ABI Platform
databeak-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 293.5 kB

Release files / databeak-0.1.2.tar.gz

Download URL databeak-0.1.2.tar.gz
Size 191.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e21011067bc117dcbe1cfb4d0cf8cdbb641c4dfeb02c38785608d81074f6fa76
BLAKE2b-256 checksum
How to use checksums
37f26084a9e1165bf13846208427f2babe7b317ac6f6f5acd2eca7bf82e65a42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2025.

Transparency log

Release files / databeak-0.1.2-py3-none-any.whl

Download URL databeak-0.1.2-py3-none-any.whl
Size 102.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e6d4afa6d0c25cc97148bfe8e94d18d4807439b65776d5eff38333af59d890d
BLAKE2b-256 checksum
How to use checksums
5ee4a19f336544c1765f25fbedb0bbbbbbf17c5885075fb0ab1c379c33ea9ca4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 7, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page