Factcheck Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Factcheck Mcp (Agent Skill) and scored it 83/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 4 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 4 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
A bulleted imperative like {match} tells the agent to never reveal, disclose, or mention something to the user. Used adversarially it can instruct the agent to hide its tool calls or lie about what it did — stripping the transparency a user relies on to trust the agent.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Serveur MCP pour la verification automatisee de declarations politiques chiffrees, connecte aux APIs statistiques institutionnelles.
Le LLM compatible MCP (ex: Claude Desktop) utilise les outils exposes par ce serveur pour verifier des affirmations factuelles contre les donnees officielles de l'INSEE, Eurostat, la Banque mondiale et l'OCDE.
| Module | Outils | Description |
|---|---|---|
resolver | resolve_indicator | Resolution de termes vers codes indicateurs |
insee | insee_search_indicators, insee_get_indicator_metadata, insee_get_data, insee_search_geography | Donnees macroeconomiques francaises |
eurostat | eurostat_search_datasets, eurostat_get_data, eurostat_get_ranking, eurostat_get_dataset_structure | Donnees europeennes comparatives |
worldbank | worldbank_search_indicators, worldbank_get_data, worldbank_get_country_ranking | Donnees mondiales |
oecd | oecd_search_datasets, oecd_get_data | Donnees OCDE via SDMX |
factcheck | lookup_existing_factchecks, score_check_worthiness | Fact-checks existants + scoring |
cherry_picking | analyze_cherry_picking | Detection de cherry-picking temporel |
compare | compare_values | Comparaison valeur declaree vs reelle |
Aucune cle API necessaire pour : INSEE BDM, Eurostat, Banque mondiale, OCDE (gratuits et ouverts).
git clone <repo-url>
cd factcheck-mcp
uv syncCreer un fichier .env a la racine du projet :
GOOGLE_FACTCHECK_API_KEY=votre_cle_google
CLAIMBUSTER_API_KEY=votre_cle_claimbuster
FACTCHECK_CACHE_DIR=~/.cache/factcheck-mcpLes outils fonctionnent sans cles API (les fonctions Google FC et ClaimBuster retournent des listes vides au lieu de planter).
Ajouter dans ~/.config/claude/claude_desktop_config.json :
{
"mcpServers": {
"factcheck": {
"command": "uv",
"args": ["run", "--directory", "/chemin/vers/factcheck-mcp", "factcheck-mcp"],
"env": {
"GOOGLE_FACTCHECK_API_KEY": "votre_cle",
"CLAIMBUSTER_API_KEY": "votre_cle"
}
}
}
}Depuis Claude Desktop, demander :
"Le chomage en France a baisse de 2 points depuis 2020, verifie cette affirmation."
Le LLM invoquera les outils MCP pour :
# Lancer les tests unitaires (152 tests)
uv run pytest
# Lancer les tests en mode verbose
uv run pytest -v
# Lancer les tests d'integration (APIs reelles, necessite reseau)
uv run pytest -m integration
# Lancer le serveur en mode standalone (debug)
uv run factcheck-mcp
# Lint et formatage
uv run ruff check src/ tests/
uv run ruff format src/ tests/src/factcheck_mcp/
├── server.py # Serveur FastMCP, enregistrement des 18 outils
├── tools/ # Implementations MCP (un module par source)
│ ├── resolver.py # Resolution d'indicateurs via ontologie YAML
│ ├── insee.py # 4 outils INSEE (pynsee)
│ ├── eurostat.py # 4 outils Eurostat
│ ├── worldbank.py # 3 outils Banque mondiale (wbgapi)
│ ├── oecd.py # 2 outils OCDE (sdmx1)
│ ├── factcheck.py # Google Fact Check + ClaimBuster (httpx)
│ ├── cherry_picking.py # Analyse de robustesse temporelle
│ └── compare.py # Comparaison de valeurs avec qualification
├── core/ # Infrastructure partagee
│ ├── models.py # 12 modeles Pydantic
│ ├── cache.py # Cache diskcache avec TTL par source
│ ├── config.py # Configuration pydantic-settings
│ ├── errors.py # 6 exceptions metier
│ └── retry.py # Backoff exponentiel pour rate-limiting
└── ontology/ # Donnees statiques
├── indicators.yaml # 30 indicateurs politiques -> codes sources
└── geographies.yaml # Noms geographiques -> codes INSEE/ISOMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.