Skip to content
arXivv
Esc
↑↓navigate↵open⌘Jpreview
On this page

MCP server

A stateless MCP server at https://mcp.arxivv.org/mcp (also https://arxivv.org/mcp) with seven tools for reading papers by anchor.

arXivv runs a Model Context Protocol server built on the document tree.

Property Value
Endpoint https://mcp.arxivv.org/mcp
Alias https://arxivv.org/mcp, proxied to the endpoint above
Transport Streamable HTTP, JSON responses
Sessions Stateless: every call stands alone
Auth None
Tools All read-only
Rate limit Requests through arxivv.org/mcp share the HTTP rate limit

Connect

{
  "mcpServers": {
    "arxivv": {
      "type": "http",
      "url": "https://mcp.arxivv.org/mcp"
    }
  }
}

With Claude Code:

claude mcp add --transport http arxivv https://mcp.arxivv.org/mcp

Tools

paper is any paper reference: 1706.03762, 1706.03762v7 or hep-th/9901001. Without a version, the latest is used.

Tool Input Output
outline { paper, wait? } Outline as JSON
read { paper, anchor, maxTokens? } One section’s Markdown, heading included
cite { paper, anchor } { text, url, anchor }: plain text of one paragraph or section, its section URL and resolved id
references { paper, id? } { idv, references: Reference[] }, or one Reference when id is given
figure { paper, anchor } FigureJson, or TableJson for a table
equation { paper, anchor } { id, number, latex }; number is null when the equation is unnumbered
search_paper { paper, query, limit? } [{ anchor, sectionId, snippet }]: the best-matching paragraphs

Arguments

Tool Argument Accepts
outline wait Integer 0–60: seconds to wait for inferred fields, as Prefer: wait=N. See first request
read anchor Section id (S3.SS2), alias (S3.2), A1 or a title slug (introduction)
read maxTokens Integer 100–100000, default 8000 (chars/4)
cite anchor Paragraph id (S3.SS2.p3) or section id, alias or slug
references id Reference id (bib.bib12) or printed number (12 or [12])
figure anchor Figure id (S3.F1) or F<n>; table id (S6.T2) or T<n>
equation anchor Equation id (S3.E1) or E<n>
search_paper query Words to look for, e.g. label smoothing
search_paper limit Integer 1–50, default 5

Behaviour

  • read truncation: output longer than maxTokens × 4 characters is cut and ends with …[truncated: N more tokens; fetch /1706.03762v7/sections/S3.2.md].
  • cite URL: url is https://arxivv.org/<idv>/sections/<sectionId>.md, where <idv> is the resolved version and <sectionId> the enclosing section’s id. anchor is the cited node’s id. For example, S3.SS2.p1 returns url: "https://arxivv.org/1706.03762v7/sections/S3.SS2.md" and anchor: "S3.SS2.p1". The Markdown has no in-page anchors, so the URL carries no fragment.
  • figure resolves tables too: T<n> and table ids return a TableJson with its cells.
  • search_paper ranking: the query is split on whitespace into lowercase terms. Paragraphs that contain more distinct terms rank first, then those with more total occurrences. Each snippet is about 150 characters either side of the first match. It searches one paper, by substring; it is not semantic.
  • Errors: a failed call returns isError: true with text such as not-found: Unknown paper 1706.99999 (the HTTP error code and detail).

Typical flow

  1. outline({ paper: "1706.03762" }): title, TL;DR, contributions and the section tree with token counts.
  2. read({ paper: "1706.03762", anchor: "S3.2" }): only the section you need.
  3. search_paper({ paper: "1706.03762", query: "label smoothing" }): find paragraph anchors.
  4. cite({ paper: "1706.03762", anchor: "S3.SS2.p1" }): exact text plus a stable URL to quote.
  5. figure({ paper: "1706.03762", anchor: "F1" }) or equation({ paper: "1706.03762", anchor: "E1" }) as needed.

A typical question costs ~3K tokens this way, against ~15K for the full paper.

Example

{
  "method": "tools/call",
  "params": {
    "name": "equation",
    "arguments": { "paper": "1706.03762", "anchor": "E1" }
  }
}
{
  "id": "S3.E1",
  "number": "1",
  "latex": "\\mathrm{Attention}(Q,K,V)=\\mathrm{softmax}\\left(\\frac{QK^{T}}{\\sqrt{d_{k}}}\\right)V"
}

Tool outputs follow schema 1.

Was this page helpful?