Zotero MCP
Annota — AI 기반 논문 주석 보조 도구
PDF 라이브러리를 지능형 연구 보조 도구로 바꿔보세요.
AI가 논문을 읽고, 주요 연구 결과를 강조 표시하며, 공식을 설명하고, 구조화된 노트를 작성하여 참조 관리자에 다시 저장합니다.
기능 · 빠른 시작 · 사용 예시 · 스크린샷 · 로드맵
무엇을 할 수 있나요?
요청 내용 | AI 수행 작업 |
"고급 요약에서 발견된 결과 강조" | 초록을 읽고 발견된 결과를 식별하여 녹색으로 강조 표시 |
"3페이지의 공식 설명해줘" | 공식을 추출하고 주석 노트로 설명을 추가 |
"구조화된 독서 노트 작성" | 기여, 방법, 결과, 한계점이 포함된 노트를 생성하여 라이브러리에 저장 |
"MICRO 리뷰어 관점에서 검토" | 점수와 실행 가능한 피드백이 포함된 구조화된 리뷰 생성 |
AI가 논문을 읽고 → 내용을 이해하며 → 정확한 주석을 생성합니다
AI가 주요 발견, 방법, 결론이 포함된 구조화된 독서 요약을 생성합니다
Related MCP server: Zotero MCP Server
✨ 주요 기능
9가지 MCP 도구
도구 | 기능 |
| 제목 / 저자 / 키워드로 검색 |
| 최근 항목 탐색 |
| 저자, 연도, 학술지, DOI 가져오기 |
| 전체 텍스트 추출 (좌표 없음, 빠름) |
| 텍스트 + 정확한 좌표 추출 |
| 기존 주석 보기 |
| 강조 / 밑줄 생성 |
| 한 번에 여러 주석 생성 |
| 항목에 노트 추가 |
3가지 Claude Code 스킬 (슬래시 명령어)
명령어 | 기능 |
| 의미론적 색상 코딩을 사용한 스마트 주석 |
| 라이브러리에 저장되는 구조화된 독서 노트 |
| 채점 기준표를 사용한 모의 동료 심사 |
스마트한 설계
2단계 워크플로우 — 먼저 전체 텍스트를 읽고(저비용), 대상 문장에 대해서만 좌표를 가져옵니다(정밀). 컨텍스트 사용량을 63~80% 절감합니다.
참고문헌 자동 건너뛰기 — "References" 섹션을 감지하여 건너뜁니다. 21페이지 논문에서 13페이지 분량만 추출합니다.
일괄 주석 — 10번의 API 호출 대신 1번의 호출로 10개의 강조 표시를 생성합니다.
친절한 오류 메시지 — 실패 시 충돌 대신 유용한 메시지를 반환합니다.
🚀 빠른 시작 (3분)
1단계: 복제 및 설치
git clone https://github.com/dengls24/annota.git
cd annota
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS / Linux:
# source .venv/bin/activate
pip install pymupdf mcp2단계: Claude Code 구성
~/.claude.json에 추가 (또는 Claude Code 설정 > MCP Servers를 통해):
Windows:
{
"mcpServers": {
"annota": {
"command": "C:/path/to/annota/.venv/Scripts/python.exe",
"args": ["C:/path/to/annota/annota/server.py"],
"env": {
"ZOTERO_DATA_DIR": "C:/Users/YourName/Zotero"
}
}
}
}macOS / Linux:
{
"mcpServers": {
"annota": {
"command": "/path/to/annota/.venv/bin/python",
"args": ["/path/to/annota/annota/server.py"],
"env": {
"ZOTERO_DATA_DIR": "/Users/YourName/Zotero"
}
}
}
}Zotero 데이터 디렉토리 찾기:
Windows: Zotero → 편집 → 설정 → 고급 → 데이터 디렉토리 위치 (기본값:
C:\Users\사용자명\Zotero)macOS: Zotero → 설정 → 고급 → 데이터 디렉토리 위치 (기본값:
~/Zotero)Linux: 기본값
~/Zotero
3단계: 사용하기
Claude와 자연스럽게 대화하세요:
# One command to read a full paper:
/annota-read "path/to/paper.pdf"
# Or natural language:
# Highlight the findings in this paper's abstract in green
"/Users/yourname/Zotero/storage/ABCD1234/paper.pdf"또는 슬래시 명령어를 사용하세요:
/annota-read "path/to/paper.pdf"
/annota-annotate "path/to/paper.pdf"
/annota-summarize "path/to/paper.pdf"
/annota-review "path/to/paper.pdf" ISCAmacOS 경로 팁: Finder에서 터미널로 파일을 드래그하여 전체 경로를 가져오거나, 우클릭 → "경로 이름으로 복사"를 사용하세요.
(선택 사항) 스킬 전역 설치
# Make skills available in all projects
cp -r .claude/skills/ ~/.claude/skills/📖 사용 예시
예시 1: 주요 발견 강조
입력:
把这篇论文摘要中的发现结果用绿色标出来
(Highlight the findings in this paper's abstract in green)
"E:\Zotero\storage\ABCD1234\Song et al. - 2025 - AI washing.pdf"결과:
AI가 초록에서 발견된 결과를 식별하고 녹색으로 강조 표시합니다
예시 2: 가설 및 이론 주석
입력:
标注论文中的假设(H1, H2),并用中文解释每个假设的理论基础
(Annotate the hypotheses (H1, H2) and explain the theoretical basis of each in Chinese)결과:
가설은 노란색으로 강조 표시되며, 기본 이론에 대한 중국어 설명 노트가 포함됩니다
예시 3: 공식 설명
입력:
解释论文中的核心公式,添加中文注释
(Explain the key formulas in this paper, add Chinese annotations)결과:
DID 모델 공식이 중국어 변수 설명과 함께 주석 처리되었습니다
예시 4: 정책적 시사점 및 결론 노트
입력:
标注结论部分的政策启示,添加中文总结笔记
(Highlight policy implications in the conclusion, add a Chinese summary note)결과:
결론이 구조화된 정책적 시사점 노트와 함께 강조 표시되었습니다
예시 5: 전체 논문 독서 노트
입력:
/annota-summarize "path/to/paper.pdf"결과:
AI가 주제, 연구 질문, 방법, 주요 발견, 시사점을 포함한 완전한 독서 요약을 생성합니다
예시 6: 상세한 문단별 노트
입력:
逐段阅读这篇论文,为每个重要段落添加中文批注
(Read this paper paragraph by paragraph, add Chinese annotations to each important section)결과:
각 중요한 문단마다 내용을 설명하는 중국어 주석이 생성됩니다
예시 7: AI 워크플로우 작동 모습
논문을 처리할 때 Claude Code의 모습입니다:
Claude가 작업 목록을 만들고, PDF를 읽고, MCP 도구를 호출하여 단계별로 주석을 생성합니다
🎨 색상 규칙
색상 | 코드 | 용도 |
🟡 노란색 |
| 기본 / 일반 강조 |
🟢 녹색 |
| 결과, 발견, 데이터 |
🔵 파란색 |
| 방법, 정의, 알고리즘 |
🔴 빨간색 |
| 한계, 이슈, 문제점 |
🟣 보라색 |
| 기여, 참신함 |
⚡ 대용량 PDF 처리 방법
10페이지가 넘는 논문의 경우, 2단계 워크플로우를 통해 컨텍스트 오버플로우를 방지합니다:
Phase 1 — Understand (lightweight)
get_pdf_text_bulk(pdf, skip_refs=True)
→ Full text without coordinates
→ AI identifies which sentences to annotate
Phase 2 — Annotate (precise)
get_pdf_layout_text(pdf, target_page_only)
→ Coordinates for 1–2 target pages
batch_annotate(pdf, all_annotations)
→ Write everything in one call실제 성능:
논문 | 페이지 | 기존 방식 | 새로운 방식 | 절감률 |
학회 논문 | 2페이지 | 41 KB 좌표 | 15 KB 텍스트 | 63% |
저널 논문 | 21페이지 | 21페이지 추출 | 13페이지 (13페이지부터 참조 건너뜀) | 38% |
서베이 논문 | 19페이지 | 19페이지 추출 | 10페이지 (10페이지부터 참조 건너뜀) | 47% |
📁 프로젝트 구조
annota/
├── annota/ # MCP Server (Python)
│ ├── server.py # 9 tool registrations
│ ├── zotero_db.py # SQLite read/write layer
│ ├── pdf_tools.py # PyMuPDF text extraction
│ └── config.py # Constants & configuration
├── .claude/skills/ # Claude Code Skills
│ ├── annota-annotate/SKILL.md # /annota-annotate
│ ├── annota-summarize/SKILL.md # /annota-summarize
│ └── annota-review/SKILL.md # /annota-review
├── docs/ # Design documents
│ ├── annota-guide.md # Usage guide (CN)
│ ├── large-pdf-design.md # Large PDF handling design
│ ├── dev-notes.md # Pitfalls & solutions
│ └── commercial-plan.md # Commercialization plan
├── assets/ # Screenshots
└── README.md⚠️ 알려진 한계 및 면책 조항
데이터베이스 직접 액세스: Annota는 Zotero SQLite 데이터베이스에 직접 주석을 작성하며, 이는 Zotero의 내부 일관성 메커니즘을 우회합니다. 이는 외부 서비스에 의존하지 않고 완전히 오프라인, 로컬 우선 주석 워크플로우를 가능하게 하기 위한 설계 선택입니다. 사용자는 자신의 데이터베이스에 대한 책임이 있습니다. 사용 전
zotero.sqlite를 백업하십시오. 향후 버전에서는 공식 Zotero Web API / Local API로 마이그레이션할 계획입니다.
한계 | 해결 방법 | 계획된 수정 |
직접 SQLite 쓰기 (공식 지원 안 됨) | 사용 전 데이터베이스 백업 | Zotero Local API / Web API로 마이그레이션 |
쓰기 작업 시 Zotero 종료 필요 | 주석 작성 전 Zotero 종료 | 로컬 API 브리지 |
참조문헌 감지는 휴리스틱 방식 | 필요 시 | 휴리스틱 개선 |
주로 Windows에서 테스트됨 | macOS/Linux에서도 작동해야 함 (경로 자동 감지) | 커뮤니티 테스트 환영 |
🗺 로드맵
[ ] Zotero Local API / Web API — 더 안전한 쓰기를 위해 직접 SQLite에서 공식 API로 마이그레이션
[ ] 더 많은 스킬 —
/compare-papers,/extract-tables,/literature-map[ ] 프롬프트 템플릿 마켓플레이스 — 주석 규칙 공유 및 재사용
[ ] 팀 기능 — 연구 그룹을 위한 공유 주석 표준
[ ] 멀티 백엔드 — Adobe Acrobat, Endnote 및 기타 PDF 도구 지원
🤝 기여하기
이슈와 PR은 언제나 환영합니다! 새로운 스킬이나 도구에 대한 아이디어가 있다면 이슈를 열어주세요.
📄 라이선스
MIT — 연구 및 상업적 프로젝트에 자유롭게 사용하세요.
MCP + Claude Code로 제작됨
이 프로젝트가 연구에 도움이 되었다면 ⭐를 눌러주세요
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
- AlicenseAqualityDmaintenanceEnables AI assistants to search, read, and manage Zotero references locally with customizable research workflows.94MIT
- FlicenseBqualityDmaintenanceEnables AI assistants to search, cite, and manage research references directly from a Zotero library.96
- AlicenseAqualityAmaintenanceConnects Zotero and Obsidian for an AI-assisted academic reading workflow, enabling paper fetching, structured note creation, highlight syncing, and review management.10MIT
- Alicense-qualityBmaintenanceEnables natural language interaction with Zotero libraries, allowing users to search, retrieve, and update papers and metadata via AI assistants like Claude and Gemini.1GPL 2.0
Related MCP Connectors
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Federated search of books and papers, BibTeX/RIS citations, open-access retrieval and reading.
Voice-led, FSRS-scheduled flashcards from YouTube, PDFs, web, or text. Auto-graded quizzes.
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/dengls24/annota'
If you have feedback or need assistance with the MCP directory API, please join our Discord server