MCP_Res / mcp /arxiv.py
mgbam's picture
Update mcp/arxiv.py
83ccb99 verified
raw
history blame
774 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) # Ensures spaces become +, etc.
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]),
"summary": entry.summary,
"link": entry.link,
"published": entry.published,
"source": "arXiv"
})
return results