# DataCharter

Federates local files and databases via DuckDB, granting AI assistants read-only analytical access while redacting private identifiers under strict contract rules.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 15
- Author: datacharter
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/datacharter/datacharter
- Updated: 2026-10-21
- HTML: https://affpapa.org/en/nevibecode/mcp/datacharter

## What it does

DataCharter turns files and external databases into an accessible analytical environment powered by DuckDB. The setup operates under a declarative contract stored in `charter.yaml`. The agent receives strictly read-only permissions and sees sanitized tokens like `•••` in place of sensitive information.

The entire workspace lives in a local folder alongside `queries/` and `guides/`. You can track it in git without checking in credentials. Beyond standalone usage, the binary can run as an HTTP endpoint or serve as a protective wrapper around other MCP tools via the `--guard` flag.

DataCharter is currently a pre-release project and requires Python 3.11 or newer. Exposing its HTTP interface beyond `127.0.0.1` requires active OAuth environment variables, otherwise external requests are rejected.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add datacharter -- uvx datacharter
```
uvx runs the command named after the package; if the README names another one, use uvx --from datacharter <command>

### Codex

**Platform CLI**
```bash
codex mcp add datacharter -- uvx datacharter
```
uvx runs the command named after the package; if the README names another one, use uvx --from datacharter <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "datacharter": {
            "command": "uvx",
            "args": [
                "datacharter"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from datacharter <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "datacharter": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "datacharter"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from datacharter <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add datacharter uvx datacharter
```
uvx runs the command named after the package; if the README names another one, use uvx --from datacharter <command>

## When to use it
- mask sensitive customer details and private columns before agent inspection
- run unified DuckDB queries across distinct local databases and tabular files
- enforce strict read-only query permissions during automated analysis
- guard third-party MCP endpoints using granular schema rules

## Example prompts
- Run a DuckDB query to calculate average order values grouped by state.
- Inspect the available schema from `charter.yaml` without revealing masked columns.
- Summarize monthly sales trends from local files using aggregates only.

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89609
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89899
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16730
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40459
- [dbx](https://affpapa.org/en/nevibecode/mcp/dbx.md) — MCP server · ★ 27844
- [Metabase](https://affpapa.org/en/nevibecode/mcp/metabase.md) — MCP server · ★ 49863

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
