A flexible arXiv search and analysis service with MCP protocol support
Server has 4 tools with complete schemas and descriptions. search_papers has exceptionally detailed guidance (1000+ chars) but violates the pattern by embedding examples and implementation details in the description rather than using enums/constraints. Schemas are present and typed, but parameter descriptions vary in quality. download_paper, list_papers, and read_paper have minimal descriptions (under 50 chars). No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels. Error handling is generic (catch-all exception handler returns plain text). Output schemas are not documented. Missing idempotency guidance for download_paper (WRITE operation).
Download a paper and create a resource for it
List all existing papers available as resources
Read the full content of a stored paper in markdown format
Search for papers on arXiv with advanced filtering and query optimization. QUERY CONSTRUCTION GUIDELINES: - Use QUOTED PHRASES for exact matches: "multi-agent systems", "neural networks", "machine learning" - Combine related concepts with OR: "AI agents" OR "software agents" OR "intelligent agents" - Use field-specific searches for precision: - ti:"exact title phrase" - search in titles only - au:"author name" - search by author - abs:"keyword" - search in abstracts only - Use ANDNOT to exclude unwanted results: "machine learning" ANDNOT "survey" - For best results, use 2-4 core concepts rather than long keyword lists ADVANCED SEARCH PATTERNS: - Field + phrase: ti:"transformer architecture" for papers with exact title phrase - Multiple fields: au:"Smith" AND ti:"quantum" for author Smith's quantum papers - Exclusions: "deep learning" ANDNOT ("survey" OR "review") to exclude survey papers - Broad + narrow: "artificial intelligence" AND (robotics OR "computer vision") CATEGORY FILTERING (highly recommended for relevance): - cs.AI: Artificial Intelligence - cs.MA: Multi-Agent Systems - cs.LG: Machine Learning - cs.CL: Computation and Language (NLP) - cs.CV: Computer Vision - cs.RO: Robotics - cs.HC: Human-Computer Interaction - cs.CR: Cryptography and Security - cs.DB: Databases EXAMPLES OF EFFECTIVE QUERIES: - ti:"reinforcement learning" with categories: ["cs.LG", "cs.AI"] - for RL papers by title - au:"Hinton" AND "deep learning" with categories: ["cs.LG"] - for Hinton's deep learning work - "multi-agent" ANDNOT "survey" with categories: ["cs.MA"] - exclude survey papers - abs:"transformer" AND ti:"attention" with categories: ["cs.CL"] - attention papers with transformer abstracts DATE FILTERING: Use YYYY-MM-DD format for historical research: - date_to: "2015-12-31" - for foundational/classic work (pre-2016) - date_from: "2020-01-01" - for recent developments (post-2020) - Both together for specific time periods RESULT QUALITY: Results sorted by RELEVANCE (most relevant papers first), not just newest papers. This ensures you get the most pertinent results regardless of publication date. TIPS FOR FOUNDATIONAL RESEARCH: - Use date_to: "2010-12-31" to find classic papers on BDI, SOAR, ACT-R - Combine with field searches: ti:"BDI" AND abs:"belief desire intention" - Try author searches: au:"Rao" AND "BDI" for Anand Rao's foundational BDI work
search_papers description embeds implementation examples ('ti:"reinforcement learning"', 'au:"Hinton"') instead of using enum constraints. LLMs latch onto example values and reuse them literally, causing hallucinated queries.
download_paper and list_papers have descriptions under 50 characters ('Download a paper and create a resource for it', 'List all existing papers available as resources'). These lack context for when/why to call them and do not explain the WRITE side effect of download_paper.
No tool annotations despite clear risk levels: search_papers and read_paper are READ_ONLY; download_paper is WRITE (destructive/stateful). Missing readOnlyHint and destructiveHint annotations prevent agents from reasoning about safety and retry semantics.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | <=2025-11-25 | v2 |
Error handling is generic: all tools catch exceptions and return plain-text error messages. No categorization (retryable vs user-fixable vs fatal), no actionable recovery guidance, no invalid-value echoing. LLM cannot determine next step.
Output schemas are not documented. Callers cannot know what fields search_papers returns, whether pagination is supported, or what structure download_paper produces. Forces LLMs to guess downstream field names.