Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.
Epistemic Integrity Framework (EIF) is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Runtime gate for AI agent claims. Catches sycophantic drift, circular self-validation, causal errors
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport sse epistemic-integrity-framework-eif-mcp https://eif.leocelis.com/sse --header 'Authorization: Bearer ${API_KEY}'
# 2 — ask your agent for something these tools do
# eif_new_session, eif_get_context, eif_declare and 22 more
It needs API_KEY (API key for the EIF hosted server. Request one at https://github.com/leocelis/eif/discussions): this sends it in the Authorization header from your environment, so export it first — its endpoint answers 401 without it.
Epistemic Integrity Framework (EIF) costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is sse, as the publisher's own manifest declares it. Claude Code reads API_KEY (API key for the EIF hosted server. Request one at https://github.com/leocelis/eif/discussions) from your environment each time it connects and sends it in the Authorization header — its endpoint answers 401 without it — so the key stays out of its config: export it in your shell profile (macOS, Linux), or run setx API_KEY … and open a new terminal (Windows).
claude mcp add --scope user --transport sse epistemic-integrity-framework-eif-mcp https://eif.leocelis.com/sse --header 'Authorization: Bearer ${API_KEY}'Reconnect, or start a new session, and the tools appear in the model’s tool list.
It reaches a system of yours, so it needs your own credential rather than the publisher’s: Authorization header — API key for the EIF hosted server. Request one at https://github.com/leocelis/eif/discussions. You set it in your own client’s config, on your machine — this marketplace never holds it.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
25 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Read from its source code. A server that builds its tool list when it starts can list more tools than this.
Initialize a new EIF session. Call ONCE per distinct decision or task and store the returned session_id - it is required by every other EIF tool (eif_verify, eif_declare, eif_falsify, eif_get_session, ...). Do NOT call it once per claim; one session tracks the full DECLARE -> ... -> RECORD chain…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| linked_session_id | string | no | — |
ADVANCED: Load EIF phase descriptions, decision thresholds, and the quick reference card. Call once at the start of a session when using the granular pipeline (eif_declare → eif_falsify → ...). Not needed when using eif_verify - eif_verify is an integrated façade (evidence collection +…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| topic | string | no | — |
ADVANCED: Classify every claim in a decision as KNOWN (externally verified), ASSUMED (plausible but unverified), or GUESSED (no evidence basis). Call this first in the granular pipeline, before eif_falsify. Use eif_verify instead if you want the full pipeline in one call. Parameters: session_id,…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| decision | string | yes | — |
| claims | array | yes | — |
ADVANCED: Define what observation would prove a claim wrong, then optionally run SPRT (Sequential Probability Ratio Test) against provided observations. Call after eif_declare for each ASSUMED or GUESSED claim. Use eif_verify instead if you want the full pipeline in one call. Parameters:…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| claim_text | string | yes | — |
| condition | string | yes | — |
| threshold | string | yes | — |
| test_procedure | string | yes | — |
| observations | array | no | — |
| alpha | number | no | — |
| beta | number | no | — |
| effect_size | number | no | — |
ADVANCED: Call this when a claim asserts that A causes B - not merely correlates. Catches the most dangerous claim type: correlation presented as causation. Parameters: session_id, hypothesis (causal claim text), cause_variable, effect_variable, consequence ('LOW'/'MEDIUM'/'HIGH' - default MEDIUM;…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| hypothesis | string | yes | — |
| cause_variable | string | yes | — |
| effect_variable | string | yes | — |
| consequence | string | no | — |
| potential_confounders | array | no | — |
| iris_full_pipeline | boolean | no | — |
| claim_text | string | no | — |
ADVANCED: Compute the Bayesian posterior for a claim given collected evidence. Call after eif_falsify once you have evidence. Uses empirical Bayes priors when calibration history reaches >= 10 prior calibrations in the session (PRIOR_EMPIRICAL_MIN). Use eif_verify instead if you want the full…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| claim_text | string | yes | — |
| evidence | array | yes | — |
| prior | number | no | — |
| evidence_supports | boolean | no | — |
| likelihood_estimate | number | no | — |
| consequence_of_wrong | string | no | — |
| evidence_tier | string | no | — |
ADVANCED: Structure an adversarial challenge to a claim using an independent critic. Call when posterior is uncertain (0.4–0.7) or when the decision is high-stakes. Parameters: session_id, claim_text, current_posterior, critic_model (optional - model name for the critic LLM), critic_approach…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| claim_text | string | yes | — |
| current_posterior | number | yes | — |
| critic_model | string | no | — |
| critic_approach | string | no | — |
| counter_evidence | array | no | — |
| num_critics | integer | no | — |
| replication_mode | string | no | — |
ADVANCED: Run a sequential Bayesian update given new evidence. Call after eif_challenge when new counter-evidence arrives. Parameters: session_id, hypothesis (claim text), current_posterior (float 0–1), new_evidence (text summary of new evidence), evidence_supports (bool - True if evidence…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| hypothesis | string | yes | — |
| current_posterior | number | yes | — |
| new_evidence | string | yes | — |
| evidence_supports | boolean | yes | — |
| decision_value | number | no | — |
| delta_min | number | no | — |
ADVANCED: Validate an explanation using the hard-to-vary criterion (Deutsch). A hard-to-vary explanation is one where changing any detail breaks the fit to evidence. Call after eif_update when the posterior is stable and you need a documented explanation artifact. Use eif_verify instead if you…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| prior_explanation | string | yes | — |
| new_explanation | string | yes | — |
| details | array | yes | — |
| testable_predictions | array | yes | — |
| disconfirming_evidence | string | no | — |
| reach | string | no | — |
| reach_implications | string | no | — |
| corroborated | boolean | no | — |
| system_context | string | no | — |
ADVANCED: Assemble and store a provenance record for the current decision. Always call this at the end of the pipeline - it is the audit trail. Parameters: session_id, decision (text of the agent decision being recorded), models_used[] (model names that produced claims), tools_invoked[] (EIF/agent…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| decision | string | yes | — |
| models_used | array | yes | — |
| tools_invoked | array | yes | — |
| human_oversight | string | no | — |
ADVANCED: Structure a replication protocol, evaluate replication results, AND run Extension B independent convergent replication (V3). Call after eif_record when the claim is important and can be independently replicated. Parameters: session_id, claim_text, original_inputs{} (dict of inputs used…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| claim_text | string | yes | — |
| original_inputs | object | yes | — |
| isolation_strategy | string | no | — |
| replication_results | array | no | — |
| n_replicates | integer | no | — |
| replication_criterion | string | no | — |
| run_independent_replication | boolean | no | — |
| record_id | string | no | — |
ADVANCED: Assess whether the agent's reasoning programme is progressing or degenerating. A PROGRESSIVE programme makes novel predictions that are later confirmed. A DEGENERATIVE programme keeps patching failed predictions without new explanatory power. Call after >= 3 provenance records exist in…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
ADVANCED: Query the provenance chain for this session. Use format='summary' for a compact overview (decisions, assumptions, HALTs, compliance_status). Use format='full' to retrieve all records for export or audit. Pass record_id to retrieve a specific record by ID. For a formatted compliance…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| record_id | string | no | — |
| format | string | no | — |
Detect whether the EIF agent rules block (<BEGIN-EIF vX.Y>, any version) is installed in this project's agent instruction files (.cursorrules, CLAUDE.md, AGENTS.md, .cursor/rules/eif.mdc, etc.). Call this if eif_verify is producing unexpected results - missing rules are the most common cause.…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| file_paths | array | no | — |
| file_content | string | no | — |
| file_content_label | string | no | — |
ADVANCED: Detect sycophancy signals after eif_challenge and before eif_update. Use eif_verify instead - it runs this gate automatically. Parameters: session_id, turn_idx (1-based conversation turn), user_message, agent_response, falsify_probes[] (probe dicts from FALSIFY phase), calibrate_route…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| turn_idx | integer | yes | — |
| user_message | string | yes | — |
| agent_response | string | yes | — |
| falsify_probes | array | yes | — |
| calibrate_route | string | yes | — |
| calibrate_claims | array | no | — |
| challenge_result | object | no | — |
Call this on the user's input BEFORE eif_declare (or before eif_verify) when you suspect adversarial manipulation of the verification pipeline. Parameters: session_id, turn_idx (conversation turn number), user_message, prior_halts[] (list of prior HALT claim dicts - enables D2 framing injection…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| turn_idx | integer | yes | — |
| user_message | string | yes | — |
| prior_halts | array | no | — |
| session_audit | array | no | — |
ADVANCED: Rank all declared claims by epistemic priority so FALSIFY tests the most decision-critical assumption first - closes S3 gap (Experimental Design). Parameters: session_id, registry{} (AssumptionRegistry dict from eif_declare), calibration_results[] (optional per-claim CalibrationResult…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| registry | object | yes | — |
| calibration_results | array | no | — |
| max_probes | integer | no | — |
Call this FIRST - before eif_verify - when the user describes their agent's decision in plain text and you need to know which specific claims to verify. Takes a natural-language decision description and returns 2-4 structured claims pre-classified as KNOWN, ASSUMED, or GUESSED, ordered from…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| decision | string | yes | — |
| max_claims | integer | no | — |
Run a pre-built demo that shows exactly what EIF does - with zero API calls and instant results. Use this in a first session to see a real HALT before testing your own decisions. The demo uses a real gaming-agent scenario: an AI agent recommended a 10-article series based on fabricated IGDB…
Takes no parameters.
Call this after eif_verify to read the full session state: which decisions were recorded, claim type breakdown per decision, falsification outcomes, and programme status. Use this when you need to: - Check how many decisions have been recorded in this session - Inspect per-record claim counts and…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
Call this after a session with at least one HALT to generate a formatted compliance report mapping every flagged claim to the relevant EU AI Act article: Art. 9 - risk management (CAUSAL_UNVERIFIED + HALT) Art. 12 - record-keeping (provenance trail) Art. 14 - human oversight (HALT requiring…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| include_full_evidence | boolean | no | — |
| export_format | string | no | — |
Record the actual outcome of a past decision to close the ECE feedback loop. Call this after you learn whether a claim the agent made was correct or wrong. Outcomes are stored cross-session to ~/.eif/outcome_store.json and enable: 1. Label-grounded ECE (F1C1, arXiv:2501.08292) - activates when…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| session_id | string | yes | — |
| provenance_record_id | string | yes | — |
| outcome | boolean | yes | — |
| domain | string | no | — |
Return the current state of the ECE calibration feedback loop across all sessions. Use this to understand: - How many outcome records have been labeled (count is OutcomeRecord rows, not unique sessions) - Whether ECE is LABEL_GROUNDED (>= 30 labeled records globally) or UNCALIBRATED (< 30) -…
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | no | — |
Return empirical catch rates for the compound error model, measured from labeled EIF sessions. The compound error model uses f (FALSIFY), c (CHALLENGE), u (UPDATE) rates to estimate the fraction of errors that survive all three phases. Literature defaults: f=0.6, c=0.4, u=0.5 (Architecture §9.2).…
Takes no parameters.
Call this before any agent decision that acts on a confident-but-wrong output - claims about costs, compliance requirements, API behavior, causal relationships, or statistics the model stated with high confidence. Parameters: session_id (REQUIRED - obtain it from eif_new_session; never invent an…
No parameter schema on file.
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Epistemic Integrity Framework (EIF) or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 4.2.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Epistemic Integrity Framework (EIF) can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.