Research Integrity Screening
About
Research integrity screening MCP that connects Claude, Cursor, and other AI agents to academic fraud detection across 7 live data sources.
Details
- Author
- apifyforge
- Downloads
- 167
- Categories
- Search
Jump to
- Benford’s law citation analysis for manipulation detection
- Paper mill template detection from repeated title prefixes
- ORCID verification with identity-unverified risk signals
- Publication velocity monitoring and year‑over‑year spike detection
- Four independent scoring models with a weighted composite score
- Hard override logic that forces HIGH_RISK on critical findings
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Research Integrity ScreeningCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server’s URL to your MCP client’s configuration (Claude Desktop, Cursor, Windsurf) and include your Apify token in an Authorization header. Invoke any of six tools—such as screen_researcher_integrity or generate_integrity_report—via standard MCP protocol to screen a researcher or compare institutions.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"research integrity screening": {
"research-integrity-screening-mcp": {
"url": "https://ryanclinton--research-integrity-screening-mcp.apify.actor/mcp"
}
}
}
}
McpServers
{
"research-integrity-screening-mcp": {
"url": "https://ryanclinton--research-integrity-screening-mcp.apify.actor/mcp"
}
}
Research Integrity Screening MCP Server
> View on ApifyForge | Use on Apify Store
---
Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf):
{
"mcpServers": {
"research-integrity-screening-mcp": {
"url": "https://ryanclinton--research-integrity-screening-mcp.apify.actor/mcp"
}
}
}
---
Research integrity screening MCP that connects Claude, Cursor, and other AI agents to academic fraud detection across 7 live data sources. Screen researchers, detect paper mill output, flag citation manipulation using Benford's law analysis, assess journal quality, and audit NIH grant-publication linkages — all in a single tool call from your AI agent. Returns a composite Integrity Score (0-100) with a CLEAR / MINOR_CONCERNS / INVESTIGATION_NEEDED / HIGH_RISK verdict.
This server runs in Standby mode on the Apify platform, responding to MCP requests without cold-start delays. It orchestrates OpenAlex, ORCID, PubMed, Semantic Scholar, Crossref, CORE, and NIH Research Grants in parallel, applies four independent scoring models, and returns structured JSON that your AI agent can reason over directly. Grant reviewers, journal editors, and research integrity officers get consistent, reproducible scores rather than ad hoc judgement calls.
What data can you access?
| Data Point | Source | Example |
|---|---|---|
| 📄 Publication metadata, citation counts, DOIs | OpenAlex | 247 papers, avg 18.3 citations |
| 👤 Researcher profiles, affiliations, employment history | ORCID | Dr. M. Petrov, MIT 2018-present |
| 🔬 Biomedical literature, MeSH terms, abstracts | PubMed | "Expression of Concern: oncology study" |
| 📊 AI citation analysis, influence scores, paper embeddings | Semantic Scholar | Influence score 94, 12 highly-cited papers |
| 🔗 DOI metadata, reference lists, journal metadata | Crossref | 10.1016/j.cell.2023.04.021 |
| 📂 Open access full-text repository coverage | CORE | 61% OA ratio across publication set |
| 💰 Federal grant awards, PI names, funding amounts | NIH Grants | R01CA123456, $1.2M, University of Chicago |
| 🚩 Retraction / correction / expression of concern flags | OpenAlex + PubMed | 3 retraction flags, 2 corrections detected |
| 📈 Publication velocity by year, year-over-year spike detection | OpenAlex + PubMed | 47 papers in 2022 — velocity spike flagged |
| 🏦 Funding concentration index (HHI), terminated grant flags | NIH Grants | HHI 0.82 — single-source dependency risk |
Why use Research Integrity Screening MCP?
Manual research integrity review is slow and inconsistent. Checking a single researcher across OpenAlex, ORCID, PubMed, Semantic Scholar, Crossref, and NIH Grants separately takes 2-3 hours per subject. Applying Benford's law to citation distributions requires spreadsheet work most reviewers skip entirely. Paper mill template detection across dozens of papers is impractical without automation. And the results of manual review are rarely comparable across screeners or repeatable over time.
This MCP automates the entire workflow. A single tool call queries all seven sources in parallel, applies four scoring algorithms, and returns a structured verdict in under 2 minutes. The MCP format means your AI agent calls these tools mid-conversation — ask Claude to screen a grant applicant and it invokes the tool, interprets the score, and explains the findings without you opening a separate application.
- Scheduling — run periodic integrity sweeps on Apify Scheduler; flag new anomalies automatically
- API access — trigger screenings from Python, JavaScript, or any HTTP client using standard MCP protocol
- Parallel data fetching — all seven data sources queried simultaneously, not sequentially
- Monitoring — receive Slack or email alerts when HIGH_RISK verdicts are returned via Apify webhooks
- Integrations — pipe results into Notion, Airtable, or any webhook-compatible grant management system
Features
- Benford's law citation analysis — computes leading-digit frequency distribution across a researcher's full citation set and flags deviation from the expected logarithmic distribution (digit 1 expected at 30.1%)
- Coefficient of variation check — detects suspiciously uniform citation distributions where CV < 0.3 across 10+ papers, a statistical proxy for citation ring or self-citation manipulation
- Paper mill template detection — extracts the first 5-word prefix of each paper title and flags patterns that repeat 3 or more times across the publication set
- Journal concentration scoring — identifies when more than 50% of a researcher's papers appear in a single journal, a known paper mill indicator
- Author diversity analysis — computes the unique author-set ratio across all papers; low diversity below 30% with 10+ papers triggers a flag
- Publication velocity monitoring — flags any calendar year with more than 30 publications, and detects year-over-year spikes of 3x or greater with at least 10 papers
- ORCID verification scoring — penalises missing profiles, empty works lists, and absent affiliation records as identity-unverified risk signals
- Retraction and correction detection — scans publication titles and document types for "retract", "correction", "erratum", and "expression of concern" keywords across OpenAlex, PubMed, and Semantic Scholar
- NIH grant-to-paper ratio — computes publications-per-grant ratio; ratios above 20:1 flag potential output padding; ratios below 1:1 flag low productivity
- Funding concentration HHI — applies the Herfindahl-Hirschman Index to funding sources; concentration above 0.7 with 3+ grants signals single-source dependency
- Terminated grant detection — scans NIH grant records for "terminated", "withdrawn", and "suspended" status text
- Four independent scoring models — Researcher Integrity (max 100), Paper Mill (max 100), Journal Quality (max 100, positive scale), Funding Risk (max 100) each produce standalone scores
- Weighted composite score — combines all four models: Integrity 30% + Paper Mill 25% + (100 minus Journal Quality) 25% + Funding Risk 20%
- Five-tier verdicts per model — each sub-model uses domain-appropriate labels (CLEAN through CRITICAL for integrity; UNLIKELY through CONFIRMED_MILL for paper mills; PREDATORY through ELITE for journals)
- Hard override logic — CRITICAL integrity level or CONFIRMED_MILL verdict forces HIGH_RISK regardless of composite score
- Deterministic required actions — the requiredActions list is generated from specific threshold triggers, not the composite score, ensuring concrete next steps even when the overall score is borderline
Use cases for research integrity screening
Pre-award grant screening
Grant programme officers at federal agencies and private foundations need to vet principal investigators before committing funds. A single screen_researcher_integrity call cross-references the applicant's publication record across four databases, applies Benford's law to their citation history, checks for retraction history, and verifies their ORCID profile. Officers get a scored, reproducible result they can attach to the application file, replacing hours of manual database lookups with a 90-second workflow.
Journal submission integrity review
Peer review coordinators can run check_publication_flags against a submitted manuscript's author list or topic before assigning reviewers. The paper mill detection model checks for repeated title templates, journal over-concentration in the author's history, and author-group uniformity — the three most reliable early indicators of paper mill output. A PROBABLE or higher mill score routes the submission to an integrity editor rather than standard peer review.
Faculty hiring due diligence
Provosts and department chairs screening candidates can run generate_integrity_report to receive a full composite view before making offers. The tool verifies ORCID identity, assesses publication velocity for implausible output rates, checks for retraction history, and evaluates whether the candidate's journal choices reflect credible venues. This takes 90 seconds rather than three days of reference checking.
Research institution partnership assessment
Before formalising a collaboration, compliance teams can run compare_institutional_integrity to benchmark two institutions side-by-side on journal quality and funding risk. The tool queries OpenAlex and NIH Grants for both entities simultaneously and returns a structured comparison with a quality advantage indicator — useful for partnership decision memos.
Funding portfolio audit
Agencies managing large research portfolios use audit_grant_research_link to identify grants where the paper-to-grant ratio is anomalously high or low, where grants have been terminated, or where funding concentration risk is elevated. Batch screening surfaces the highest-risk items for prioritised review without manually checking each grant record.
Citation manipulation investigation
When a researcher is under investigation for suspected citation ring participation, detect_citation_anomalies returns the full Benford's law digit-by-digit comparison with observed vs. expected percentages and deviation scores for digits 1-9. This provides the statistical evidence base that integrity committees need before escalating to formal misconduct proceedings.
How to connect this research integrity screening MCP
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"research-integrity-screening": {
"url": "https://research-integrity-screening-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}
Cursor, Windsurf, or Cline
Use the same URL and token in your MCP server settings panel. The server communicates via standard MCP protocol over HTTP POST to /mcp.
Python (via requests)
import requests
response = requests.post(
"https://research-integrity-screening-mcp.apify.actor/mcp",
headers={
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
},
json={
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "generate_integrity_report",
"arguments": {"entity": "Dr. Marcus Webb Global Health Institute"}
},
"id": 1
}
)
result = response.json()
report = result["result"]["content"][0]["text"]
print(report)
JavaScript
const response = await fetch(
"https://research-integrity-screening-mcp.apify.actor/mcp",
{
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_APIFY_TOKEN"
},
body: JSON.stringify({
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "screen_researcher_integrity",
arguments: { researcher: "Dr. Elena Sokolova 0000-0002-7831-4412" }
},
id: 1
})
}
);
const data = await response.json();
const report = JSON.parse(data.result.content[0].text);
console.log(Integrity level: ${report.researcherIntegrity.integrityLevel});
console.log(Score: ${report.researcherIntegrity.score}/100);
cURL
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.

