Skip to main content

assurance-mcp

PyPI Tests Python License

For an agent that retrieves before it answers

If your agent can list the folder it is reasoning about, you probably do not need this. We A/B'd exactly that inside Cursor and the run without these tools did better: it listed the directory, spotted the odd filename, and checked itself. That is the right behaviour and we are not going to pretend otherwise.

Where it earns its place is where the agent cannot see the whole set. It performed a retrieval and holds k results, and nothing in those results says what the other set contained. It cannot list what it was not given, and neither can a better model.

check_retrieval_coverage_tool answers that, in arithmetic, with no model involved.

Read-only by construction. No writes, no deletes, no network. Proven by test_the_server_never_writes: no tool opens a file for writing, and no requests, urllib, shutil, os.remove, os.replace or symlink_to call exists in the package.

Install

python3 -m venv .venv && source .venv/bin/activate
pip install assurance-mcp
{
  "mcpServers": {
    "assurance": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["-m", "assurance_mcp.server"]
    }
  }
}

Cursor (~/.cursor/mcp.json), Claude Desktop, or any MCP client. Restart it, and you get four tools.

The one that fits your problem

check_set_coverage_tool takes two lists the agent already holds. No folder, no filesystem.

You:    Before you answer, check what you retrieved against what the question spans.

Agent:  check_set_coverage_tool(
          expected = ["msa.md", "amendment-1.md", "amendment-2.md", "amendment-3.md"],
          found    = ["msa.md", "amendment-1.md", "globex/msa.md"],
          scope    = "documents this question spans",
          where    = "the retrieved set")

        → complete: false · read 2 of 4
          "2 of 4 documents this question spans — not in the retrieved set:
           amendment-2.md, amendment-3.md"
          unexpected: ["globex/msa.md"]

Agent:  I've read 2 of the 4 documents this question spans. Amendment 2 and 3 weren't retrieved and
        the terms may have changed in them, so I shouldn't answer yet. I also pulled in a Globex
        document, which I've discarded.

That's a sentence no agent produces on its own, and it's the one that stops a wrong answer.

Use it for: retrieved chunks vs. documents the question spans · files reviewed vs. git diff --name-only · controls with evidence vs. controls in scope · partitions loaded vs. declared · eval cases run vs. declared.

All four tools

answers needs a folder
check_set_coverage_tool did the run cover everything, over any two sets? no
check_coverage_tool which periods are in this folder, and which aren't? yes
check_staleness_tool do a document's figures still match a source you name? yes
list_dated_files_tool which periods does this folder hold? yes

check_coverage_tool handles monthly, quarterly, weekly, daily and numbered runs (INV-0001, run_042), and returns the derivation with the ratio so the agent can surface a denominator you can argue with. Works from a cold start: no state, no database, no key.

Honest limits

  • expected is never inferred. A denominator the tool invents is one nobody can argue with
  • CSV and TSV only for profiling — no XLSX dependency here
  • Staleness needs recorded facts, or the answer is uncheckable — never silence
  • No cross-document inference. It produced 21 false positives on a real corpus, so it's refused
  • The caller names the folder boundary; paths can't escape it via .. or a symlink

Family

assurance-core — the pure arithmetic, zero dependencies · assurance-cli — the same checks as a command

Upstream is I-Ops; this repo is a publication, never a source. Apache-2.0.

Release files for assurance-mcp 0.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for assurance-mcp 0.4.3
File Size Uploaded
assurance_mcp-0.4.3.tar.gz 19.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for assurance-mcp 0.4.3
File Interpreter ABI Platform
assurance_mcp-0.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 33.1 kB

Release files / assurance_mcp-0.4.3.tar.gz

Download URL assurance_mcp-0.4.3.tar.gz
Size 19.9 kB
Tags Source
SHA-256 checksum
How to use checksums
7db4cd0fda82d24d37865b5926afaf6d8c49c47ea095e721d23300b747e25182
BLAKE2b-256 checksum
How to use checksums
155d415e90bb92f53478577f46f15aec9f6c007b0717e4eb4ee849b36fec5b56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 5, 2026.

Transparency log

Release files / assurance_mcp-0.4.3-py3-none-any.whl

Download URL assurance_mcp-0.4.3-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
365089b04e48a4024c16db826e340f9a3355af05e34aca8cd3477b3281f67e5e
BLAKE2b-256 checksum
How to use checksums
c58bad457ba58f1001b9dd3582acfdf306d3a613336ae4474949b4c92dd38fc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 5, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.1

2 release files

0.5.0

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

This release

0.4.3 This release

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page