# `de.brunosan/arxiv` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/de.brunosan/arxiv
- JSON: https://anlyon.dev/api/v1/servers/de.brunosan/arxiv
- Version: 1.0.0 (active)
- Publisher: de.brunosan (domain proven to the MCP Registry)
- Runs: remote (streamable-http)
- Sign-in to list tools: none
- Metadata from the official MCP Registry, synced 2026-10-21T18:11:28.885Z

Title and description, as the publisher wrote them:

```untrusted-server-text
BrunoSan ArXiv Intelligence
AI research intelligence for AI, ML, NLP, vision and robotics with citations and entity graphs.
```

Scanned 2026-10-21T18:58:22.601Z over streamable-http.

**16 tools: 11 change things and 5 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 0 | ask |
| Changes things | write | 11 | ask |
| Only reads | read | 5 | allow |

## Findings

No check matched anything in these tool definitions.


## Changes things (11)

Creates or changes something that can be changed back. Claude Code: ask.

### `arxiv_author_papers`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text

    All papers by a researcher, with their position on each paper.

    Uses fuzzy name matching (LIKE) to handle name variations.
    Returns papers sorted newest first.

    Args:
        author_name: Researcher name, e.g. 'Yann LeCun', 'lecun' (partial match works)
        limit:       Max results (default: 20, max: 50)
    
```

### `arxiv_citation_network`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text

    Citation graph for a paper — who cites it, or what does it cite?

    direction='cited_by': Papers in our database that cite this paper.
    direction='citing':   Papers that this paper cites (its references).
    depth=2: Expands one hop further (depth-2 neighbors). Hard cap: 200 total.

    Args:
        arxiv_id:  ArXiv paper ID, e.g. '2402.01234'
        direction: 'cited_by' (inbound) or 'citing' (outbound, default: cited_by)
        depth:     Graph depth: 1 or 2 (default: 1)
    
```

### `arxiv_co_occurrence`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text

    Papers that mention BOTH entity A and entity B.

    Answers questions like:
    - 'Which papers use both GPT-4 and RLHF?'
    - 'Where do LoRA and MMLU appear together?'
    - 'Papers combining RAG and Chain-of-Thought?'

    The intersection reveals research that explicitly bridges two concepts.

    Args:
        entity_a:  First entity name, e.g. 'GPT-4', 'LoRA', 'MMLU'
        entity_b:  Second entity name, e.g. 'RLHF', 'Chain-of-Thought'
        date_from: ISO date filter
        date_to:   ISO date filter
        limit:     Max results (default: 20, max: 50)
    
```

### `arxiv_entity_trend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text

    How often is an entity mentioned over time?

    Shows the rise (or fall) of a benchmark, model, method, or dataset
    across the research literature — per month, quarter, or year.

    Example: 'LoRA' — watch it explode in 2023-2024.
    Example: 'BERT' — watch it decline as LLMs dominate.

    Args:
        entity_name:  Entity to track, e.g. 'LoRA', 'MMLU', 'RAG', 'GPT-4'
        granularity:  Time grouping: month (default), quarter, year
    
```

### `arxiv_institution_ranking`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text

    Institution ranking by paper count.

    Primary signal: author_affiliations extracted from ArXiv HTML.
    Secondary signal (include_github_orgs=True): adds GitHub org counts
    as a complementary signal. Many papers have no affiliation in HTML
    but do have a GitHub org link — combining both gives a fuller picture.

    Note: affiliation data is extracted from HTML and may be incomplete
    (fetch completion is reported live by arxiv_pipeline_status; extraction quality is a separate signal).

    Args:
        date_from:           ISO date filter
        date_to:             ISO date filter
        include_github_orgs: Also show GitHub org ranking as second signal
        limit:               Max results (default: 20, max: 50)
    
```

### `arxiv_most_cited`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text

    Most cited papers — ranked by inbound citation count.

    This answers the question every researcher, VC, and journalist asks first:
    'What are the most influential papers in AI right now?'

    Counts how many papers in our database cite each target paper.
    Only papers with resolvable ArXiv IDs in their references are counted.

    Args:
        category:  Filter citing papers by category (optional)
        date_from: Only count citations from papers published from this date
        date_to:   Only count citations from papers published until this date
        limit:     Max results (default: 20, max: 50)
    
```

### `arxiv_repo_landscape`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text

    GitHub repository landscape — which orgs and repos produce research code?

    Shows the open-source output of the research community.
    'openai', 'google-deepmind', 'microsoft', 'huggingface' etc. ranked by
    how many papers link to their repos.

    org_filter='huggingface' shows all HuggingFace repos with papers.

    Args:
        org_filter: Filter to a specific GitHub org, e.g. 'openai', 'google-deepmind'
        date_from:  Only papers published from this date
        date_to:    Only papers published until this date
        limit:      Max results per ranking (default: 20, max: 50)
    
```

### `arxiv_top_authors`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text

    Top researchers ranked by paper count, with role filter.

    role='last_author' is the PI filter — finds lab directors and group leaders
    who drive research agendas. In academic AI, the last author IS the boss.
    role='first_author' finds the PhD students and postdocs doing the work.
    role='any' counts all papers regardless of position.

    Args:
        role:      Author position filter: any (default), first_author, last_author
        category:  Filter by primary category: cs.AI, cs.LG, cs.CL, cs.CV, cs.RO
        date_from: ISO date filter, e.g. '2024-01-01'
        date_to:   ISO date filter, e.g. '2025-12-31'
        limit:     Max results (default: 20, max: 50)
    
```

### `arxiv_top_entities`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text

    Entity ranking by mention count across all papers.

    title_only=True is a powerful relevance filter:
    a paper mentioning MMLU in the title IS about MMLU,
    not just using it as one of many benchmarks.

    Args:
        type:       Filter by entity type: benchmark, model, method, dataset (optional, default: all)
        date_from:  Only count mentions in papers published from this date
        date_to:    Only count mentions in papers published until this date
        title_only: Only count mentions where entity appears in the paper title
        limit:      Max results (default: 20, max: 50)
    
```

### `arxiv_track_papers`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
Chronological papers inside one stable research track.

    Args:
        track: Track slug or exact name, e.g. 'ai-agents' or 'multi-agent-systems'.
        date_from: Optional ISO date lower bound.
        date_to: Optional ISO date upper bound.
        has_code_only: Restrict to papers with confirmed code signal.
        limit: Max results (default 20, max 50).
    
```

### `arxiv_track_trend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
Research volume for one stable track by month, quarter or year.
```

## Only reads (5)

Looks things up and changes nothing. Claude Code: allow.

### `arxiv_get_paper`

- The name "arxiv_get_paper" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text

    Full paper object with all connected data.

    Returns: paper metadata, author list with positions, matched entities,
    references (up to 100), and linked GitHub repos.

    Args:
        arxiv_id: ArXiv ID, e.g. '2402.01234' or '2402.01234v2'
    
```

### `arxiv_pipeline_status`

- The name "arxiv_pipeline_status" says "status": a word for reading.

Description, as the server wrote it:

```untrusted-server-text

    Full system status — database counts, pipeline progress, frontier, quality.

    Returns:
    - Paper/author/entity/ref/repo counts
    - Pipeline progress: html_fetched %, whitelist_matched %, llm_processed %
    - Frontier: how far back the backfill has reached
    - Quality report: last run timestamp and overall status
    - Quality log: last 5 quality check runs from quality_log table
    
```

### `arxiv_search_papers`

- The name "arxiv_search_papers" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text

    Full-text search over the live cs.AI/ML paper graph using FTS5.

    Searches title AND abstract. Supports boolean operators:
      AND, OR, NOT, phrase matching ("exact phrase"), prefix (term*).

    Args:
        query:         FTS5 search query. E.g. 'LoRA fine-tuning', '"chain of thought"', 'RLHF NOT PPO'
        category:      Filter by primary category. Options: cs.AI, cs.LG, cs.CL, cs.CV, cs.RO
        date_from:     ISO date filter, e.g. '2024-01-01'
        date_to:       ISO date filter, e.g. '2025-12-31'
        empirical_only: Only papers marked as empirical by LLM pass (if available)
        has_code_only:  Only papers with code release (llm_has_code=1, if available)
        limit:         Max results (default: 20, max: 50)
    
```

### `arxiv_tracks`

- The description's first verb is "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
List stable ArXiv research-track objects with definitions and live counts.
```

### `get_related_intelligence`

- The name "get_related_intelligence" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text

    Live cs.AI/ML/CL/CV/RO paper graph. FTS5 + resolved ArXiv citation links.
    Use for: arxiv_search_papers("LoRA fine-tuning", has_code_only=True)
    → Related verticals worth connecting:
      AI News (mcp.brunosan.de/mcp) — industry reaction to papers
      Robotics (robotics.mcp.brunosan.de/mcp) — applied robotics papers (cs.RO)
      Quantum (quantum.mcp.brunosan.de/mcp) — quant-ph research depth
      Biotech (biotech.mcp.brunosan.de/mcp) — bio-ML and drug discovery papers
    
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `arxiv`:

```json
{
  "permissions": {
    "allow": [
      "mcp__arxiv__arxiv_search_papers",
      "mcp__arxiv__arxiv_get_paper",
      "mcp__arxiv__arxiv_tracks",
      "mcp__arxiv__arxiv_pipeline_status",
      "mcp__arxiv__get_related_intelligence"
    ],
    "ask": [
      "mcp__arxiv__arxiv_top_entities",
      "mcp__arxiv__arxiv_entity_trend",
      "mcp__arxiv__arxiv_top_authors",
      "mcp__arxiv__arxiv_author_papers",
      "mcp__arxiv__arxiv_most_cited",
      "mcp__arxiv__arxiv_citation_network",
      "mcp__arxiv__arxiv_co_occurrence",
      "mcp__arxiv__arxiv_institution_ranking",
      "mcp__arxiv__arxiv_repo_landscape",
      "mcp__arxiv__arxiv_track_papers",
      "mcp__arxiv__arxiv_track_trend"
    ],
    "deny": []
  }
}
```
