Download mcp/arxiv.py from mgbam/MCP_Res: direct link, hf CLI and curl.
- Browser
- Download file 915 Bytes
-
https://huggingface.co/spaces/mgbam/MCP_Res/resolve/0dab0c08ffda851a112d05cdfe0364d5f93fa139/mcp/arxiv.py
- Command line
-
hf download hf://spaces/mgbam/MCP_Res@0dab0c08ffda851a112d05cdfe0364d5f93fa139/mcp/arxiv.py
-
curl -L -o arxiv.py https://huggingface.co/spaces/mgbam/MCP_Res/resolve/0dab0c08ffda851a112d05cdfe0364d5f93fa139/mcp/arxiv.py
915 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": getattr(entry, "title", ""), | |
| "authors": ", ".join([a.name for a in getattr(entry, "authors", [])]) if hasattr(entry, 'authors') else "", | |
| "summary": getattr(entry, "summary", ""), | |
| "link": getattr(entry, "link", ""), | |
| "published": entry.get("published", "") if hasattr(entry, 'get') else getattr(entry, "published", ""), | |
| "source": "arXiv" | |
| }) | |
| return results | |