Fetch ArXiv Papers
Fetch and store AI/ML research papers from arXiv with deduplication.
When to Use
Use this skill when you need to:
- Collect recent AI/ML research papers from arXiv
- Store papers in memory for later analysis
- Avoid processing duplicate papers
Instructions
Step 1: Define ArXiv Categories
Target these arXiv categories for AI/ML papers:
cs.AI - Artificial Intelligence
cs.LG - Machine Learning
cs.CL - Computation and Language (NLP)
cs.CV - Computer Vision
cs.NE - Neural and Evolutionary Computing
Step 2: Fetch ArXiv RSS Feeds
Use the rss tool to fetch papers from each category feed.
Feed URL pattern:
https://export.arxiv.org/rss/{category}
- Example:
https://export.arxiv.org/rss/cs.AI
For each feed:
- Call the
rss tool with the feed URL
- Extract: title, link (abstract URL), description (abstract), dc:creator (authors), published date
- Parse the arXiv ID from the link URL (e.g.,
2401.12345 from https://arxiv.org/abs/2401.12345)
Step 3: Check for Duplicates
For each paper from the feeds:
Check if already seen:
- Call
memory/check_seen with key=arXiv ID, namespace="news/papers"
- If seen=true, skip this paper
Validate required fields:
- Paper must have: title, arXiv ID, abstract
- Skip papers missing required fields
Step 4: Store New Papers
For each new (unseen) paper:
Store in memory:
- Call
memory/add with:
- type: "document"
- namespace: "news/papers"
- data: {arxiv_id, title, authors, abstract, categories, published_date, pdf_url, abstract_url}
- metadata: {fetched_at, source_category}
Mark as seen:
- Call
memory/mark_seen with:
- key: arXiv ID
- namespace: "news/papers"
- ttl_seconds: 2592000 (30 days)
Step 5: Return Results
Return a summary including:
- Number of papers stored
- Number of duplicates skipped
- Number of categories processed
- Any failed feeds
Tool Usage Guidance
rss tool
- Use to fetch arXiv RSS feed content
- Handles XML parsing and entry extraction
- Returns list of entries with title, link, description, published
memory/check_seen
- Call before processing each paper
- Key should be the arXiv ID (e.g., "2401.12345")
- Returns {seen: true/false}
memory/add
- Store each new paper
- Include all extracted metadata
- Type should be "document"
memory/mark_seen
- Call after successfully storing
- Use 30-day TTL for papers (longer than news articles)
Paper Data Schema
{
"arxiv_id": "2401.12345",
"title": "Advances in Large Language Model Reasoning",
"authors": ["Alice Smith", "Bob Jones"],
"abstract": "We present a novel approach to...",
"categories": ["cs.AI", "cs.CL"],
"published_date": "2026-01-25",
"pdf_url": "https://arxiv.org/pdf/2401.12345.pdf",
"abstract_url": "https://arxiv.org/abs/2401.12345"
}
Error Handling
- If a feed fails to fetch, log the error and continue with other feeds
- If memory operations fail, log but don't crash
- Return partial results if some feeds succeed
Success Criteria
- At least one category feed successfully fetched
- New papers stored in memory
- Duplicates correctly identified and skipped by arXiv ID
- Failed feeds logged but don't stop collection
1---2name: fetch-arxiv-papers3description: Fetch recent AI/ML research papers from arXiv RSS feeds and store them in memory. Uses RSS tool for fetching and memory MCP for storage and deduplication.4license: MIT5---6
7# Fetch ArXiv Papers
8
9Fetch and store AI/ML research papers from arXiv with deduplication.
10
11## When to Use
12
13Use this skill when you need to:
14- Collect recent AI/ML research papers from arXiv
15- Store papers in memory for later analysis
16- Avoid processing duplicate papers
17
18## Instructions
19
20### Step 1: Define ArXiv Categories
21
22Target these arXiv categories for AI/ML papers:
23- `cs.AI` - Artificial Intelligence
24- `cs.LG` - Machine Learning
25- `cs.CL` - Computation and Language (NLP)
26- `cs.CV` - Computer Vision
27- `cs.NE` - Neural and Evolutionary Computing
28
29### Step 2: Fetch ArXiv RSS Feeds
30
31Use the `rss` tool to fetch papers from each category feed.
32
33**Feed URL pattern:**
34- `https://export.arxiv.org/rss/{category}`
35- Example: `https://export.arxiv.org/rss/cs.AI`
36
37**For each feed:**
381. Call the `rss` tool with the feed URL
392. Extract: title, link (abstract URL), description (abstract), dc:creator (authors), published date
403. Parse the arXiv ID from the link URL (e.g., `2401.12345` from `https://arxiv.org/abs/2401.12345`)
41
42### Step 3: Check for Duplicates
43
44For each paper from the feeds:
45
461. **Check if already seen:**
47 - Call `memory/check_seen` with key=arXiv ID, namespace="news/papers"
48 - If seen=true, skip this paper
49
502. **Validate required fields:**
51 - Paper must have: title, arXiv ID, abstract
52 - Skip papers missing required fields
53
54### Step 4: Store New Papers
55
56For each new (unseen) paper:
57
581. **Store in memory:**
59 - Call `memory/add` with:
60 - type: "document"
61 - namespace: "news/papers"
62 - data: {arxiv_id, title, authors, abstract, categories, published_date, pdf_url, abstract_url}
63 - metadata: {fetched_at, source_category}
64
652. **Mark as seen:**
66 - Call `memory/mark_seen` with:
67 - key: arXiv ID
68 - namespace: "news/papers"
69 - ttl_seconds: 2592000 (30 days)
70
71### Step 5: Return Results
72
73Return a summary including:
74- Number of papers stored
75- Number of duplicates skipped
76- Number of categories processed
77- Any failed feeds
78
79## Tool Usage Guidance
80
81### rss tool
82- Use to fetch arXiv RSS feed content
83- Handles XML parsing and entry extraction
84- Returns list of entries with title, link, description, published
85
86### memory/check_seen
87- Call before processing each paper
88- Key should be the arXiv ID (e.g., "2401.12345")
89- Returns {seen: true/false}
90
91### memory/add
92- Store each new paper
93- Include all extracted metadata
94- Type should be "document"
95
96### memory/mark_seen
97- Call after successfully storing
98- Use 30-day TTL for papers (longer than news articles)
99
100## Paper Data Schema
101
102```json
103{
104 "arxiv_id": "2401.12345",
105 "title": "Advances in Large Language Model Reasoning",
106 "authors": ["Alice Smith", "Bob Jones"],
107 "abstract": "We present a novel approach to...",
108 "categories": ["cs.AI", "cs.CL"],
109 "published_date": "2026-01-25",
110 "pdf_url": "https://arxiv.org/pdf/2401.12345.pdf",
111 "abstract_url": "https://arxiv.org/abs/2401.12345"
112}
113```
114
115## Error Handling
116
117- If a feed fails to fetch, log the error and continue with other feeds
118- If memory operations fail, log but don't crash
119- Return partial results if some feeds succeed
120
121## Success Criteria
122
123- At least one category feed successfully fetched
124- New papers stored in memory
125- Duplicates correctly identified and skipped by arXiv ID
126- Failed feeds logged but don't stop collection