github re-analysis due

sandraschi/arxiv-mcp

github

FastMcp 3.2 server plus webapp for human/agentic arxiv and doi paper search, rag and store

maintainer
sandraschi
license
MIT
first seen
2026-06-07
last seen
2026-06-08
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · streamable-http · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit c627807 · analyzer v17 · 1d ago

skills & prompt files 6

code evidence vv0.4.0-beta · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 18

  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/app.py :7 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/arxiv_html.py :712 async with aiofiles.open(dest_path, "wb") as fh:
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/capabilities.py :5 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/codehunt_affiliations.py :8 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/codehunt_media_feeds.py :9 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/codehunt_service.py :25 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/codehunt_watch_authors.py :8 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/config.py :3 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/firefront_service.py :8 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/help_content.py :5 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/http.py :11 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/publication_subscriptions.py :10 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/readly_client.py :10 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/runtime_settings.py :7 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :7 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/services/corpus.py :9 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/services/vector_rag.py :14 from pathlib import Path
  • fs sandraschi-arxiv-mcp-c627807/tools/repo_stats.py :14 from pathlib import Path

shell / exec 1

  • shell sandraschi-arxiv-mcp-c627807/tools/repo_stats.py :12 import subprocess

network 15

  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/app.py :543 import httpx
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/arxiv_html.py :12 import urllib.parse
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/brighthand_fetch.py :9 import httpx
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/codehunt_media.py :11 from urllib.parse import quote_plus
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/codehunt_media_feeds.py :13 import httpx
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/codehunt_service.py :28 import httpx
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/doi_resolver.py :24 from urllib.parse import quote
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/http.py :14 import httpx
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/lab_blog.py :23 import httpx
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/pipeline_liveness_service.py :9 import httpx
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/publication_auth_fetch.py :9 import httpx
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/publication_subscriptions.py :12 from urllib.parse import urlparse
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/readly_client.py :13 import httpx
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/services/epistemic_deep.py :11 import httpx
  • net sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/startup_probe.py :8 import httpx

secrets 1

  • secrets sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/brighthand_fetch.py :21 or os.environ.get("ARXIV_MCP_BRIGHTDATA_API_TOKEN")

database 2

  • db sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/codehunt_service.py :22 import sqlite3
  • db sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/services/corpus.py :7 import sqlite3

tool registrations 41

  • search_papers sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :95
  • get_paper_details sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :137
  • fetch_full_text sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :164
  • list_category_latest sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :296
  • find_connected_papers sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :332
  • ingest_paper_to_corpus sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :363
  • analyze_paper_epistemics sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :398
  • ingest_and_analyze_paper sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :422
  • deep_analyze_paper_epistemics sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :438
  • list_depot_by_epistemics sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :479
  • search_depot_corpus sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :504
  • depot_rag_status sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :548
  • reindex_depot_vectors sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :556
  • store_paper_to_calibre sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :565
  • compare_papers_convergence sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :747
  • search sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :786
  • searchAdvanced sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :830
  • getPaper sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :873
  • getContent sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :888
  • getRecent sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :905
  • listCategories sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :921
  • resolve_doi sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :954
  • fetch_doi_content sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :1006
  • arxiv_agentic_assist sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :1115
  • arxiv_sampling_hint sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :1156
  • fetch_lab_post sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :1183
  • list_lab_posts sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :1210
  • fetch_anthropic_post sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :1238
  • list_anthropic_posts sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/server.py :1266
  • run_firefront_scan_tool sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/extensions.py :11
  • run_codehunt_scan_tool sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/extensions.py :51
  • repoll_codehunt_tool sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/extensions.py :86
  • codehunt_stats_tool sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/extensions.py :102
  • check_codehunt_media_tool sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/extensions.py :107
  • pipeline_liveness_tool sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/extensions.py :123
  • arxiv_help sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/extensions.py :130
  • show_citation_graph_card sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/prefab/citation_card.py :37
  • show_depot_rag_status_card sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/prefab/depot_cards.py :17
  • show_depot_stats_card sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/prefab/depot_cards.py :34
  • show_epistemic_profile_card sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/prefab/epistemic_card.py :24
  • show_paper_card sandraschi-arxiv-mcp-c627807/src/arxiv_mcp/tools/prefab/paper_card.py :45

declared dependencies 6

  • fastmcp@>=3.2.0
  • arxiv@>=2.1.0
  • httpx@>=0.27.0
  • beautifulsoup4@>=4.12.0
  • html2text@>=2024.2.26
  • fastapi@>=0.115.0