Skip to the content.

Home · Quick start · Editor · charter.yaml · Sources · Agent · Guides · Evals · Audit · Policies · CLI · MCP · Workspace · Desktop · About · FAQ

Connecting an AI agent straight to your database is a leap of faith: most MCP database servers hand the model whatever the connection string can see. DataCharter’s MCP server takes the opposite stance — the agent gets exactly what your data contract grants, and not one column more.

uvx datacharter mcp <workspace>
# stdio MCP server: list_sources · list_tables · describe_table · query

Works with Claude Code, Claude Desktop, Cursor, Cline, Continue, Goose — anything that speaks MCP. Setup recipes per client are on the MCP page.

What “governed” means here, concretely

One governance layer, many sources

The same contract governs local CSV/Parquet/JSON/Excel files and Postgres, MySQL, SQLite, SQL Server, Snowflake, BigQuery, Iceberg, Delta — federated by DuckDB, so the agent can join across them in one governed query. Full list on Sources.

See what the agent sees

Run datacharter serve and flip on Agent view in the UI: it shows, column by column, exactly what comes back through the MCP tools — masked fields and all. It’s the fastest way to convince yourself (or your security team) that the leash holds.

Try it in two minutes

uvx datacharter init myws --demo
uvx datacharter mcp myws        # add to your MCP client of choice

Recipes for each client are on the MCP page, and the whole thing is Apache-2.0 on GitHub. If your agent setup needs a governance story we haven’t covered, open an issue — that’s how the policies feature got built.