LABSCO SUMMARY
The record is the product; the blocking is the safety net.
Most database servers give an agent SQL and no accountability. Here the reviewable artefact — what was run, what was refused, how long it took — is the thing you keep, and it is shaped for a pull request rather than a screenshot. The approval path is the rough edge: a blocked call shows up in the timeline immediately, but the in-UI allow action is still being finished, so treat a block as a stop rather than a prompt.
What it is
A proxy that wraps a database MCP server. It parses the tool calls passing through, checks the SQL against a policy, relays what is allowed, and writes the whole session — inputs, outputs and policy decisions — to a local SQLite file you can read back in a browser.
What you get
- Session logs holding the exact SQL and tool calls the agent made, with execution times
- Protective mode on by default: SELECT is allowed, INSERT and UPDATE and DELETE with a WHERE clause need approval, and DROP, TRUNCATE, multi-statement SQL and DELETE without a WHERE are blocked outright
- Warnings that do not block — SELECT without a LIMIT, SELECT *, and result sets approaching the preview cap
- A Control Room in the browser where blocked calls appear in the timeline as they happen
- One-click "Copy for GitHub" produces a collapsible block with the SQL, timing and safety checks, ready to paste into a pull request
- Targets switch from the UI without restarting the agent, so a new database does not mean a new client config
- Export a session as raw JSON trace data or as a readable Markdown log
Requirements
Install with pipx, choosing the extras for the stores you use — DuckDB and Postgres are supported today, with BigQuery, Snowflake and Databricks listed as coming. The client runs mantora mcp; the dashboard is a separate mantora up and serves on port 3030. Policy overrides go in a mantora.toml file. Everything stays on the machine — the session store is a local SQLite database.
Setup effort
One command — pipx install "mantora[duckdb,postgres]"
USE CASES
01
Letting an agent touch a real database
Reads pass, writes need approval, and DROP never reaches the server — the policy is enforced in the proxy rather than trusted to the prompt.
02
Showing a reviewer what actually ran
Copy the session summary into the pull request: the SQL, the timings and the safety checks, in one collapsible block.
03
Working against several databases in one session
Switch the active target from the Control Room instead of editing the client config and restarting the agent.
04
Investigating something that went wrong
Export the raw trace as JSON, or the whole conversation as Markdown, and read it away from the tool.
BEFORE YOU INSTALL
What to know first
Requires
mantora on PATH
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
TERMINAL
pipx install "mantora[duckdb,postgres]"MCP Clients
Claude Desktop, Cursor
JSON
{
"mcpServers": {
"mantora": {
"command": "mantora",
"args": [
"mcp"
]
}
}
}