MCP_Res / mcp /arxiv.py
mgbam's picture
Update mcp/arxiv.py
3036ad5 verified
raw
history blame
819 Bytes
# mcp/arxiv.py
import feedparser
from urllib.parse import quote_plus
ARXIV_BASE = "http://export.arxiv.org/api/query?search_query="
async def fetch_arxiv(query: str, max_results: int = 5):
"""Fetch latest arXiv papers for the query."""
encoded_query = quote_plus(query)
search_url = f"{ARXIV_BASE}{encoded_query}&max_results={max_results}"
feed = feedparser.parse(search_url)
results = []
for entry in feed.entries:
results.append({
"title": entry.title,
"authors": ", ".join([a.name for a in entry.authors]) if hasattr(entry, 'authors') else "",
"summary": entry.summary,
"link": entry.link,
"published": entry.get("published", ""), # <--- THIS FIXES THE ERROR!
"source": "arXiv"
})
return results