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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 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.