Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

fairmind-mcp

An MCP server that lets a coding agent ask FairMind whether an AI system may ship, and run fairness tests on CSVs from your machine. It is a thin layer over the fairmind Python SDK and talks to the server over stdio.

Tools

Tool What it does
list_systems AI systems your key can see, with id, risk tier and lifecycle stage
release_gate Verdict (go, conditional_go, no_go), confidence, the five checks and the reasons
clause_map The gate read per regulatory clause; optional frameworks such as EUAIA, ISO42001
run_fairness_test Uploads a local CSV, stores the measured result as evidence, returns metrics and the new gate
record_monitoring_snapshot Compares recent decisions in a local CSV with the latest fairness run (drift, impact ratio, PSI)
attest_check Records a person's statement that data_governance, human_oversight, monitoring or environmental is satisfied
list_evaluations Searches the evaluation catalogue (drift, leakage, prompt injection, jailbreaks, counterfactual flip rate, agent configuration and more) and says which FairMind can run
describe_evaluation The files and params an evaluation takes, and whether it also runs as a behaviour test against the live system
run_evaluation Runs an evaluation on local files, against the live system (live) or on the connected agent platform (use_connection); stores the result as measured evidence

Each tool returns a compact text summary and the full API response as structured content. run_evaluation waits for behaviour tests, which run as background jobs and can take minutes. The evaluation tools act in the key's first organisation; set FAIRMIND_ORG_ID to pick another. API failures come back as tool errors carrying the HTTP status and the server's message. attest_check writes manual evidence, so the tool tells the agent to use only statements the user gave or confirmed.

Install

# from a checkout, with uv (the SDK is resolved from ../sdk)
cd apps/mcp && uv sync

# or with pip: SDK first, then this package
pip install -e apps/sdk -e apps/mcp

The server targets the mcp 1.x FastMCP API (mcp>=1.10,<2); in mcp 2.x it was renamed MCPServer.

Configure

Create a key once with POST /api/v1/auth/api-keys, export it, and let the client pass it through. The config below never contains the key itself.

export FAIRMIND_API_URL=https://fairmind.example.com
export FAIRMIND_API_KEY=...

Claude Code

claude mcp add fairmind -- uv run --project /path/to/fairmind/apps/mcp fairmind-mcp

The server inherits FAIRMIND_API_URL and FAIRMIND_API_KEY from the shell that starts Claude Code. To scope it to a repository, commit a .mcp.json that expands the variables from each developer's environment:

{
  "mcpServers": {
    "fairmind": {
      "command": "uv",
      "args": ["run", "--project", "/path/to/fairmind/apps/mcp", "fairmind-mcp"],
      "env": {
        "FAIRMIND_API_URL": "${FAIRMIND_API_URL}",
        "FAIRMIND_API_KEY": "${FAIRMIND_API_KEY}"
      }
    }
  }
}

Claude Desktop

Desktop does not expand variables, so launch through a shell that reads them from your environment. In claude_desktop_config.json:

{
  "mcpServers": {
    "fairmind": {
      "command": "/bin/sh",
      "args": ["-c", "exec uv run --project /path/to/fairmind/apps/mcp fairmind-mcp"]
    }
  }
}

Set FAIRMIND_API_URL and FAIRMIND_API_KEY in the environment that starts Claude Desktop (for example with launchctl setenv on macOS), or keep them in a file outside the repository that you source in the -c command.

Try it

Ask the agent: "May the credit-scoring system ship?" It calls list_systems, then release_gate. Ask it to "run a fairness test on holdout.csv for gender and region, outcome repaid, prediction approved" and it calls run_fairness_test with the file path on your machine.

Tests

cd apps/mcp && uv run --with pytest pytest -q -p no:cacheprovider tests

Metadata

Release files for fairmind-mcp 0.3.1a0

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

Source distribution (sdist)

Source distribution for fairmind-mcp 0.3.1a0
File Size Uploaded Provenance Actions
fairmind_mcp-0.3.1a0.tar.gz 10.9 kB With provenance Details for fairmind_mcp-0.3.1a0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fairmind-mcp 0.3.1a0
File Interpreter ABI Platform Actions
fairmind_mcp-0.3.1a0-py3-none-any.whl Python 3 none any Details for fairmind_mcp-0.3.1a0-py3-none-any.whl

Total release size: 18.8 kB

Release files / fairmind_mcp-0.3.1a0.tar.gz

Download URL fairmind_mcp-0.3.1a0.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8f2f6f7c3f831b63d64fa19867a87ea069f8e2d4cb1e91216d432fef6df36f9d
BLAKE2b-256 checksum
How to use checksums
ce255226b21bf59662232789f98b66ba26a24ef40b357514ff061b3729ed00dd
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 8, 2026.

Transparency log

Release files / fairmind_mcp-0.3.1a0-py3-none-any.whl

Download URL fairmind_mcp-0.3.1a0-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f7c9755a03fba0bd58f1168e67c4bc377b7f4386874bd2d68152425a393f8c3
BLAKE2b-256 checksum
How to use checksums
df4b5b42053c2508c74c0ab144debd6d0ea44c2481b5ee8fc30d1955da470f14
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 8, 2026.

Transparency log

Security for fairmind-mcp 0.3.1a0

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

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for fairmind_mcp-0.3.1a0.tar.gz

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 8, 2026.

Transparency log

A 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.

Release history Release notifications | RSS feed

This release
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