dataforge-mcp
dataforge-mcp exposes DataForge's shipped CSV profiling, detection, repair,
verification, and transaction-revert paths as Model Context Protocol tools.
cd dataforge-mcp
python -m pip install -e ".[dev]"
dataforge-mcp serve --allowed-root /path/to/csv/workspace
For local development from this repository:
cd dataforge-mcp
python -m pip install -e ".[dev]"
dataforge-mcp serve --allowed-root ..
The default transport is stdio, which is what local desktop MCP clients expect. For local Streamable HTTP experiments:
dataforge-mcp serve --transport streamable-http --host 127.0.0.1 --port 8000
dry_run is the safe default. To allow file mutation through MCP, start the
server with an explicit allowed root and --enable-apply:
dataforge-mcp serve --allowed-root /path/to/csv/workspace --enable-apply
Tools
dataforge_profile(path: str)- summarize CSV shape plus detected issues.dataforge_detect_errors(path: str)- return detected issues only.dataforge_verify_fix(fix_spec: dict)- run one candidate fix through stale value checks, safety, and verification.dataforge_apply_repairs(path: str, mode: "dry_run" | "apply")- propose verified repairs and optionally write a reversible transaction.dataforge_revert(txn_id: str)- restore a transaction's original bytes.
Client Configuration
Use the same server command for Claude Desktop, Cursor, Windsurf, or any local MCP client that supports stdio servers:
{
"mcpServers": {
"dataforge": {
"command": "dataforge-mcp",
"args": ["serve", "--allowed-root", "/path/to/csv/workspace"]
}
}
}
If your client cannot resolve the console script, replace command with the
absolute path returned by your shell:
which dataforge-mcp
On Windows PowerShell:
Get-Command dataforge-mcp
Before describing a build as agent-ready, run an MCP Inspector smoke check against a fixture directory and confirm the profile, detect, verify, dry-run apply, and disabled-apply paths:
npx @modelcontextprotocol/inspector dataforge-mcp serve --allowed-root /path/to/csv/workspace
Safety Model
apply mode uses DataForge's detector -> repairer -> SafetyFilter ->
SMTVerifier -> transaction-log path. The tool writes the transaction journal and
source snapshot before mutating the CSV, and dataforge_revert restores the
snapshot only when the current file still matches the recorded post-state hash.
The MCP server does not enable live LLM repair fallback by default. It does not
send CSV contents to any external model provider. It also rejects CSV and schema
paths outside the configured allowed roots, and apply mode is disabled unless
the server is started with --enable-apply or DATAFORGE_MCP_ENABLE_APPLY=1.
Release
The package is intended to release independently from the nested
dataforge-mcp/ source directory as the dataforge_07_mcp distribution, but
it is not published yet. After PyPI Trusted Publishing is configured, the
workflow will build on tags matching:
dataforge-mcp-v*
The package depends on dataforge_07 and the official Python mcp SDK; it does
not vendor DataForge or add MCP dependencies to the core package.
Metadata
Release files for dataforge-07-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dataforge_07_mcp-0.1.0.tar.gz | 9.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dataforge_07_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / dataforge_07_mcp-0.1.0.tar.gz
| Download URL | dataforge_07_mcp-0.1.0.tar.gz |
|---|---|
| Size | 9.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3dd372aed4a113f954e05b4476606e96b36915c8312d2c22092b94aa38a47042
|
|
BLAKE2b-256 checksum How to use checksums |
01da7c4275ce74249acdf1fed0f672a24def874c9250986c124ff1fac8c2a866
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 12, 2026.
Transparency logRelease files / dataforge_07_mcp-0.1.0-py3-none-any.whl
| Download URL | dataforge_07_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
84062215ee32c80ff4bfa989ec3d30e50413ddebc11cfb7604fdb7676a973d32
|
|
BLAKE2b-256 checksum How to use checksums |
def9d67786feede387a090391abf270dfb4a681e933709fb544a4307aff4f4fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jun 12, 2026.
Transparency log