openpaper-mcp
MCP-сервер OpenPaper
Создавайте академические исследовательские работы с полным списком цитирований прямо из Claude Desktop или любого другого MCP-клиента.
OpenPaper использует 18 специализированных ИИ-агентов для поиска по более чем 500 миллионам академических источников (OpenAlex, Crossref, Semantic Scholar) и написания работ диссертационного уровня, где каждая ссылка ведет на реальную публикацию.
Настройка
1. Получите ваш API-токен
Перейдите на openpaper.dev и войдите в систему
Откройте инструменты разработчика (DevTools) → вкладка Network
Нажмите на любой запрос → найдите заголовок
AuthorizationСкопируйте значение после
Bearer— это и есть ваш токен
2. Установите зависимости
pip install mcp httpx3. Настройте Claude Desktop
Добавьте в ваш claude_desktop_config.json:
{
"mcpServers": {
"openpaper": {
"command": "python",
"args": ["/path/to/openpaper-mcp/server.py"],
"env": {
"OPENPAPER_API_TOKEN": "your-token-here"
}
}
}
}Related MCP server: Paper Search MCP
Инструменты
start_paper_generation
Запуск генерации работы. Сразу возвращает generation_id.
Generate a graduate-level paper on "The neurobiological basis of PTSD"
using APA 7th citation style, 20-30 pagescheck_paper_status
Опрос статуса выполнения и получение ссылок на скачивание по завершении.
Check the status of generation abc123list_my_papers
Просмотр всех ваших предыдущих работ со ссылками на скачивание.
List my last 5 papersПример рабочего процесса
User: Write a paper on the impact of social media on adolescent mental health
Claude: [calls start_paper_generation("impact of social media on adolescent mental health")]
→ Generation started (ID: abc123). Checking back in a few minutes...
[later]
Claude: [calls check_paper_status("abc123")]
→ Status: processing, phase: writing, 65% complete
[later]
Claude: [calls check_paper_status("abc123")]
→ Status: completed! PDF: https://... DOCX: https://...Кредиты
Стоимость работ составляет 1-3 кредита в зависимости от объема:
5-30 страниц: 1 кредит
30-50 страниц: 2 кредита
50-60 страниц: 3 кредита
Новые аккаунты получают бесплатные кредиты. Приобрести дополнительные можно на openpaper.dev.
Available Tools
3 toolscheck_paper_statusA
Check the status and progress of a paper generation.
Args: generation_id: The ID returned by start_paper_generation()
Returns: dict with status, progress percentage, current phase, and download URLs when complete.
Status values:
- "processing": Paper is being generated. Check back in a few minutes.
- "completed": Paper is ready! Download URLs are included.
- "failed": Generation failed. Start a new one.
When completed, the response includes:
- pdf_url: Download the formatted PDF
- docx_url: Download the Word document
- zip_url: Download everything (PDF + DOCX + citations JSON)
- citations_url: Download citations in JSON format
| Name | Required | Description | Default |
|---|---|---|---|
| generation_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It discloses all possible statuses ('processing', 'completed', 'failed'), their meanings, and the structure of the completed response including download URLs. It does not cover error cases beyond 'failed' or mention side effects, but for a polling tool this is reasonably comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Args, Returns, Status values, Completed response). Every sentence adds value. While not excessively long, it could be slightly more concise—for example, merging the 'Returns' section with the status descriptions. Overall, it is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is remarkably complete. It explains the purpose, the parameter source, expected statuses with actionable advice, and the full structure of the completed response. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning the description must compensate. The sole parameter 'generation_id' is explained as 'The ID returned by start_paper_generation()', adding crucial context beyond the schema's title and type. This helps the agent understand how to obtain the correct value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks the status and progress of a paper generation, specifying the resource ('paper generation') and the verb ('check'). It distinguishes itself from sibling tools: 'start_paper_generation' creates a generation and 'list_my_papers' lists existing papers, while this tool checks a specific generation's status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: after calling 'start_paper_generation' to monitor progress. It also advises to start a new one if the status is 'failed'. However, it does not explicitly state when not to use it or mention alternatives. Sibling tools are provided in context but not referenced in usage guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_my_papersA
List your previously generated papers.
Args: limit: Maximum number of papers to return (1-50)
Returns: dict with list of papers including their topics, status, and download URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that only 'previously generated' papers are listed and returns status/URLs. However, it does not mention pagination, sorting, or any side effects. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief with front-loaded purpose. Uses clean docstring format. Could be slightly more structured but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description adequately describes return value (dict with list of papers, topics, status, download URLs). For a simple list tool with one parameter, this is complete enough. Missing error handling or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to the 'limit' parameter beyond the schema, including a valid range (1-50) and explaining it as a maximum. Schema has no descriptions, so this fills a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists the user's previously generated papers. This distinguishes it from siblings like check_paper_status (status checking) and start_paper_generation (creation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_paper_generationA
Start generating an academic research paper with verified citations.
OpenPaper uses 18 specialized AI agents to search 500M+ academic sources (OpenAlex, Crossref, Semantic Scholar) and write a fully-cited paper.
Args: topic: Research topic or question (max 500 chars). Be specific for better results. Examples: "The impact of microplastics on marine ecosystems", "CRISPR applications in treating genetic disorders", "Transformer architectures in natural language processing" level: Academic level. Options: "High School", "Undergraduate", "Graduate", "PhD" pages: Target page range. Options: "5-10", "10-15", "15-20", "20-30", "30-40", "40-50", "50-60" Note: 5-30 pages = 1 credit, 30-50 = 2 credits, 50-60 = 3 credits citation_style: Citation format. Options: "APA 7th", "MLA 9th", "Chicago 17th", "Harvard", "IEEE", "Vancouver" language: Output language (e.g., "English", "Spanish", "French", "German") context: Additional context or instructions for the paper (optional, max 50,000 chars)
Returns: dict with generation_id to track progress via check_paper_status()
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | Graduate | |
| pages | No | 15-20 | |
| topic | Yes | ||
| context | No | ||
| language | No | English | |
| citation_style | No | APA 7th |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses that the tool uses 18 AI agents, searches 500M+ sources, and returns a generation_id for async tracking. It also mentions credit costs for page ranges. However, it omits details on authentication, rate limits, or potential failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with an intro, Args section, and Returns. It is front-loaded with purpose. However, it contains some marketing-like language (e.g., '18 specialized AI agents') that could be trimmed without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no output schema), the description covers all essentials: parameter details, return value, async behavior, and credit costs. It enables an agent to understand what the tool does and how to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates fully. Each parameter is explained with examples, allowed values, and constraints (e.g., topic max 500 chars, context max 50,000 chars). This adds significant meaning beyond the minimal schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Start generating an academic research paper with verified citations.' It uses a specific verb ('start') and resource ('paper generation'), distinguishing it from sibling tools like check_paper_status and list_my_papers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for use (starting a paper) and hints at subsequent steps via the return value (generation_id for check_paper_status). However, it does not explicitly state when not to use this tool or compare it to alternatives, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v0.1.1- First observed
check_paper_status - First observed
list_my_papers - First observed
start_paper_generation
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: starting generation, checking status, and listing papers. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern with underscores, making them predictable and easy to understand.
With only 3 tools, the set is slightly minimal but still covers the core workflow of generating and retrieving papers.
Missing obvious operations like deleting or canceling a paper generation, which agents would likely need for full lifecycle management.
Maintenance
Related MCP Connectors
Scrape arXiv, OpenAlex and Crossref papers by author, topic, journal or DOI. Pay per row.
Academic paper search, scientific literature, citation analysis, arXiv & semantic related-work.
Search 340M+ academic papers — citation graphs, semantic similarity, and AI literature reviews.
Academic literature search, retrieval, and private library management on top of OpenAlex.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI-powered academic research by searching and retrieving research papers from OpenAlex database. Supports searching by keywords/topics and fetching full abstracts for detailed paper analysis.6-
- AlicenseNot gradedqualityCmaintenanceEnables searching and downloading academic papers from multiple sources including arXiv, PubMed, bioRxiv, Google Scholar, and Semantic Scholar. Provides standardized tools for research workflows and OpenAI Deep Research integration.5MIT
- AlicenseAqualityCmaintenanceEnables retrieval of academic paper metadata, PDFs, full text, citations, and references by title via Semantic Scholar, arXiv, and other sources.630 PyPI1MIT
- AlicenseAqualityDmaintenanceAutomates academic research from multi-source search to APA 7 formatted .docx output.14MIT