pytauargus-mcp
A Model Context Protocol (MCP) server for
Tau-Argus, the statistical
disclosure control engine. It lets an AI assistant (for example
OpenCode, or any other MCP client) work on your data: you point it at a
microdata file, it explores the variables, protects the tables and
reports what was suppressed and why. Each tool call is one
self-contained task with its full result, so a long solve can be
backgrounded by the client. It is a thin wrapper over the pytauargus
Python API; it re-implements no engine behaviour. Installing it also
gives you the pytauargus package and the tauargus CLI.
What it does
Six tools cover the core workflow.
tauargus_versionreports thepytauarguspackage version and the native engine version.tauargus_exploreinspects a microdata dataset and returns its variables with their types. It reads.parquetfiles directly and.asc/.rdafiles through the engine metadata parser.tauargus_build_arbwrites a.arbbatch file from the dataset description (wrapsmicro_arb).tauargus_run_arbruns a.arbbatch and reports the table files it writes.tauargus_protectprotects one or more tables from microdata in a single call (wrapsprotect). It returns per-table cell counts, status counts, the unsafe and secondary cells, and all produced file paths.tauargus_auditaudits the suppressed cells of a table computed by a batch and returns their realised feasibility intervals.
The server runs on the stdio transport.
Install
Python 3.11 to 3.14, on the platforms the pytauargus wheel covers
(macOS arm64, Linux x86_64 and aarch64, Windows x86_64). The wheel
bundles the native engine and HiGHS, so no compiler, CMake, R or Java
is needed.
pip install pytauargus-mcp
# or, as an extra of the engine package:
pip install "pytauargus[mcp]"
To try it without installing anything (requires uv), run it with
uvx:
uvx pytauargus-mcp
Run
tauargus-mcp # starts the server on stdio
The server is a local process that the client starts for you. Point the
client at the tauargus-mcp console script. With a pip install it is on
the PATH; without one, use uvx pytauargus-mcp instead.
OpenCode. Add a tauargus server to the project or user config:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"tauargus": {
"type": "local",
"command": ["tauargus-mcp"]
}
}
}
}
Claude Desktop. Add a tauargus entry to claude_desktop_config.json
(the app opens it from Settings, Developer, Edit Config) and restart it:
{
"mcpServers": {
"tauargus": { "command": "tauargus-mcp" }
}
}
Desktop starts the command without your shell environment; if it does not
find the script, use its absolute path (which tauargus-mcp).
Claude Code.
claude mcp add tauargus -- tauargus-mcp
Gemini CLI.
gemini mcp add -s user tauargus tauargus-mcp
or add the same mcpServers entry to ~/.gemini/settings.json.
ChatGPT. Its custom connectors connect to a remote server over HTTPS and cannot start a local one, so this server does not work with ChatGPT.
When the server connects, the client lists its six tools. In OpenCode,
/mcps shows ✓ tauargus connected.
Develop (monorepo)
cd mcp
uv sync --extra test
.venv/bin/python -m pytest tests -q
The uv sync step installs the parent package editable and builds its
native extension, so the pinned engine checkout's superbuild output
(engine/build/lib) must exist first. scripts/sync-venv.sh builds it
if needed (it reads the sibling ../tauargus-engine checkout; point
TAUARGUS_ENGINE_DIR at it for the mcp venv too, so the editable build
uses the same checkout). The tests read their fixtures from
$TAUARGUS_ENGINE_DIR/data (default: the sibling checkout).
Metadata
Release files for pytauargus-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pytauargus_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for pytauargus_mcp-0.1.0-py3-none-any.whl |
Release files / pytauargus_mcp-0.1.0-py3-none-any.whl
| Download URL | pytauargus_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ba0feeda752b6912b31acd8399eeeb013a7c224f61666bb5b06c898dcdbab56
|
|
BLAKE2b-256 checksum How to use checksums |
9754b11b61440c977f38c5cba9055bd111e70ccd63d8cf2f99a4af52109a0ac8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 11, 2026.
Transparency logSecurity for pytauargus-mcp 0.1.0
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.
Full provenance
1 file in this release has been uploaded with provenance metadata.
Attestation for pytauargus_mcp-0.1.0-py3-none-any.whl
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 Nov 11, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.