openpaper-mcp
OpenPaper MCP 서버
Claude Desktop 또는 모든 MCP 클라이언트에서 인용이 포함된 학술 연구 논문을 생성하세요.
OpenPaper는 18개의 전문 AI 에이전트를 사용하여 5억 개 이상의 학술 소스(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