Install in five minutes

A conversation on the subject of this page starts with a message to the scientific director of the institute.

Write to the scientific director
MITR · install in five minutes · edition of 26 October 2026

Install in five minutes: the open MITR packages, offline and without registration

The institute’s three open packages install into an isolated Python environment in a few minutes and show the method on one’s own examples: a destructive database query is stopped before execution, and every decision goes into a hash-chained log. Below are the commands for Linux and macOS and separately for Windows, the checksums of the files, and what the open packages do not contain.

The commands on this page are run at the acceptance of every release in a clean environment without a network, with the same lines printed here. Check of 26 October 2026: the installation passed, and a DROP TABLE query was stopped with exit code 2.

Three open packages install into an isolated environment offline and without registration; a destructive query to the database is stopped before execution, and every decision goes into a log with a hash chain.01 · WHAT IS INSTALLEDThree packages, offlinemcp-sentinel 1.1.2iss-ledger-117 1.1.1iss-agent-kit 0.1.1isolated environmentofflineno registrationThe packages install into an isolated Pythonenvironment in minutes, offline, no registration.02 · WHAT IS JUDGEDA query stopped before it runs>DROP TABLE …MITRexit code 2A destructive query to the database is stoppedbefore execution: exit code 2.03 · WHAT REMAINSA log with a hash chainhash chainrecords are only appendedEvery decision goes into a log; records are onlyappended and chained by a hash function.Three open packages install into an isolated environment offline and without registration; a destructive query to the database is stopped before execution, and every decision goes into a log with a hash chain.01 · WHAT IS INSTALLEDThree packages, offlinemcp-sentinel 1.1.2iss-ledger-117 1.1.1iss-agent-kit 0.1.1isolated environmentofflineno registrationThe packages install into an isolated Pythonenvironment in minutes, offline, no registration.02 · WHAT IS JUDGEDA query stopped before it runs>DROP TABLE …MITRexit code 2A destructive query to the database is stoppedbefore execution: exit code 2.03 · WHAT REMAINSA log with a hash chainhash chainrecords are only appendedEvery decision goes into a log; records are onlyappended and chained by a hash function.
Three open packages install into an isolated environment offline and without registration; a destructive query to the database is stopped before execution, and every decision goes into a log with a hash chain.

What is inside and what is not

Package What it does SHA-256 checksum of the file
mcp-sentinel 1.1.2 A wrapper around a Model Context Protocol (MCP) server with four rules: the file system is confined to the working folder, destructive database queries are refused, secret leaks are intercepted, destructive shell commands are refused. The call is checked by pattern matching. 681a4db59a1a44e89a2b1386ec4b4f2e1fc23c1025c295b9ebf00fd5d20901ea
iss-ledger-117 1.1.1 An append-only log of decisions chained with the GOST R 34.11-2012 (“Streebog”) hash function, with a single-file verifier. mcp-sentinel requires it, which is why there are two wheels. 8d4ffe60f41ebd377c476f369655aaef5e0ac91858a3d294be37fd1e3100bc87
iss-agent-kit 0.1.1 Wraps a Python agent function with one import and writes the decision on every call to the same log. 7ed0ae9073f512a5cfd71b62904094ca36d0ae2fdb1b4bfff5900d3e368781c3

What the open packages do not contain: the solver that proves an action admissible under a contract, and the receipt chain with an external time witness. That is the full version of MITR, delivered under an agreement and described on the page MITR. The public PyPI catalog lists an unrelated project under the name mcp-sentinel, so the packages are installed only from the downloaded folder with the --no-index flag.


Linux and macOS

mkdir wheels && cd wheels
curl -O https://isslab.ru/wp-content/uploads/iss-utils/mcp_sentinel-1.1.2-py3-none-any.whl
curl -O https://isslab.ru/wp-content/uploads/iss-utils/iss_ledger_117-1.1.1-py3-none-any.whl
sha256sum *.whl        # the sums are in the table above
cd .. && python3 -m venv .venv && . .venv/bin/activate
pip install --no-index --find-links ./wheels mcp-sentinel
mcp-sentinel check --tool sql_query --args '{"query": "DROP TABLE users;"}'
# BLOCK: the destructive query is stopped, exit code 2
mcp-sentinel check --tool sql_query --args '{"query": "SELECT id FROM users WHERE id = 1;"}'
# PERMIT: the query is admitted, exit code 0

Windows

The same steps in PowerShell. The package prints its messages in Russian, so the console is switched to UTF-8 in the first line; without it the messages appear as unreadable characters.

chcp 65001; $env:PYTHONIOENCODING = 'utf-8'
mkdir wheels; cd wheels
curl.exe -O https://isslab.ru/wp-content/uploads/iss-utils/mcp_sentinel-1.1.2-py3-none-any.whl
curl.exe -O https://isslab.ru/wp-content/uploads/iss-utils/iss_ledger_117-1.1.1-py3-none-any.whl
Get-FileHash *.whl -Algorithm SHA256        # the sums are in the table above
cd ..; py -m venv .venv; .venv\Scripts\Activate.ps1
pip install --no-index --find-links .\wheels mcp-sentinel
mcp-sentinel check --tool sql_query --args '{"query": "DROP TABLE users;"}'
# BLOCK: the destructive query is stopped, exit code 2 ($LASTEXITCODE)

What to look at in an hour and where to go next

  • Wrap an MCP server of one’s own. The server is started not directly but through mcp-sentinel wrap, and every tool call is checked before execution; a sample client configuration is on the page MITR, quick start.
  • Recompute the log. The single-file verifier (iss_verifier.py, SHA-256 1ff894574407307d33ec99115652bcaec4e53d06189178696d0db1c767a8608f) recomputes the chain; editing one record breaks it.
  • Source code. git clone https://git.isslab.ru/isslab/mcp-sentinel.git (branch master), likewise iss-ledger-117 and iss-agent-kit; Apache-2.0 license.
  • The full version. How the solver proves an action and what a receipt holds: Formal verification and The action receipt; how an outsider checks the receipt chain: Verification protocol; how MITR is installed at a customer: A pilot at a customer.

Autonomous Non-Profit Organization (ANO) “Research Institute of System Synthesis”, edition of 26 October 2026. The checksums were taken from the files on the host on 25 October 2026; the installation was checked on 26 October 2026.