Master backend architectures, REST API design, microservices, and server-side development across multiple languages. Use this as a central index to access specialized sub-skills.
日本語の概要は準備中です。原文の説明を表示しています。
Academic paper search across 14+ scholarly platforms including arXiv, PubMed, Google Scholar, Web of Science, Semantic Scholar, Sci-Hub, and more. Use for literature review, research discovery, and citation management.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Provides unified access to 14 academic platforms through a single MCP interface. Enables searching, retrieving, and analyzing scholarly papers with standardized data models and security features. Powered by paper-search-mcp-nodejs v0.2.5.
| Platform | Search | Fetch | Advanced | Rate Limit |
|---|---|---|---|---|
| arXiv | ✅ | ✅ | Query syntax | 3 req/s |
| Web of Science | ✅ | ✅ | WQL support | API key required |
| PubMed | ✅ | ✅ | Boolean ops | 3 req/s |
| Google Scholar | ✅ | ❌ | Auto-retry | IP-based |
| Semantic Scholar | ✅ | ✅ | GraphQL | 100 req/5min |
| Sci-Hub | ❌ | ✅ | Mirror mgmt | Legal caution ⚠️ |
| ScienceDirect | ✅ | ✅ | Facets | API key required |
| Springer Nature | ✅ | ✅ | Dual API | API key required |
| Wiley | ✅ | ✅ | Full metadata | API key required |
| Scopus | ✅ | ✅ | Advanced | API key required |
| Crossref | ✅ | ✅ | Works API | Open access |
| bioRxiv | ✅ | ✅ | Pre-prints | Open access |
| medRxiv | ✅ | ✅ | Medical pre-prints | Open access |
| IACR ePrint | ✅ | ✅ | Cryptography | Open access |
npm install -g paper-search-mcp-nodejs# The package is already globally installed via:
# npm install -g paper-search-mcp-nodejs
# Add MCP server to Claude Code
claude mcp add paper-search npx paper-search-mcp-nodejs
# Verify installation
npx paper-search-mcp-nodejs --version # Should show v0.2.5
Create .env file in your working directory:
# Optional: Premium platform API keys
WOS_API_KEY=your_web_of_science_key
PUBMED_API_KEY=your_pubmed_key
SCIENCEDIRECT_API_KEY=your_elsevier_key
SPRINGER_API_KEY=your_springer_key
WILEY_API_KEY=your_wiley_key
SCOPUS_API_KEY=your_scopus_key
# Optional: Sci-Hub mirror override
SCIHUB_MIRROR=https://sci-hub.se
search_papersSearch across any supported platform with unified interface.
// Example: Search arXiv
{
"platform": "arxiv",
"query": "quantum computing",
"maxResults": 10
}
// Example: Search PubMed with filters
{
"platform": "pubmed",
"query": "CRISPR gene editing",
"filters": {
"year": "2024",
"species": "human"
},
"maxResults": 20
}
// Example: Web of Science advanced search
{
"platform": "wos",
"query": "TS=(machine learning) AND PY=(2023-2024)",
"filters": {
"documentType": "article"
}
}
fetch_paperRetrieve full paper metadata or PDF by identifier.
// By DOI
{
"doi": "10.1038/s41586-019-1666-5",
"platform": "crossref"
}
// By arXiv ID
{
"arxivId": "2301.07041",
"platform": "arxiv"
}
// By PubMed ID
{
"pmid": "12345678",
"platform": "pubmed"
}
search_arxivAdvanced arXiv search with category filtering.
{
"query": "ti:transformer AND cat:cs.LG",
"maxResults": 50,
"sortBy": "submittedDate",
"sortOrder": "descending"
}
search_pubmedPubMed/MEDLINE search with MeSH terms.
{
"query": "(cancer[MeSH]) AND (immunotherapy[Title])",
"filters": {
"publicationType": "Clinical Trial",
"minDate": "2020/01/01",
"maxDate": "2024/12/31"
}
}
search_google_scholarGoogle Scholar search with citation data.
{
"query": "deep learning natural language processing",
"filters": {
"yearLow": 2020,
"yearHigh": 2024
}
}
⚠️ Rate Limit Warning: Google Scholar enforces strict IP-based limits. Use sparingly.
search_semantic_scholarSemantic Scholar with citation graphs.
{
"query": "attention is all you need",
"fields": ["title", "authors", "citationCount", "influentialCitationCount"],
"limit": 100
}
search_wos (Web of Science)Advanced WoS search with citation analytics.
{
"query": "TS=(climate change) AND CU=(China)",
"filters": {
"databaseId": "WOS",
"timespan": "2020-2024"
}
}
search_sciencedirectElsevier ScienceDirect full-text search.
{
"query": "CRISPR Cas9",
"filters": {
"date": "2024",
"contentType": "Journal",
"openAccess": true
}
}
search_springerSpringer Nature search across journals and books.
{
"query": "quantum cryptography",
"filters": {
"subject": "Physics",
"year": "2024"
}
}
search_wileyWiley Online Library search.
{
"query": "protein folding",
"filters": {
"publicationYear": "2024"
}
}
search_scopusScopus citation database search.
{
"query": "TITLE-ABS-KEY(machine learning healthcare)",
"filters": {
"doctype": "ar", // Article
"pubyear": "2024"
}
}
search_crossrefCrossref DOI search and metadata.
{
"query": "neural networks",
"filters": {
"type": "journal-article",
"from-pub-date": "2024-01-01"
},
"rows": 100
}
search_biorxivbioRxiv preprint search (biology).
{
"query": "COVID-19 vaccine",
"filters": {
"category": "immunology"
}
}
search_medrxivmedRxiv preprint search (medicine).
{
"query": "cancer therapy",
"maxResults": 50
}
search_iacrIACR ePrint archive (cryptography).
{
"query": "zero knowledge proof",
"maxResults": 30
}
fetch_scihub_pdfDownload PDF via Sci-Hub (legal caution required).
{
"doi": "10.1016/j.cell.2024.01.001"
}
⚠️ Legal Warning: Sci-Hub access may violate copyright laws in many jurisdictions. Use only for:
get_paper_recommendationsGet citation-based paper recommendations.
{
"doi": "10.1038/nature12373",
"platform": "semantic_scholar",
"limit": 10
}
Automatic validation of DOI formats to prevent injection attacks.
SQL injection and command injection protection for all queries.
API keys automatically masked in logs and error messages.
Built-in token bucket rate limiting for all platforms.
// 1. Broad search across multiple platforms
await search_papers({
platform: "semantic_scholar",
query: "transformer models NLP",
maxResults: 100
});
// 2. Filter by citations
const highImpact = results.filter(p => p.citationCount > 100);
// 3. Get related papers
for (const paper of highImpact) {
await get_paper_recommendations({
doi: paper.doi,
limit: 5
});
}
// Search across multiple databases
const platforms = ["pubmed", "wos", "scopus", "crossref"];
for (const platform of platforms) {
await search_papers({
platform,
query: "(systematic review) AND (machine learning diagnosis)",
filters: { year: "2020-2024" }
});
}
// Get paper with citations
const paper = await search_semantic_scholar({
query: "BERT: Pre-training of Deep Bidirectional Transformers",
fields: ["citationCount", "influentialCitationCount", "references", "citations"]
});
// Analyze citation network
console.log(`Total citations: ${paper.citationCount}`);
console.log(`Influential citations: ${paper.influentialCitationCount}`);
// Try open access first
let pdf = await fetch_paper({
doi: "10.1038/nature12373",
platform: "crossref"
});
// Fallback to Sci-Hub if needed (legal caution)
if (!pdf.openAccess) {
pdf = await fetch_scihub_pdf({
doi: "10.1038/nature12373"
});
}
Springer supports both REST and GraphQL APIs:
// REST API (default)
await search_springer({
query: "quantum computing",
api: "rest"
});
// GraphQL API (more flexible)
await search_springer({
query: "quantum computing",
api: "graphql",
fields: ["title", "creators", "doi", "abstract"]
});
// Topic + Author + Year
await search_wos({
query: "TS=(deep learning) AND AU=(LeCun) AND PY=(2015-2024)"
});
// Citation count filter
await search_wos({
query: "TS=(CRISPR) AND TC >= 100" // 100+ citations
});
// Check mirror status
const mirrors = [
"https://sci-hub.se",
"https://sci-hub.st",
"https://sci-hub.ru"
];
// Tool automatically tries mirrors in order
// Override via SCIHUB_MIRROR env variable
| Platform | Limit | Recommendation |
|---|---|---|
| arXiv | 3 req/s | Batch queries, cache results |
| PubMed | 3 req/s | Use E-utilities efficiently |
| Google Scholar | IP-based | Minimize usage, add delays |
| Semantic Scholar | 100 req/5min | Use GraphQL for efficiency |
| Web of Science | API key dependent | Check your plan limits |
| Crossref | No strict limit | Be respectful, ~50 req/s max |
| Sci-Hub | Varies by mirror | Use sparingly, legal caution |
.env, never commit to gitAll platforms return standardized Paper objects:
interface Paper {
// Identifiers
doi?: string;
arxivId?: string;
pmid?: string;
pmcid?: string;
// Core metadata
title: string;
authors: Author[];
abstract?: string;
// Publication info
journal?: string;
volume?: string;
issue?: string;
pages?: string;
year?: number;
publishedDate?: string;
// Access
pdfUrl?: string;
openAccess?: boolean;
// Metrics
citationCount?: number;
influentialCitationCount?: number;
// Platform-specific
platform: string;
sourceData?: Record<string, any>;
}
try {
const results = await search_papers({
platform: "arxiv",
query: "quantum computing"
});
} catch (error) {
if (error.code === 'RATE_LIMIT_EXCEEDED') {
// Wait and retry
await sleep(5000);
retry();
} else if (error.code === 'INVALID_API_KEY') {
// Check API key configuration
console.error('API key invalid or missing');
} else if (error.code === 'PLATFORM_UNAVAILABLE') {
// Try alternative platform
await search_papers({ platform: "crossref", query });
}
}
# Check environment variables
echo $WOS_API_KEY
echo $PUBMED_API_KEY
# Verify .env file location (should be in working directory)
ls -la .env
# Test API key directly
curl -H "Authorization: Bearer $WOS_API_KEY" "https://api.clarivate.com/..."
# Add delays between requests
# Use batch operations
# Cache results locally
# Consider upgrading API plan
# Google Scholar is IP-sensitive:
# - Reduce request frequency
# - Use rotating proxies (if permitted)
# - Consider Semantic Scholar as alternative
# - Wait 24-48 hours if blocked
# Tool automatically tries multiple mirrors
# Override with specific mirror:
export SCIHUB_MIRROR=https://sci-hub.st
# Check mirror status manually
curl -I https://sci-hub.se
# Check query syntax for platform
# Verify filters are not too restrictive
# Try broader search terms
# Check if platform is accessible (API key, network)
⚠️ Important: Sci-Hub access may violate copyright laws in many countries. Use responsibly:
⚠️ Important: Google Scholar prohibits automated scraping:
Each platform has its own terms:
# Update to latest version
npm update -g paper-search-mcp-nodejs
# Reinstall MCP server (if needed)
claude mcp remove paper-search
claude mcp add paper-search npx paper-search-mcp-nodejs
# Verify version
npx paper-search-mcp-nodejs --version
agentdb-vector-search: For semantic search over downloaded papersreasoningbank-intelligence: For analyzing research patternsgithub-code-review: For reviewing code in academic softwareFor issues or questions:
Pro Tips:
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Master backend architectures, REST API design, microservices, and server-side development across multiple languages. Use this as a central index to access specialized sub-skills.
日本語の概要は準備中です。原文の説明を表示しています。
在每次回复中使用固定前缀并列出本次实际参考的指令/文件,便于校验是否遵循上下文与规则。
日本語の概要は準備中です。原文の説明を表示しています。
Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.
日本語の概要は準備中です。原文の説明を表示しています。
Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.
日本語の概要は準備中です。原文の説明を表示しています。
Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.
日本語の概要は準備中です。原文の説明を表示しています。
[00] META. Orchestrate skills into dynamic chains for complex tasks. Analyzes the task, discovers available skills, builds an optimal chain, explains why each skill is needed, and executes step-by-step with user confirmation. Use for any complex task requiring multiple thinking/research/analysis steps. Triggers on "plan this", "how to approach", "what's the strategy", "build a plan", or any multi-step problem requiring skill orchestration.
日本語の概要は準備中です。原文の説明を表示しています。