{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T16:24:17.912Z","url":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit","markdownUrl":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit.md","server":{"slug":"com-inferweave-refereekit","name":"refereekit","registryName":"com.inferweave/refereekit","description":"Confidential peer review that checks a paper's citations. Set up from the install page first.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"refereekit","type":"pypi","identifier":"refereekit","withdrawn":false,"url":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit","version":"1.0.2","transport":"stdio","scoredAt":"2026-11-05T10:04:14.480Z"},"score":{"total":66,"tier":"medium","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":66},{"date":"2026-11-04","total":66},{"date":"2026-11-03","total":51},{"date":"2026-11-02","total":51},{"date":"2026-11-01","total":51},{"date":"2026-10-31","total":51}]},"categories":[{"name":"Supply Chain Security","score":100,"verdict":"partial","reasons":["No malware found by supply-chain analysis.","No known CVEs affecting this package version or its production dependencies.","Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it.","2 of 14 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_clean","args":{}},{"code":"cve.none","args":{}},{"code":"installscript.allowlisted","args":{"tool":"setuptools.build_meta","hooks":"build_backend"}},{"code":"dephealth.assessed","args":{"deps":"14","unhealthy":"2"}}]},{"name":"Provenance & Transparency","score":45,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT).","Actively maintained (last published 5 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"5"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":61,"verdict":"fail","reasons":["AI-judged instruction clarity (good).","Context-footprint check failed: tool/resource definitions use about 1749 tokens (~218/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_heavy","args":{"avg":"218","items":"8","tools":"8","tokens":"1749","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability not yet verified: not enough scan history yet (needs a 30-day window)."],"codes":[{"code":"stability.insufficient_history","args":{}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":75,"verdict":"fail","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; \"refx_close\" implies \"delete\" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.","An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_undeclared","args":{"pct":"0","tool":"refx_close","verb":"delete","declared":"none","annotated":"0","destructive":"2"}},{"code":"toolsafety.manipulation_clean","args":{"units":"9","judged":"9"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":["Stability not yet verified: not enough scan history yet (needs a 30-day window)."],"malware":[],"components":[{"slug":"refereekit","type":"pypi","identifier":"refereekit","withdrawn":false,"score":66,"current":true,"url":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit","markdownUrl":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit.md"}],"facts":[{"label":"Registry","value":"pypi"},{"label":"Package","value":"refereekit"},{"label":"Version","value":"1.0.2"},{"label":"Transport","value":"stdio"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"refx_start","title":"refereekit: start","description":"Start a refereekit session on a PDF the referee named, or resume one. Returns the session reference and page count, never the paper's text.","inputs":[{"name":"pdf","type":"string","required":true,"description":"Path of the PDF, as the referee gave it"},{"name":"session","type":"string","required":false,"description":"A session reference such as s-0123abcd, from refx_start or refx_status"},{"name":"venue","type":"string","required":false,"description":"Optional venue ID the referee named, without spaces"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":99},{"name":"refx_status","title":"refereekit: status","description":"Where one refereekit session stands, or a line for each session. Codes and counts only. PASS: the check's own guarantee holds, and nothing more. Quotation: the quoted words occur on the named page. Figure: a caption carries its label; what it shows is unchecked. FLAG: the page exists; its wording or an equation's label is unchecked. FAIL: the words are not on that page, the page does not exist or was not named, or a figure label was not found. It never shows the paper lacks them. A draft citing it is flagged. UNANCHORED: a quotation or equation with no clear page; unchecked. A clean finish: nothing is missing and nothing FAILs. It is not approval.","inputs":[{"name":"session","type":"string","required":false,"description":"A session reference such as s-0123abcd, from refx_start or refx_status"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":186},{"name":"refx_check","title":"refereekit: check","description":"Check one of the session's drafts against the paper, without a model. Returns verdict counts and reason codes; the referee reads the details in the window. PASS: the check's own guarantee holds, and nothing more. Quotation: the quoted words occur on the named page. Figure: a caption carries its label; what it shows is unchecked. FLAG: the page exists; its wording or an equation's label is unchecked. FAIL: the words are not on that page, the page does not exist or was not named, or a figure label was not found. It never shows the paper lacks them. A draft citing it is flagged. UNANCHORED: a quotation or equation with no clear page; unchecked. A clean finish: nothing is missing and nothing FAILs. It is not approval.","inputs":[{"name":"artifact","type":"string","required":true,"description":"report or editor"},{"name":"session","type":"string","required":true,"description":"A session reference such as s-0123abcd, from refx_start or refx_status"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":207},{"name":"refx_finish","title":"refereekit: finish","description":"Run the last deterministic checks on a refereekit session. Nothing is submitted or approved. PASS: the check's own guarantee holds, and nothing more. Quotation: the quoted words occur on the named page. Figure: a caption carries its label; what it shows is unchecked. FLAG: the page exists; its wording or an equation's label is unchecked. FAIL: the words are not on that page, the page does not exist or was not named, or a figure label was not found. It never shows the paper lacks them. A draft citing it is flagged. UNANCHORED: a quotation or equation with no clear page; unchecked. A clean finish: nothing is missing and nothing FAILs. It is not approval.","inputs":[{"name":"session","type":"string","required":true,"description":"A session reference such as s-0123abcd, from refx_start or refx_status"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":184},{"name":"refx_draft","title":"refereekit: draft","description":"Open the review window at the report or the editor letter. The referee types the section lengths or the answers for the editor there and reads the draft there; refx_status shows when it is written.","inputs":[{"name":"artifact","type":"string","required":true,"description":"report or editor"},{"name":"session","type":"string","required":false,"description":"A session reference such as s-0123abcd, from refx_start or refx_status"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":86},{"name":"refx_open","title":"refereekit: open a view","description":"Open one of the referee's private views in a window on the referee's own screen: review (the questions, the verdict and both drafts), drafts (read, check and edit a draft in the referee's editor), flags (what needs attention), note (venue notes), finish (the finishing checks), tutorial (a practice review) or setup (the reviews folder's page: model access, where the referee enters the backend, its key and the attestation, and the OpenReview account; it needs no session). The referee types and reads everything there; the result says whether the window opened.","inputs":[{"name":"session","type":"string","required":false,"description":"A session reference such as s-0123abcd, from refx_start or refx_status"},{"name":"view","type":"string","required":true,"description":"review, drafts, flags, note, finish, tutorial or setup"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":175},{"name":"refx_close","title":"refereekit: delete a session","description":"Delete one refereekit session. The referee is asked on their own screen, with what the deletion destroys; the session goes only on their yes there, never on a tool argument. If the session holds venue notes, pass notes_to (a database path the referee named) or drop_notes as the referee decided. The result is the dry run's counts, the deletion's, or the window that asks.","inputs":[{"name":"drop_notes","type":"boolean","required":false,"description":"true when the referee chose to discard the session's venue notes"},{"name":"notes_to","type":"string","required":false,"description":"A database path the referee named, to keep the session's venue notes in"},{"name":"session","type":"string","required":true,"description":"A session reference such as s-0123abcd, from refx_start or refx_status"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":160},{"name":"refx_setup","title":"refereekit: remove or reinstall the agent integration","description":"Remove refereekit's agent integration from this reviews folder (uninit), or reinstall it here (reinit). The referee is asked on their own screen, with what it would change; it happens only on their yes there, never on a tool argument. Sessions and the referee's own files are never touched. The result is the dry run's counts, the change's, or the window that asks.","inputs":[{"name":"action","type":"string","required":true,"description":"uninit or reinit"},{"name":"profile","type":"string","required":false,"description":"Optional for reinit: core or full"},{"name":"tools","type":"string","required":false,"description":"Optional: the agents, comma-separated, among claude, codex and pi; uninit removes all by default, reinit reinstalls those installed"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":154}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T10:04:14.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":"no_attestation","reasonLabel":"No attestation published","discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[{"hook":"build_backend","tier":"allowlisted"}],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":14,"partial":false,"deprecated":null,"stale":null,"noRepo":2}},"mismatches":[],"changelog":{"trackingSince":"2026-10-31","recent":[{"id":"chg_01a1a637-9342-710f-8e82-2068f8318b3a","kind":"check.reverified","summary":"Malware scan (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit#chg-chg_01a1a637-9342-710f-8e82-2068f8318b3a"},{"id":"chg_01a1a637-9345-72d9-bde2-5ed6c3c6b04b","kind":"score.total_changed","summary":"Trust score (51 → 66)","materiality":"functional","direction":"improvement","scoreDelta":15,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit#chg-chg_01a1a637-9345-72d9-bde2-5ed6c3c6b04b"},{"id":"chg_01a19191-6554-7807-87c2-f8742cea78eb","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit#chg-chg_01a19191-6554-7807-87c2-f8742cea78eb"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit","markdown":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit.md","changelogJson":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit/changelog.json","changelogRss":"https://verifymcp.io/servers/com-inferweave-refereekit/refereekit.xml","external":[{"label":"PyPI project","href":"https://pypi.org/project/refereekit/"},{"label":"Socket report","href":"https://socket.dev/pypi/package/refereekit"},{"label":"Repository","href":"https://github.com/junipertcy/refereekit"},{"label":"Website","href":"https://inferweave.com/refereekit/docs/install/"}]}}