Grounding AI vs Arxiv MCP Server

A side-by-side look at the Grounding AI and Arxiv MCP Server MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Grounding AI logoGrounding AISearch & Data Extraction · Local subprocess (stdio)Build a searchable index from PDFs, EPUBs, and Word docs. Claude queries it via MCP and pulls grounded answers with exact page-and-section citations. Local-first, no cloud dependency.49FairAuth: no auth requiredArxiv MCP Server logoArxiv MCP ServerSearch & Data Extraction · Local subprocess (stdio)A Model Context Protocol server for searching and analyzing arXiv papers68GreatAuth: no auth required

Verdict: choose Grounding AI for search & data extraction work as a local process; choose Arxiv MCP Server for search & data extraction as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Grounding AI logoChoose Grounding AI when

  • You need dedicated capabilities in the Search & Data Extraction domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
Explore Grounding AI

Arxiv MCP Server logoChoose Arxiv MCP Server when

  • You need dedicated capabilities in the Search & Data Extraction domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like search_papers, download_paper, list_papers.
Explore Arxiv MCP Server

Feature & specification comparison

Rows where the two servers differ are marked.

SpecGrounding AI logoGrounding AIArxiv MCP Server logoArxiv MCP Server
CategorySearch & Data ExtractionSearch & Data Extraction
Quality signal49/100 · Fair68/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNo auth requiredNo auth required
PricingFreeFree
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars13,230
Directory activity 2 views 0 installs 0 upvotes 9 views 0 installs 0 upvotes
ToolsNot listed19

Tools & capabilities

Grounding AI tools

No tool names declared yet. Check the project README from the listing page.

Arxiv MCP Server tools 19

  • search_papersSearch arXiv by query with optional categories, date range, sort, and pagination. Query: prefer quoted phrases; ti:/au:/abs:/cat:; AND/OR/ANDNOT. Unprefixed terms match title+abstract (not authors). Use categories (cs.AI, cs.LG, cs.CL, cs.CV, cs.MA, cs.RO, stat.ML, quant-ph). Catalog/examples: README 'search_papers query guide'. Dates YYYY-MM-DD (date_from/date_to). sort_by relevance|date. max_results default 5 (cap 50). abstract_mode none|snippet|full (default snippet). start default 0; response: total_results, returned, has_more, next_start, abstract_mode. Pass next_start with same abstract_mode. Use get_abstract after compact search — not after abstract_mode=full. arXiv ~3s between requests (server-side). Transient 429/503 are retried with backoff; persistent rate limits return status=rate_limited.
  • download_paperDownload a paper from arXiv and return its text content. Tries the HTML version first for clean extraction; falls back to PDF conversion if HTML is unavailable. Stores the paper locally. Returned text is bounded to roughly 12,000 characters by default so one call cannot return an unbounded paper body. When is_truncated is true, call again with start=next_start (see next_retrieval) to continue, or pass return_full_text=true for the entire remaining paper. Set force=true to re-fetch and overwrite a cached paper (required to replace a newer stored arXiv version with an older one).
  • list_papersList all papers that have been downloaded and stored locally via download_paper. Returns id, title, authors, published, and arxiv_version/versioned_id from local metadata — no live re-fetch. Set compact=true to return arXiv IDs only. Returns an empty list if no papers have been downloaded yet. Workflow: search_papers -> download_paper -> list_papers -> read_paper.
  • read_paperRead the text content of a paper that was previously downloaded via download_paper. Returns the paper in markdown format, bounded to roughly 12,000 characters by default so one call cannot return an unbounded paper body. When is_truncated is true, call again with start=next_start (see next_retrieval) to continue, or pass return_full_text=true for the entire remaining paper. Will fail with a clear error if the paper has not been downloaded yet — call download_paper first. Workflow: search_papers -> download_paper -> read_paper.
  • get_abstractFetch abstract and metadata by arXiv ID without downloading the paper. Use before download_paper to assess relevance. Returns title, authors, abstract, categories, published date, and PDF URL. After compact search, use for one full abstract; skip if search used abstract_mode=full.
  • semantic_searchSemantic similarity search over papers you have already downloaded locally via download_paper. Supports free-text queries (e.g. 'attention mechanisms for long sequences') or finding papers similar to a given paper_id. IMPORTANT: only searches your local downloaded collection — will return empty results if no papers have been downloaded yet. Use search_papers to find papers on arXiv, then download_paper to add them to the local index before using this tool. Requires pro dependencies: uvx --from 'arxiv-mcp-server[pro]' arxiv-mcp-server (or uv tool install 'arxiv-mcp-server[pro]').
  • reindexRebuild the local semantic index for downloaded papers.
  • citation_graphReturn papers citing an arXiv paper and papers that it references using Semantic Scholar's citation graph. Results are bounded (default 50) to stay within the unauthenticated quota. Under load, export SEMANTIC_SCHOLAR_API_KEY for a higher limit; without a key, persistent rate limits return status=rate_limited instead of failing hard.
  • export_citationsExport BibTeX citations for one or more arXiv papers using authoritative arXiv metadata (title, authors, year, primary category), never model-generated fields. Version suffixes (e.g. '2401.12345v2') are preserved and citation keys are deterministic. Returns the rendered BibTeX plus per-paper status/error. BibTeX only; RIS/CSL-JSON are not yet supported.
  • watch_topicSave or update a persistent research topic watch. When checked via check_alerts, returns only papers published since the last check — acting as a standing alert for new work on a topic. New watches seed last_checked to creation time so the first check does not dump historical matches. The topic string uses the same query syntax as search_papers (quoted phrases, field specifiers, boolean operators). Examples: '"diffusion models" AND ti:"video generation"', 'au:"LeCun" AND cs.LG'. Calling watch_topic with the same topic string updates the existing watch rather than creating a duplicate. On update, omit categories to preserve existing filters; pass categories: [] to clear them. Pair with check_alerts to poll for new papers.
  • check_alertsCheck all saved topic watches for newly published papers since the last check. Omitting the topic parameter runs ALL saved watches and returns new papers for each. Passing a topic string checks only that specific watch. Advances each watch's drain cursor after running: when a page is truncated by max_results, has_more=true and check_start advances so later calls return the next papers in the same window (Atom date bounds alone are day-granular and would otherwise re-hit the boundary); last_checked tracks the newest returned paper. When the page is not full, last_checked becomes now and the drain cursor resets. Use watch_topic to register topics before calling this. Returns a clear not-found error if a topic is provided but no matching watch exists. Returns a summary with new paper counts, has_more, and full paper metadata per topic.
  • list_watchesList all saved topic watches without checking for new papers. Returns each watch's topic, categories, last_checked timestamp, and other stored fields. Does not update last_checked — use this to inspect what is saved. Use unwatch_topic to remove a watch, or check_alerts to poll for new papers.
  • +7 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Grounding AI

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "andyliszewski-grounding-ai": {
      "command": "uvx",
      "args": [
        "grounding-ai"
      ]
    }
  }
}

Arxiv MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "blazickjp-arxiv-mcp-server": {
      "command": "uvx",
      "args": [
        "arxiv-mcp-server"
      ]
    }
  }
}

Frequently asked questions

Grounding AI is categorized under Search & Data Extraction and uses a local stdio subprocess. Arxiv MCP Server belongs to Search & Data Extraction and uses a local stdio subprocess. Pick Grounding AI for search & data extraction work and Arxiv MCP Server for search & data extraction.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Grounding AI is listed as free. Auth: no auth required. Arxiv MCP Server is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add andyliszewski-grounding-ai and blazickjp-arxiv-mcp-server as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Grounding AI has a quality signal of 49/100 (Fair) with 2 views, 0 installs and 1 GitHub stars. Arxiv MCP Server has 68/100 (Great) with 9 views, 0 installs and 3,230 GitHub stars.