Research Guard
Provides access to arXiv's API as a data source for retrieving preprint literature, used in novelty assessment and literature search.
Provides access to Semantic Scholar's API as a data source for retrieving scholarly papers with citation network information, used in novelty assessment and literature search.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Research GuardCheck novelty: using graph neural networks for protein folding prediction"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Research Guard MCP
Check your research idea's novelty before investing months into it.
What it does
Research Guard is an MCP server that tells you if your research idea has already been explored. It decomposes your idea into (Problem, Method, Innovation), searches 200M+ academic papers across Semantic Scholar and OpenAlex, and gives you a RED / YELLOW / GREEN verdict with evidence.
Not a search tool. A research decision guard.
Traditional tools | Research Guard |
"Here are 50 papers about X" | "3 papers overlap your core contribution — here's exactly where" |
Keyword match results | Contribution-level alignment with evidence quotes |
No answer | proceed / differentiate / abandon_risk + differentiation space |
Related MCP server: McpDeepResearch
Quick start
1. Install
uvx research-guard-mcp2. Get API keys
Key | Free? | Where to get |
Semantic Scholar API key | Yes (1 req/s free, 10 req/s with key) | |
OpenAI API key | Pay-per-use |
3. Configure your MCP client
Add to claude_desktop_config.json:
{
"mcpServers": {
"research-guard": {
"command": "uvx",
"args": ["research-guard-mcp"],
"env": {
"S2_API_KEY": "your-semanticscholar-api-key",
"OPENAI_API_KEY": "your-openai-api-key"
}
}
}
}claude mcp add research-guard -- uvx research-guard-mcpThen set the environment variables in your shell profile.
Add to your MCP config (.cursor/mcp.json or equivalent):
{
"mcpServers": {
"research-guard": {
"command": "uvx",
"args": ["research-guard-mcp"],
"env": {
"S2_API_KEY": "your-semanticscholar-api-key",
"OPENAI_API_KEY": "your-openai-api-key"
}
}
}
}How it works
Your research idea
|
[Decompose] → (Problem, Method, Innovation) triple
|
[Expand] → 5-dimension concept expansion
| (synonyms, ancestors, alternatives, critiques, cross-domain)
|
[Retrieve] → Semantic Scholar + OpenAlex (parallel, deduplicated)
|
[Quick Rank] → Contribution-point scoring (text + semantic similarity)
|
[Deep Compare] → LLM pairwise comparison with evidence grounding
|
[Assess] → RED / YELLOW / GREEN + overlaps + blind spotsTools
Tool | What it does | When to use |
| Full novelty assessment with RED/YELLOW/GREEN rating | Before starting any research direction |
| Expand a term across 5 conceptual dimensions | Exploring terminology space before literature search |
| Multi-source literature search with query expansion | Finding related work beyond keyword match |
| Forward/backward citation graph traversal | Understanding a paper's influence network |
| Detect unexplored areas and counter-evidence | When you want to challenge your own assumptions |
| Extract problem/method/innovation from a paper | Analyzing a specific paper's contribution |
Example
You: I'm thinking of using vision transformers with shifted windows
for 3D medical image segmentation. Is this novel?
Claude: [calls check_novelty on Research Guard]
Research Guard result:
Rating: YELLOW (partially overlapping)
- Swin UNETR (2022) already uses Swin Transformer for brain tumor segmentation
- TransUNet (2021) combines transformers with U-Net for medical images
- Differentiation space: your 3D shifted window approach differs from their
2D slice-based methods
- Blind spot: no counter-evidence found for this combination
Claude: Your idea has significant overlap with existing work, but there's
a clear differentiation path — the 3D shifted window mechanism is
novel in this domain. I'd recommend proceeding with explicit
positioning against Swin UNETR.Configuration
All settings are configured via environment variables (prefix RESEARCH_GUARD_):
Variable | Default | Description |
| — | Semantic Scholar API key (recommended) |
| — | OpenAI API key for LLM comparison |
| — | OpenAlex API key (optional, higher rate limits) |
|
| Model for deep comparison |
|
| Logging level |
|
|
|
Architecture
research-guard/
├── packages/
│ ├── guard_core/ # Core engine (no MCP dependency)
│ │ ├── models.py # Pydantic v2 type system
│ │ ├── decomposer.py # LLM-based idea decomposition
│ │ ├── expander.py # 5-dim concept expansion
│ │ ├── retriever.py # Multi-source parallel retrieval
│ │ ├── novelty_checker.py # Main pipeline orchestrator
│ │ ├── similarity.py # Text + semantic scoring
│ │ ├── blind_spot.py # Counter-evidence detection
│ │ ├── contribution_comparator.py # Contribution-level comparison
│ │ ├── cache.py # SQLite async cache
│ │ ├── cost_tracker.py # LLM cost monitoring
│ │ └── sources/ # API clients (S2, OpenAlex, arXiv)
│ ├── guard_mcp/ # FastMCP server (thin adapter)
│ └── guard_web/ # [Phase 2b] Web UI
├── plugins/ # Extensible data source ABCs
├── datasets/ # Domain vocabularies + validators
├── tests/
│ ├── unit/ # Pure logic tests
│ └── integration/ # Real API tests (skippable)
└── docs/Development
git clone https://github.com/Fengrru/research-guard.git
cd research-guard
uv sync
# Run all tests
uv run pytest tests/unit -v
# Lint
uv run ruff check packages/ plugins/ datasets/ tests/
# Type check
uv run mypy packages/ --ignore-missing-importsDisclaimer
This tool only covers indexed public literature (Semantic Scholar, OpenAlex, arXiv). Unpublished work, gray literature, preprints not yet indexed, and non-English papers may not be fully captured. Always use this as a decision-aid, not an absolute verdict.
License
Apache-2.0 — commercial-friendly, patent grant included.
Contributing
See CONTRIBUTING.md for guidelines. We welcome contributions for:
New data source plugins (e.g., PubMed, DBLP, IEEE Xplore)
Domain-specific expansion vocabularies
Web UI (Phase 2b)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that utilizes LangGraph and Google Gemini to conduct comprehensive research through multi-iteration deep searches and quick results. It provides high-quality analysis with automated citations and grounding metadata for thorough investigations.2MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables academic research by searching Google Scholar, fetching paper content, and converting web pages to clean Markdown.1MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for academic research that enables paper search across 14 sources, PDF download with multi-provider fallback, metadata extraction, and bibliography generation.2GPL 3.0
- FlicenseAqualityBmaintenanceAI-powered research assistant MCP server for searching academic papers and answering research questions with DOI citations.3
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
An MCP server for deep research or task groups
MCP server for generating rough-draft project plans from natural-language prompts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Fengrru/research-guard'
If you have feedback or need assistance with the MCP directory API, please join our Discord server