fip-mcp
An MCP server that turns community FAIR Implementation Profiles (FIPs) into guidance and deterministic compliance checks for AI agents such as Claude Code.
A FIP records a community's agreed FAIR choices: identifiers, repositories, formats, vocabularies, licences and provenance models. It is published as nanopublications by the FIP Wizard. Today FIPs are mostly filled in once and rarely read again. This server makes them operational. An agent helping a researcher asks the FIP what the community agreed before it suggests anything, and can check work against the FIP.
fip-mcp was developed in the OSCARS-funded FIESTA project (FAIR Image Data Workflows in Galaxy), and is maintained by the Science Live community.
Tools
| Tool | What it does |
|---|---|
communities |
Known communities and their FIP nanopubs (any tool also accepts a FIP URI). |
profile |
The community's choices question by question, from the latest FIP version. |
recommend |
What the community agreed for a topic (format, repository, licence, …). |
check |
Checks a folder or Zenodo record against the FIP: pass / fail (+ fix) / manual / no-choice. |
crosswalk |
What changes when a workflow or dataset moves between two communities. |
Design rules:
- Verdicts are code, not LLM judgement. Each declared resource maps to a probe
of facts read from the target. A resource with no probe is
manual, so the agent asks the user instead of guessing. - A community gap stays a gap.
no-choiceis reported as a gap in the FIP, and the agent is told not to put its own preference in its place. - Latest version. The FIP Wizard republishes a FIP and its declaration index, and both supersede their predecessors. The resolver only follows successors that are themselves FIPs.
Install and use
pipx install fip-mcp
claude mcp add fip -s user -- fip-mcp # as an MCP server
fip-check check fiesta-eo 10.5281/zenodo.20960690 # same operations from the shell
fip-check crosswalk fiesta-bio fiesta-eo
Nanopubs are cached in ~/.cache/fip-mcp. They are immutable, so they are cached
for good. Version lookups always go to the network.
For development: pip install -e '.[dev]' and python -m pytest -q (the tests need
no network).
Status
Prototype. The short names in src/fip_mcp/data cover the Astronomy, Bioimaging
and Earth Observation FIPs of the OSCARS-FIESTA community FAIR Image Data Workflows
in Galaxy. Any tool also accepts the nanopublication URI of another FIP, but the
check probes have so far only been exercised on FIESTA outputs.
Assistant test
eval/ tests whether an AI assistant follows a community's FIP, with and without
fip-mcp. It asks 6 questions (repository, data format, licence, identifier,
vocabulary, provenance) for each of the 3 FIESTA communities, 3 runs per condition.
The expected answers are read from the published FIPs, not typed by hand. Results
from 2026-10-20 (Claude Opus 5.5, web and file tools disabled) are in
eval/results/:
| Variant | Without fip-mcp | With fip-mcp |
|---|---|---|
| choice: "what has my community agreed?" | 54 of 54 abstain | 54 of 54 give the declared choice or report the gap |
| plain: "what do you recommend?", declared questions | 30 of 45 on-profile, 15 off-profile | 45 of 45 on-profile |
| plain: questions the community left open | 9 of 9 recommend their own default, with a caveat | 9 of 9 report the gap |
python eval/run_eval.py --runs 3 --out eval/results/<name> # needs Claude Code
python eval/score.py eval/results/<name>
Citation
Please cite fip-mcp with the metadata in CITATION.cff.
Funding
fip-mcp was developed within FIESTA, a project funded by OSCARS (Open Science Clusters' Action for Research and Society). OSCARS is funded by the European Union's Horizon Europe programme under grant agreement No 101129751. Views and opinions expressed are those of the authors only and do not necessarily reflect those of the European Union. Neither the European Union nor the granting authority can be held responsible for them.
Science Live is a community-driven, unfunded initiative. Further funders will be listed here as they support the work.
Metadata
Release files for fip-mcp 0.1.0
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 |
|---|---|---|---|---|
| fip_mcp-0.1.0.tar.gz | 89.8 kB | With provenance | Details for fip_mcp-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fip_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for fip_mcp-0.1.0-py3-none-any.whl |
Total release size: 111.7 kB
Release files / fip_mcp-0.1.0.tar.gz
| Download URL | fip_mcp-0.1.0.tar.gz |
|---|---|
| Size | 89.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c7f9a10807263a1f77922572b64c81e3995c3c1b8ffbd9f6605f1226d1f7bcec
|
|
BLAKE2b-256 checksum How to use checksums |
3d0b2ac2812c6db3750b4efad9c56943c8632b2d2b669b0ea1a306f650ee5cc7
|
| 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 12, 2026.
Transparency logRelease files / fip_mcp-0.1.0-py3-none-any.whl
| Download URL | fip_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 21.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3bbad2db89b6057ffdebd16393a5d1784bc195822ab60bd16788190e037fb686
|
|
BLAKE2b-256 checksum How to use checksums |
27dc6de539df567dc39852f37f582cfb2ca5a198d64c9947d636af11f2cd25cb
|
| 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 12, 2026.
Transparency logSecurity for fip-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
Both files in this release have been uploaded with provenance metadata.
Attestation for fip_mcp-0.1.0.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 12, 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.